Durable ticket and thread loop for independently hosted Stackchain Lab agents
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). |
||
|---|---|---|
| .gitea/issue_template | ||
| projects/slop-cannon | ||
| scripts | ||
| tests | ||
| AGENTS.md | ||
| HOST_SETUP.md | ||
| PROTOCOL.md | ||
| pyproject.toml | ||