From bfe613eae4ba04430e5636ece242f83fa79445ca Mon Sep 17 00:00:00 2001 From: bdeshi Date: Thu, 30 Jul 2026 02:23:49 +0600 Subject: [PATCH] log the state needed to resume, and the decision blocking sequences MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit state.md records the open question: ADR-0016 says series membership is a frontmatter field, and building it revealed structural nesting as a simpler option that contradicts that ADR. Reversing a recorded decision is a decision, so entry 10 waits. The scratch queue gains a Resuming section — position, the per-entry rhythm, where the evidence site lives, and every deferred ADR with its trigger — so a context reset loses the conversation and not the plan. --- docs/state.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/state.md b/docs/state.md index 1ae4e06..6ed8b30 100644 --- a/docs/state.md +++ b/docs/state.md @@ -54,9 +54,17 @@ with a stated reason. A list nothing drains is a graveyard of known defects. | No mechanical gate on the untrusted boundary (ADR-0003) | Scheduled to Arc 3: nothing untrusted is read yet | The comment path — a test that untrusted input reaches no shortcode or template evaluation | | Raw HTML in Markdown is currently omitted only because goldmark's default omits it | Verified at the Arc 1 boundary, and it is what keeps invariant 2 intact for authored content. `html.WithUnsafe()` is the obvious move when a shortcode needs to emit HTML, and it silently turns authored Markdown into an injection path | Shortcodes (queue 12) — if unsafe rendering is enabled, the trusted/untrusted split must be real code, not a default | -## Open questions blocking Arc 1 +## Open questions -None. Every decision the engine needs before Arc 1 and before the first deploy is recorded. +**Blocking sequences (queue entry 10): how a series is joined.** ADR-0016 says membership is the `series` +frontmatter field plus `order`. Building it revealed a simpler option that contradicts that: membership is +**structural** — a chapter is a bundle nested under its series landing page, `comics/the-long-monsoon/first-rain` +under `comics/the-long-monsoon` — so no `series` field is needed and `order` alone stays. Structural needs +no new field and cannot disagree with the directory; `series` allows a series to span directories and is +what ADR-0016 already recorded. Reversing a recorded decision needs a decision, not a silent change +(`CLAUDE.md` rule 9), so this waits. + +Nothing else blocks Arc 1 or the first deploy. Every ADR in `decisions.md` is accepted; none is open or proposed.