Concepts¶
Sources¶
A source is one CoNLL-U file loaded into the corpus store under a name. On
the command line a source is written as [NAME=]PATH[:MODE[:CONFIDENCE]]:
Spec |
Meaning |
|---|---|
|
read-only source named |
|
read-only source named |
|
writable source named |
|
read-only, but its cells only count as 0.8 confident |
Read-only (
ro) sources hold trusted examples. Their cells default to confidence 1.0. Any attempt to edit them is refused by the store itself, so no client (agent, Claude Desktop or script) can change them.Writable (
rw) sources hold predictions. Their cells default to confidence 0.0 until something scores them.
Tagset tools (allowed_values, feature_inventory) and the “unseen value”
validation warnings count only the read-only sources, so predictions never
define what is allowed.
Confidence¶
Every word cell in FORM, LEMMA, UPOS, XPOS, FEATS, HEAD, DEPREL and DEPS has a
confidence between 0 and 1. It is stored in the MISC column as one Conf
attribute:
5 mercado mercado NOUN NCMS000 Gender=Masc|Number=Sing 1 obl _ SpaceAfter=No|Conf=lemma:0.95,upos:0.98,head:0.60
formstands for segmentation: how sure we are that this word is correctly split off.A column without a score has the source’s default confidence.
Setting a value without a confidence clears that column’s score. An old score must not vouch for a new value.
Editing MISC directly never changes
Conf; scores change only through the confidence API.
Search results are ordered by confidence and accept min_confidence. This is
how agents can use earlier, well-settled predictions as evidence alongside the
training data.
Review flags¶
Any agent (or person) can raise a flag on a word or a whole sentence for a
column: “the lemma of word 3 looks wrong; suggest dog”. The agent responsible
for that column sees the flag in its next task and closes it as resolved
(changed something) or dismissed (no change needed, with a note). Flags are
stored next to the prediction file in <file>.review.json.
Changing the segmentation of a sentence (splitting, merging, inserting or deleting words) automatically raises a sentence-level flag for HEAD, because the tree almost always needs another look.
History¶
Every change to a writable source is appended to <file>.history.jsonl: the
old and new value, the confidence, the reason given, the agent and the round.
get_history reads it back, filtered by sentence or word.
Segmentation edits¶
Splitting a word (split_word), merging words (merge_words), inserting or
deleting a word, and adding or removing multiword tokens all renumber the
sentence. HEAD and DEPS are rewritten to follow the words:
the dependents of a split word attach to the piece that keeps its head;
the dependents of merged words attach to the merged word;
the dependents of a deleted word attach to its head.
Multiword ranges and empty nodes are kept consistent too. Each result includes
an id_map from old to new ids, and open flags on the sentence are remapped
automatically.
Saving and conflicts¶
Writable sources are saved after every edit, using an atomic rename. If the
file changes on disk underneath the store (for example, Claude Desktop and a
mcparser run editing the same file), the next save is refused with a
conflict error rather than overwriting the other change. Call reload to pick
up the file’s current state.