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.
29 lines
1.6 KiB
Markdown
29 lines
1.6 KiB
Markdown
---
|
|
paths:
|
|
- backend/thesis_seed.py
|
|
- backend/thesis_review.py
|
|
- backend/mcp/architect_agent.py
|
|
- backend/mcp/architect_tools.py
|
|
- backend/mcp/architect_grounding.py
|
|
---
|
|
|
|
# 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 through `backend/thesis_review.py` (currently Grant + Jonathan).
|
|
|
|
## Hard rules
|
|
|
|
- **Never set a `thesis_version` canonical from code or seeds.** That is human dual sign-off, full stop. `ensure_*` seeders may promote a *working* spine to `approved` (node-level, reversible) but must not freeze a canonical version.
|
|
- **Soft-delete subtlety — this trips people up:** `_node_tree` and `create_thesis_version` filter on `deleted_at IS NULL` and **ignore status**. So to drop a node from *both* the live agent prompt and version snapshots you must set `deleted_at` — setting `status='retired'` alone leaves it in the tree.
|
|
|
|
## Boot behavior
|
|
|
|
- On boot, `ensure_thesis_v2_promoted` makes 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.
|