ontology.cc is rebuilt from nothing (the branch is unmerged); no entry carries
over unchanged in number or text.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Entries are Annotator::Model (Anthropic), inventory revision 1, drafted from the
YAML and standard references, not from any corpus text. pt-BR profiles are
deleted unconverted. Citations name data/ontology/ontology.cc.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
OntologyEntry, OntologyStore::admit, ontology::select over the view's stance and discourse, OntologyDraft, run keys 15 and 16 with Drift(Ontology), weksa ontology admit and dump.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
All 28 Train/Validation ja passages are new Japanese sentences on the inventory's
concepts with their own imagery (paddies, charcoal, kites, the bath, the market); none
renders an en-US original, and none restates a data/daodejing line (ch3, 5, 7, 8, 78) or
other canon (the old ones on 'true words', 'long-enduring', 'bellows', 'water vs hard
things' are gone). corpus.cc restored from 21eaa07 and rebuilt through weksa corpus add:
numbering 1..28 unbroken, holdout-ja:1..8 and original:1..28 byte-identical.
The concept test now matches Japanese by multi-character surface and English by word
stem, strips false friends (天気, 心配, 腹が立つ, 水曜 ...), and has a negative test.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The 28 Train/Validation ja passages are new Japanese sentences on the concepts the
pinned inventory holds (water, mind, belly, bone, sage, will, heaven, earth, fill, empty,
weaken, strengthen, compare, resemble ...), written in Japanese idiom, not translated.
The branch was unmerged, so corpus.cc was restored to 21eaa07 and rebuilt through
weksa corpus add; holdout-ja:1..8 and original:1..28 come out byte-identical.
Tests: the eight ja Test texts, groups, speakers, split and edition URLs are literal
expectations; every passage of both languages rests on a live inventory concept
(en 28/28, 18 concepts; ja 28/28, 21 concepts).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Train and Validation (14 each) are Japanese passages written in Japanese, ModelWritten
Anthropic, generator claude-sonnet-5-5; none sits in a Test group. Test is eight
one-sentence excerpts (Soseki, Kyoka, Akutagawa, Ogai, Arishima, Kenji, Kajii, Kunikida)
taken from the card ruby zips (cp932, ruby and the pipe marker dropped, NFC) and checked
verbatim against each card's XHTML file; licence strings keep 底本, 入力 and 校正 within
the store's 200-byte cap. Entities appended (keeper gains 番人; eight pd-* authors).
Items 1..28 and holdout:1..8 unchanged (digest pinned). Tests per language: counts,
provenance, Test public-domain only, no markup, panel round reads both languages, speaker
forms, recall 56, no Test text in any prompt.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Prompt::lower takes the language; RunRecord carries the panel; RoundRecord and
Decision hold per-language readings (pooled keys retired); decide_panel is
Pareto non-regression over decide(); recall splits at UAX #29 word bounds.
Integration tests follow in the next commit.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The split guard failed open on any new split name; it now allows Train and
split-less items only. The page printed Debug of Refusal/StoreError and the
EntityRead store message; it prints Display and a fixed line. edition_year
held the first-appearance year of the work or translation, not the page read:
the doc comment and published schema say so.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Both bad-form refusals in orig-5 put the speaker entity (entity:keeper) in
context.participants. One sentence, pinned by a plain test; no new rule.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Soul s1 findings: an empty mean printed 0.00 beside n=0 (now Option, printed
none, like SplitMean); the printed line and whole ablate output are pinned by
exact string, with drop and permute each carrying their own n; a missing
recorded round answer is RunError::Unrecorded and says the prompt digest
drifted or the head inventory moved, not that a store would not read; the
unusable count is pinned for variant and item sides.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
LOWER_INSTRUCTIONS gains 'a grade is permille, 0 to 1000' (the encode brief
already states it). The pinned lowering test requires the sentence and asserts
the item's speaker entity id and group are in no prompt text.
This edits context.rs, a PROMPT_SOURCE_DIGEST input: the digest moves and runs
opened before this commit stop opening; open a fresh run to ablate under the
new brief.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
One dao packet admitted with its own stance, an anger-and-restraint stance and
none: three digests, each packet line ending in exactly that stance's JSON, the
rest of the text byte-equal, the stance features glossed in the one inventory
listing. No prompt change; the lowerer already reads the stance.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
RecordedAnswers is the one reader of <digest>.answer files (AnswerFiles reads
through it). RunStores::stance_ablation asks a fresh lowerer the round's own
lowering prompt again (replay), with the stance emptied (drop) and with the
next item's stance in its split (permute), for live Train and Validation
packets only, and reads how far the lowering moves and what the item's own
stance adds to fidelity. A diagnostic in <root>/ablation-<n>: records nothing,
never writes round-<n>. `weksa loop ablate <root> --round n`; exits 3 until
answered. Touches no pinned prompt-source file.
The source tripwire now allows the ablation as a second Prompt::lower call site.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>