Commit graph Weksa/crates
Author SHA1 Message Date
Weksa
35b32b9639 Prior turns print only text a live Train item of the group holds; pin the Train union against withdrawn items
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 02:23:29 +00:00
Weksa
c1d530ccea context tests: pin TrainItems len and is_empty and the empty mint
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 02:08:45 +00:00
Weksa
3bd4a37645 context module: TrainItems, EncoderOffer and Prompt are the only road from corpus text to a model call
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 01:57:40 +00:00
Weksa
a6dd52774a Checkpoint and TestReadings: Test is read only at a declared checkpoint, scalars only
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 01:56:29 +00:00
Weksa
ce0208f0d0 Read every split by SplitScheme::live; CorpusItem::cited_entities owns the cited id set
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 01:55:55 +00:00
Weksa
45071fe346 Delete Aggregate.test and LeakDiagnostic: the round path reads no Test
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 01:54:47 +00:00
Weksa
a59d0a5e3c S6 key: drop the dot above i before the last NFKC so following marks compose; test the guard with j (Soul s22)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 11:15:46 +00:00
Weksa
85e11bf52a Merge remote-tracking branch 'origin/main' into weksa-lowering/residue-s6 2026-11-09 11:15:03 +00:00
Weksa
169647ba9c Merge remote-tracking branch 'origin/main' into weksa-lowering/residue-echo 2026-11-09 11:14:41 +00:00
Weksa
d933a3942a Delete clap rewrite arms no CLI flag can reach (Soul s21 low)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 11:14:26 +00:00
Weksa
461f4f8126 Error text stops echoing identifiers: fixed Display for LowerError and Refusal, clap unknown-argument/subcommand rewrite, pronunciation-language echo pinned
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 11:11:12 +00:00
Weksa
8c94838c30 S6 key: voiced katakana ヷ-ヺ fold, dot above after i drops (İx = i̇x); marks-only text gets the base-letter reason first
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 11:10:23 +00:00
Weksa
a300a1ce9e Test: the asker is the role glossed agent, not the first role (kills request_gate survivor)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 11:09:46 +00:00
Weksa
3a56d3180f Tests: pin the 100-year rule, day 0, ASCII-only digits in dates, and the ヶ fold (Soul s19 survivors)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 11:03:58 +00:00
Weksa
2ce6325b70 Test: pin the modifier-letter table to the toolchain's Unicode version
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 10:44:53 +00:00
Weksa
3cf499dbd4 Merge remote-tracking branch 'origin/main' into weksa-lowering/corpus-intake-lows-2 2026-11-09 10:43:04 +00:00
Weksa
453b3d6c2f Corpus intake lows: S6 folds dotless i, kana and Arabic-Indic digits; CLI errors stop echoing identifiers; --admitted-on is a calendar date; marks-only texts refused
FormError and StoreRefusal display no caller identifiers; clap value errors name the flag and reason only. One is_calendar_date serves admitted_on and the pronunciation date. A text with no base letter or digit (Lm or M only) is refused beside the no-alphanumeric refusal; modifier_letters.txt is the Lm table its test walks.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 10:42:48 +00:00
Weksa
34ce2dc413 Merge origin/main (fd18056, phones line) into weksa/dao-de-jing-test-bed
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 10:19:37 +00:00
Weksa
8a78761a7a Merge origin/main (2308b91) into weksa/dao-de-jing-test-bed
Main's proof revision owns concept:6 and frame:3; Dao ids renumbered to
start at concept:7 and frame:4 (daodejing.rs, lower.rs rows).
data/daodejing inventory.cc and packets.cc regenerated with weksa inventory
seed/proof/dao and weksa packet dao.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 10:16:22 +00:00
Weksa
9ab3274af1 Merge origin/main into weksa/dao-de-jing-test-bed
lower.rs: keep main's frame:2 (agent will stop patient), keep PR frames 3-7.
daodejing.rs: Discourse gains addressee_consent (packet schema v5).
tests/daodejing.rs: lower takes the entity port.
data/daodejing/packets.cc regenerated with weksa packet dao.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 10:15:10 +00:00
Weksa
0ca9b5ebfe Merge main into phones-line (keeps both LowerError sets and both test groups)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 10:13:36 +00:00
Weksa
53e54148e0 Test: consent to one of two requests leaves the other unconsented (Soul low)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 10:12:01 +00:00
Weksa
0bf9499ac0 Lower 'You asked Nibu to stop.' behind addressee consent: request concept and frame:3, consent gate in the lowerer
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 10:07:52 +00:00
2a46b067d9 Merge pull request 'Packet carries an addressee-consent fact (schema v5, V14, V15)' (#14) from weksa-packet/addressee-consent into main 2026-11-09 09:11:54 +00:00
Weksa
5e2a4a0ebb Scorer coverage: words break at any non-word character, unspaced scripts read by run; near-miss chrF pairs per script
Soul scorer s3 Lows. words.rs no longer lists separators (_ and .) or defers to UAX #29, which splits Han, kana and Thai per character and made honest single-word glosses read as an n>=2 leak. A word is a run of letters, digits, marks and ZWNJ/ZWJ; a run of Han, kana, Thai, Lao, Khmer or Burmese is one word. Tests pin separators, marks, joiners, NFC, every range edge, and five sacrebleu 2.4.3 near-miss pairs (Ko, Tr, Fi, Th vowel-strip, Ja). 40 hand mutants killed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-09 07:47:17 +00:00
Weksa
5508000d21 Phone inventory, segmenter and weksa lower --phones
data/phonology/en-US.phones.tsv lists the phones (tense/lax a column); the
segmenter splits ruled IPA into {ipa, stress} by longest inventory match and
refuses a symbol it does not list (LowerError::UnknownPhone) or a stress mark
with no vowel (DanglingStress). No durations, pitch or acoustics.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-08 01:04:03 +00:00
Weksa
81572b1a54 Packet carries an addressee-consent fact (schema v5, V14, V15)
Discourse.addressee_consent names the predication the addressee asked for or
agreed to. V4 checks it resolves, V14 needs an addressee and a predication,
V15 allows only Authored or GameTelemetry sources. The English lowerer renders
no consent and refuses a packet carrying one.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 22:04:59 +00:00
Weksa
e7a3406b89 Entity forms carry a ruled pronunciation; lower --ipa emits it
LanguageForms gains an optional Pronunciation: bare stress-marked IPA, ruled_by,
date, source and a rejected list. The store checks its shape and freezes a
ruling once set. pronounce() and `weksa lower --ipa` print the stored IPA of each
cited entity and refuse with NoPronunciation / NoEntityReferent; rejected
variants are never read. Nibu is the first entry: ˈnibu, rejected ˈnɪbu.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 12:04:41 +00:00
Weksa
02e376f126 Proof line in Nibu's voice: the intervention frame says "will stop", no purpose clause
Nibu ruled "Nibu will prevent that to protect you." is not her voice. The
intervention row is now "{agent} will stop {patient}" and the proof packet no
longer fills the beneficiary role; a packet that does is refused as a role the
frame does not name, so a purpose is never silently dropped.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 10:00:41 +00:00
Weksa
3f644c138e Lowerer reads entity forms: a referent that cites an entity lowers to its en-US citation form
lower() takes an EntityForms port (one entity by id; EntityStore implements it).
A referent with an entity renders as the first form stored under en-US, verbatim
and never re-cased at a clause start; the addressee stays "you". An entity the
port lacks, one with no en-US form, or a port read fault is refused by name.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 09:58:21 +00:00
Weksa
5eb58c3100 Dao De Jing test bed: PublicDomain provenance fields, Legge slice, first golf-loop number
Source::PublicDomain now requires licence, jurisdiction, translator and
edition_year; the store refuses an item missing any. data/daodejing holds
five Legge items (Gutenberg 216, no Gutenberg matter stored), inventory
revision 3, five packets with stance, and the lowerer rows to render them.
docs/targets/dao-de-jing-test-bed.md reports the first closeness number and
what the scorer cannot see.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 02:10:10 +00:00
Weksa
76b258df9c Scene PR review nits: V13 in rule list, stray doc line, comment placement
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 18:19:49 +00:00
Weksa
748aa083c0 Lowering input: the speaker's relation to the addressee (Scene slot, with_scene)
Slot::Scene, inventory revision 3 (relative_status, intimacy, in_group),
LoweringInput::with_scene validated like every feature list, V13 refuses a
relation without an addressee. Typed ids only; the English lowerer does not
render it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-06 11:25:01 +00:00
Weksa
c1b2778b15 Merge weksa-lowering/speaker-state into main; adapt the lowerer to admit-only LoweringInput
No textual conflict except data/interlingua/inventory.cc (binary): regenerated as
the branch's rev 1 (61 entries) plus `weksa inventory proof` (rev 2, 7 entries).
Semantic breaks fixed: proof_packet() carries an empty Stance; `weksa lower`
re-admits the stored packet (idempotent) because validate no longer returns the
view; tests/lower.rs builds views through PacketStore::admit; seed_reseeded
expects seed plus proof revision. AGENTS.md records the CARGO_HOME requirement
and the proof packet key.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 15:54:42 +00:00
Weksa
22eba3a106 lower: refuse role fills the frame does not name and referents no role mentions; header states what is and is not rendered (Soul pass on 3d851bf)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-02 18:27:18 +00:00
Weksa
3d851bf0e1 lowerer-first-cut: lower(&LoweringInput,&Inventory) by a fixed English table keyed by inventory ids; weksa lower, score, packet proof, inventory proof; inventory rev 2 and the nibu-proof-001 packet
Measured against the proof lowering: item:nibu:1 chrF 23.12 cosine 0.6313,
item:nibu:2 chrF 25.98 cosine 0.7245, item:brokkr:1 chrF 19.42 cosine 0.4516.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 08:29:38 +00:00
8d9c0270d1 entity-door-lows (2d): attested origins, every Cf refused in forms, bytes-only form bound, S6 under NFKC + case fold keeping marks, no-alnum texts refused, CLI flags and echoes (squash of weksa-lowering/entity-door-lows f1c9815..57dacf4; Soul s1, s2)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 18:44:02 +01:00
4fb817b18f validate: positive twin for the admissible compile_fail doctest
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 17:39:42 +01:00
ad02feeeb6 speaker-state: rev 1 now has 61 entries (stance features in, three display features out)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 17:38:51 +01:00
283678a58b speaker-state: reseed inventory rev 1, regenerate schemas (packet v4), fmt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 17:38:05 +01:00
86371d2ce4 speaker-state: packet stance (slot Stance), seed stance features, drop formality/warmth/intensity, admit is the only LoweringInput source, withdrawn items refused (WIP before regeneration)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 17:37:02 +01:00
869c82b686 scorer: chrF and meaning cosine of whole output against whole reference, no mask; Embedder port with Ollama adapter; pooled novel-n-gram leak diagnostics; aggregation by derived split (squash of weksa-lowering/scorer onto 20865ca, head 5689e62; spec r3, Soul s1-s3)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 17:17:46 +01:00
20865cac59 entity-store (2c): referents cite entity ids; typed entity store with bounded NFC forms per language; corpus name spans on grapheme boundaries; required CorpusItemId; packet schema v3 (squash of weksa-lowering/entity-store 29d671e..ea2c96c; Soul s1, s2)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 17:14:06 +01:00
c47e8e415d packet-store-corpus (2b): truthful corpus labels with ModelFamily and verbatim generator, whole-item S1, canonical keys, S6 no copy under a new key (squash of weksa-lowering/packet-store-corpus 491536c..f9258d5; Soul s1)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 14:34:00 +01:00
28284cc8db packet-store: weksa crate with typed packet, inventory and corpus stores, validator V1-V8 and V10-V12, derived split, published schemas and CLI (squash of weksa-lowering/packet-store 35fa979..c6190a6; spec r3, Soul s1-s4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 13:40:49 +01:00