Commit graph Weksa/crates/weksa/src/split.rs
Author SHA1 Message Date
Weksa
de46ced9ea Round lows 2: length-framed prompt source digest, refused create takes its lock, Prompts drift text, window pins for entities and head, one-write asserts Accepted
Recorded prompt digests change with the framing (they drift by design).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 08:40:35 +00:00
Weksa
c1c19cc848 Run pins: prompt digest covers split.rs; stores are re-pinned after they open, so digest and open cannot straddle a change
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 08:22:12 +00:00
Weksa
e7b4d9a68b RunStores is the one public producer of TrainItems and EncoderOffer: a run pins its corpus and entity stores by digest
TrainItems::from_corpus and EncoderOffer::for_round become pub(crate). RunStores
(run.rs) creates a run over three stores, records their canonical paths and
FNV-1a 64 digests plus the prompt and lowerer source digests in run.cc, and
reopens only from that record, refusing on drift. RunRecord and RoundRecord are
published CultCache types. tests/context.rs and the context.rs doctests move to
RunStores; the two mutated-clone gate cases become a unit test.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 03:45:49 +00:00
Weksa
62059337a3 Door scan: say it is a line-based tripwire and what it misses
Docs only; no behaviour change.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 03:04:48 +00:00
Weksa
43f2e118f2 Checkpoint: offers borrow it; door pinned by source shape; doc states the real guard
EncoderOffer<'cp> borrows its Checkpoint so a Test offer cannot be encoded
after the reading spends it. tests/checkpoint_door.rs scans split.rs for any
public minting item under any name. The split.rs doc says operator tools read
corpus text and the guarded invariant is the round path.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 02:59:11 +00:00
Weksa
d5b11088ad Checkpoint offers each item once; prior turns print the held Train text
for_checkpoint takes &mut Checkpoint and refuses a repeated key
(OfferedAtCheckpoint) after the gate; TrainItems::held replaces holds and block
prints the matched Train item's text; the text-key fold is pinned against the
store's own S6 refusal.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 02:43:31 +00:00
Weksa
469e46cbc5 Cut: Checkpoint has no public constructor; instruction text is consts
Checkpoint::declare becomes cfg(test) for_test; Checkpoint-using tests move
into src unit tests over split::fixture; Prompt::mint and encode lose the
instructions parameter (MINT_INSTRUCTIONS, ENCODE_INSTRUCTIONS in context.rs).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 02:42:02 +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
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