Checkpoint gate: Test readings need a Checkpoint nobody outside tests can declare; fixed instructions; context lows #27

Merged
weksa merged 6 commits from weksa-lowering/checkpoint-gate into main 2026-11-10 03:05:14 +00:00

2026-11-10

Weksa
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
Map: say what the Checkpoint gate guards (7a)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 02:59:40 +00:00
Weksa
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
Map: checkpoint-gate lines (7a, 7, 11)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 02:43:36 +00:00
Weksa
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
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