backlot phase 0: artifact contract + gate hardening

- init_project() writes project.json marker + canonical workspace layout
- write_checkpoint enforces approval gates: completed on a gated stage
  requires human_approved=True (GATE VIOLATION otherwise)
- superseded checkpoints archived to projects/<id>/history/ (stage
  versioning, gate audit trail, replay)
- BaseTool auto-instruments execute() -> projects/<id>/events.jsonl
  (start/finish/error, scene_id, cost) for the Backlot live board
- assets stage now gates (human_approval_default: true) in all manifests
- checkpoint-protocol + AGENT_GUIDE: manifest gate value is binding,
  awaiting_human + end-turn protocol, per-gate approval, canonical
  checkpoint location fixed to projects/<id>/
- gate reminder footer on all gating stage director skills
- /backlot command files for Claude Code, Codex, Cursor, Copilot
This commit is contained in:
calesthio
2026-07-01 23:08:51 -07:00
parent 169124d0fd
commit 722491d732
85 changed files with 1243 additions and 38 deletions

12
.github/prompts/backlot.prompt.md vendored Normal file
View File

@@ -0,0 +1,12 @@
# /backlot — open the living storyboard
Open the Backlot board (browser UI showing pipeline stages, script, scene plan, and generated assets live) for the requested project:
```bash
python -m backlot open <project-id>
```
- No project id → open the library view: `python -m backlot open`
- Idempotent: starts the Backlot server if needed, then opens the browser at the project's board.
- If it fails, report and continue — the board is an observer, never a blocker.
- The board derives all state from `projects/<id>/` on disk; never update the UI manually. Keep checkpoints and artifacts honest per `skills/meta/checkpoint-protocol.md`.