Commit graph

318 commits

Author SHA1 Message Date
0a2d00a25f ja-surprise-certainty: ja-JP:9 reworded so its question ending is available, not prescribed (#60) 2026-11-12 20:27:19 +00:00
ccef7a761f en-us-seed-pairs: en-US :3/:5/:6 made disjoint by conditions, shared sweep helper (#59) 2026-11-12 20:18:45 +00:00
981ad0ea1f ja-seed-pairs: ja-JP :5/:7/:8 get certainty and restraint bounds (AtMostOrUnset) so the seed pairs never co-select (#58) 2026-11-12 19:52:14 +00:00
40469430b9 ja-withdraw-scene-entries: withdraw onto:ja-JP:14 and :15 (net-negative on register in the paired measure) (#57) 2026-11-12 19:17:39 +00:00
07c2755b95 ja-item19: encoder prompt states one role per predication and the group shape for coordination (#56) 2026-11-12 18:48:40 +00:00
f1f508e159 ja-inventory-6: rev 6 concepts (try, someday, a little, as one pleases, kite flyer) and the admit-cap test (#55) 2026-11-12 18:27:34 +00:00
7babf8aadc ja-inventory: rev 5 concepts and frames for the original bed (model-drafted, Validation-informed), weksa inventory admit, onto:ja-JP:15 (#54) 2026-11-12 18:08:04 +00:00
002d3186c3 Merge pull request 'language-ontology-scene: scene features, one scene door, Scene-conditioned ja/en entries, runs read entries at their own head' (#53) from weksa-lowering/language-ontology-scene into main 2026-11-12 17:22:09 +00:00
Weksa
139fa94b29 language-ontology-scene r2: a run reads entries and scenes at its own head, default bed is seed+proof+scene rev 3 (no Dao), politeness keyword guard replaced by model readings, nine seed entries reworded
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 17:11:57 +00:00
Weksa
71b9d0e055 language-ontology-scene fix: default bed carries rev 3-4, scene entries never co-select in a layer, en-US:8 names no register, keeper rank re-derived from situation, README and doc true
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 16:48:52 +00:00
Weksa
31a0c2406e language-ontology-scene s7: 56 model-annotated keeper scenes and Scene-conditioned ontology entries (ja-JP:10-14, en-US:10-13) at inventory rev 4
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 16:33:36 +00:00
Weksa
966a3678a7 language-ontology-scene s3-6: inventory rev 4 in both beds, empty speaker-state stores committed, scene tests, original corpus checks, lowering map
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 16:31:55 +00:00
Weksa
f7f4e58d78 language-ontology-scene s1-2: the run pins the speaker-state store, assembled is the one scene door, select reads slot Scene, Prompt::lower refuses an unread scene, weksa scene put|dump, speaker_scene_revision(n)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 16:27:13 +00:00
3cc06693fb Merge pull request 'language-ontology-seed: model-drafted en-US and ja-JP seed entries; target-language YAML deleted' (#52) from weksa-lowering/language-ontology-seed into main 2026-11-12 16:12:59 +00:00
Weksa
e8ba0f2eae language-ontology-seed fix s4: ja-JP:6 bans ne-softening and hedges only; front door and lowering docs stop naming a target-language profile as register owner
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 16:09:36 +00:00
Weksa
dc5e649851 language-ontology-seed fix s3: ja-JP:3 and :6 name no politeness level; README claim made true; schema clause dropped
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 15:44:08 +00:00
Weksa
79fcc313ed language-ontology-seed fix s2: neutral ja-JP:1 (no politeness per line), entry text defects, drafter residue out of the seed and score vectors, front-door and schema/tex prose
ontology.cc regenerated by weksa ontology admit, 9+9 entries, same generator string.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 15:39:48 +00:00
Weksa
fc99652f13 language-ontology-seed fix s1: rebuild the seed as 9+9 entries that read only stance and discourse and make true claims; pin the generator exactly; drop deleted store paths from the tex and schema; README says nothing grows the seed yet
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>
2026-11-12 15:29:11 +00:00
Weksa
6f14b00090 language-ontology-seed: model-drafted en-US and ja-JP seed entries; the target-language YAML, its typed copy and their schema prose deleted
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>
2026-11-12 15:17:36 +00:00
0911c0198c Merge pull request 'language-ontology: weksa.ontology_entry, its store, select, wired into the lowering prompt' (#51) from weksa-lowering/language-ontology into main 2026-11-12 15:12:14 +00:00
Weksa
e46f933268 One language-tag owner: is_language_tag is canonical-case; tests for the case arms and Hangul fillers; leak-owner doc
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 14:51:31 +00:00
Weksa
602f7c2cd5 Ontology fix pass s1: refuse format and separator characters, canonical-case language, entries on retired features; kill six surviving mutants; two-language round test
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 14:31:35 +00:00
Weksa
cd435e2a48 Ontology tests: select, admit rules, prompt section, run pin, round prompts, draft door, CLI
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 14:14:44 +00:00
Weksa
0ea07d21fa Ontology entries per language, selected inside Prompt::lower and pinned by the run
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>
2026-11-12 14:11:51 +00:00
Weksa
598cbf62d6 Map: cut 5 language-ontology specced as ontology store and seed cuts
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 14:06:16 +00:00
d9ebbcf889 Merge pull request 'ja-panel-corpus: 28 model-written Japanese passages and 8 Aozora Bunko Test sentences' (#50) from weksa-lowering/ja-panel-corpus into main 2026-11-12 13:52:36 +00:00
Weksa
20863615b3 data/original: ja passages replaced, none a rendering of an en-US original or a Dao line
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>
2026-11-12 13:51:06 +00:00
Weksa
e30ee3886a data/original: ja passages rewritten onto the Dao r3 concepts; ja Test sentences pinned verbatim
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>
2026-11-12 13:51:06 +00:00
Weksa
4dbaef9437 data/original: ja-JP slice, 28 model-written Japanese passages and 8 Aozora Bunko Test sentences
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>
2026-11-12 13:51:06 +00:00
9f203a5604 Merge pull request 'ja-panel-loop: language is the item's, the panel the run's; panel accept rule' (#49) from weksa-lowering/ja-panel-loop into main 2026-11-12 13:51:04 +00:00
Weksa
a1c1d9d599 Map: the regression test runs per language; decide adds the gain test for one language
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 13:50:48 +00:00
Weksa
f05906b1f7 Pin the panel sum rule's liveness, fix stale Ladder docs, name the composite verdict in the map record column
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 13:34:48 +00:00
Weksa
edb7fff339 Accept rule: composite tolerance back in the one regression test, panel accepts on a composite sum past one step; bound 1.5 L / LADDER_STEP
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 13:25:36 +00:00
Weksa
379c69eb06 decide owns the composite rule: no composite falls, non-finite readings fail closed; decide_panel only aggregates
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 13:11:22 +00:00
Weksa
14e94d4cb8 decide_panel rejects a composite fall past its floor; pin cycle floors, ablation, offer, recall and the ja-JP no-text check; drop the redundant tag branch
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 12:58:09 +00:00
Weksa
21eaa078d8 Dao test-bed doc: corpus add names its language
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 12:35:02 +00:00
Weksa
9e4486b789 Panel tests: each item lowers in its own language, per-language means, floors and feedback, bad panels, unspaced recall
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 12:34:53 +00:00
Weksa
3e4b035be6 Loop tests follow the panel: en-US panel in every fixture run, per-language reads, recall at word boundaries
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 12:29:23 +00:00
Weksa
167ce83cfc Loop: lower each item in its own language, read and decide Validation per panel language
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>
2026-11-12 12:22:26 +00:00
Weksa
b83929d4d2 Map: cut 9 ja-panel specced as ja-panel-loop and ja-panel-corpus; panel rows in Loop round and decision
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-12 12:16:19 +00:00
e9cbd9bbfd Merge pull request 'Lows: show-working allowlist and Display, edition_year meaning' (#48) from weksa/lows-remaining into main 2026-11-12 09:46:55 +00:00
Weksa
ff3261a50f Lows: show-working publishes by allowlist and prints Display, edition_year says first appearance
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>
2026-11-12 09:46:50 +00:00
4298edf984 Merge pull request 'Encode prompt: participants are node ids, never an entity id' (#47) from weksa-lowering/encode-participants into main 2026-11-10 19:28:04 +00:00
Weksa
707e0204bf Encode prompt: participants are node ids, never an entity id
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>
2026-11-10 19:27:48 +00:00
4cbd46d12c Merge pull request 'Stance ablation beside recall; lowering prompt pinned to the stance; grade scale stated' (#46) from weksa-lowering/stance-to-lowerer into main 2026-11-10 19:26:56 +00:00
Weksa
e8a9bbc5ab Ablation reads none for an empty set, pins its line, names a missing round answer
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>
2026-11-10 19:01:24 +00:00
2d65239cbc Merge pull request 'data/original gets a Test split: 8 public-domain excerpts with full provenance (ModelWritten stays out of Test)' (#45) from weksa-lowering/corpus-test-holdout into main 2026-11-10 18:51:29 +00:00
Weksa
00feb1d310 Lowering brief states the grade scale
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>
2026-11-10 18:28:14 +00:00
Weksa
633bf831dc Pin that the lowering prompt moves with the stance alone
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>
2026-11-10 18:27:23 +00:00
Weksa
e0e3c93d97 Stance ablation: replay, drop and permute a packet's stance beside recall
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>
2026-11-10 18:26:31 +00:00