diff --git a/crates/weksa/src/context.rs b/crates/weksa/src/context.rs index 98dfe7f..de2ff8f 100644 --- a/crates/weksa/src/context.rs +++ b/crates/weksa/src/context.rs @@ -35,9 +35,10 @@ use serde::Serialize; use crate::corpus::{CorpusItem, CorpusItemId}; use crate::inventory::{Inventory, InventoryEntry, OptionLabel, Slot, ValueKind}; use crate::lower::{EntityForms, LowerError, entity}; -use crate::ontology::{Ontology, select}; +use crate::encode::{EntryOntologyDraft, OntologyDraft}; +use crate::ontology::{Condition, Layer, Ontology, Test, select}; use crate::packet::{ - Context, Discourse, EntityId, Extension, Predication, Referent, Relation, Stance, + Context, Discourse, EntityId, Extension, FeatValue, Grade, Predication, Referent, Relation, Stance, }; use crate::run::LADDER_STEP; use crate::split::{Checkpoint, Split, SplitScheme, fnv1a64, hex16}; @@ -92,7 +93,7 @@ Answer with one JSON object and nothing else: {\"text\": \"...\"}, the continuat pub const MINT_ONTOLOGY_INSTRUCTIONS: &str = "\ Below are lines written in one language (the language line), the features an ontology condition may test, and the entries that language's ontology already has. Draft new entries: choices this language's culture makes, for a speaker in a stance and scene, about word, grammar, discourse, sound or script, that the lines show. Answer with one JSON object and nothing else: {\"entries\": [{\"layer\": \"...\", \"when\": [...], \"choice\": \"...\", \"examples\": [...]}]}. No code fence, no commentary. -Give 1 to 8 entries. layer is one of lexicon, grammar, discourse, phonology, orthography. when holds at most 4 conditions, each {\"slot\": \"Stance\" | \"Discourse\" | \"Scene\", \"feature\": \"\", \"test\": {\"AtLeast\": } | {\"AtMost\": } | {\"AtMostOrUnset\": } | {\"Is\": }}, over the listed feature ids only; when may be empty when a choice holds for every line of the language. choice states a pattern the lines show, in at most 200 bytes, without quoting a line. examples are original short phrases of the language, never copied from the lines below, at most 3."; +Give 1 to 8 entries. layer is exactly one of Lexicon, Grammar, Discourse, Phonology, Orthography. when holds at most 4 conditions, each {\"slot\": \"Stance\" | \"Discourse\" | \"Scene\", \"feature\": \"\", \"test\": ...}, where is the id printed before the colon of a listed feature (\"feature:10\", never its name) and its slot is one that feature lists. test is {\"AtLeast\": }, {\"AtMost\": } or {\"AtMostOrUnset\": } on a grade feature, or {\"Is\": {\"Option\": \"