stackchain-lab-loop/projects/slop_cannon/__init__.py
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

7 lines
176 B
Python

"""Cannon Chain project."""
import sys
from pathlib import Path
# Allow importing slop_cannon modules from the project root
sys.path.insert(0, str(Path(__file__).parents[2]))