vincent
|
b8d5e686c2
|
[Vincent] #19: Executable canon lifecycle validator with daily receipt fixtures
Builds on #13/PR #18 review. Makes canon lifecycle machine-checkable.
Deliverables:
1. Dependency-free canon_validator.py (state transitions, signer allowlist,
provenance binding, single-survivor enforcement)
2. 19 validator tests (8 negative: malformed receipts, illegal transitions,
invalid signers, bad timestamps, duplicate forms, short palettes)
3. Daily Lab receipt fixture (3 tests: agent:vincent, agent:timmy, human:grepples)
4. Full suite integration - 31 tests pass from clean checkout
5. .gitignore for bytecode, renamed slop-cannon → slop_cannon (Python import)
Closes #19
Refs: #5, #13, PR #12, PR #18
|
2026-08-14 14:10:09 -04:00 |
|
vincent
|
562d0cfa9e
|
[Vincent Review] #13: Replace weak canon lifecycle with structured audience choice and receipt schemas
Gap: Episode 04 cannot distinguish survivor from archive_ghost — canon.json
lacks lifecycle state, choice schema, or provenance binding.
Replace:
- Add form.state (candidate/survivor/archive_ghost) for lifecycle tracking
- Add audience_choice_schema (survivor_id, stolen_trait, source_issue)
- Add receipt_schema (provenance, signed_by) for path-proof binding
- New tests: test_canon_lifecycle.py (5 tests)
Acceptance: All 8 canon tests pass (3 original + 5 lifecycle).
|
2026-08-11 15:22:53 -04:00 |
|