090416f05e
Move subsystem mechanics (migrations, thesis gate, redaction, ingest, email, packaging) out of AGENTS.md into docs/guides/<topic>.md, each scoped by paths: frontmatter and symlinked from .claude/rules/ so Claude Code lazy-loads them. AGENTS.md keeps whole-repo facts and universal guardrails plus a one-line index per guide. Fix the inaccurate ".claude/ is gitignored" note — it is tracked.
1.6 KiB
1.6 KiB
paths
| paths | |||||
|---|---|---|---|---|---|
|
Thesis Workshop & canonical gate
Read this before editing thesis nodes, versions, the review flow, or the Architect copilot.
The two layers
- Working tree — thesis nodes with status
draft | candidate | approved | retired. Code and seeds may move nodes around this ladder freely. - Canonical — a frozen
thesis_version, the read source for the live agent prompt. A version becomes canonical only by human dual sign-off throughbackend/thesis_review.py(currently Grant + Jonathan).
Hard rules
- Never set a
thesis_versioncanonical from code or seeds. That is human dual sign-off, full stop.ensure_*seeders may promote a working spine toapproved(node-level, reversible) but must not freeze a canonical version. - Soft-delete subtlety — this trips people up:
_node_treeandcreate_thesis_versionfilter ondeleted_at IS NULLand ignore status. So to drop a node from both the live agent prompt and version snapshots you must setdeleted_at— settingstatus='retired'alone leaves it in the tree.
Boot behavior
- On boot,
ensure_thesis_v2_promotedmakes the v2.0 reserve-asset spine the working approved spine (node-level, reversible) — it does not freeze a canonical version. Promotion to canonical still waits on dual sign-off in the Workshop.
See also docs/thesis-handoff.md for the current thesis content state.