You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Wire the opt-in markers into root CLAUDE.md so x-recording-adr and x-syncing-specs discover their targets, document the workflow for humans and future sessions, fix the inbound references broken by the spec split, and run the tool-independent verification that proves the whole bootstrap works.
Your Task
Add the adoption markers to CLAUDE.md as plain literal top-level lines (NOT inside a code fence or HTML comment — a wrapper can defeat the skills' line-matching ladder):
adr-dir: docs/adr
spec-doc: docs/architecture.md
Place them in a short new ## Decision & Spec Docs section together with: the one-line "what goes where" guide, and links to docs/adr/INDEX.md and docs/architecture.md.
"What goes where" one-liner: docs/adr/ = why a decision was made (immutable; PR merge promotes Proposed→Accepted, via record ADR); docs/architecture.md + docs/architecture/*.md = what the system does now (tracks code, synced via sync specs); ADRs never edit specs and specs never edit ADRs.
Update the existing line-21 prose that claims docs/architecture.md holds the cookie flow / parsing / guards / API / schema: reword to point at the overview index and note the detail docs now live under docs/architecture/.
Update the Repository Layout table: change the docs/architecture.md row description to "Architecture overview/index", and add rows for docs/architecture/ (detail specs) and docs/adr/ (ADRs + INDEX).
Run the end-to-end verification hard gate (see Acceptance Criteria). Optionally, within a Claude Code session on a feature branch, dry-run x-recording-adr -n and x-syncing-specs -n to confirm each resolves its target (this is best-effort confirmation, not a gate — the skills run via the Skill tool, not a standalone CLI).
Depends on the ADR scaffold and the spec split being in place for the verification grep/link checks to pass against real files.
The marker lines are the load-bearing opt-in: without them the skills fall back to directory-existence rungs only.
Warning
Markers must be exact and unfenced. A line like <!-- adr-dir: docs/adr --> may parse the value as docs/adr --> — use a bare adr-dir: docs/adr line.
Keep CLAUDE.md additions minimal; it loads into every session.
Acceptance Criteria
grep -nE '^adr-dir: docs/adr$' CLAUDE.md returns a line and that line is not inside a fenced code block.
grep -nE '^spec-doc:' CLAUDE.md returns a line and that line is not inside a fenced code block.
The Repository Layout table contains rows for docs/adr/ and docs/architecture/, and the docs/architecture.md row description reads as an overview/index (manual read).
Identifier sweep is clean across the whole docs bootstrap: grep -rEn '470021024556|arn:aws:[a-z0-9-]+:[a-z0-9-]*:[0-9]{12}:' docs CLAUDE.md returns no matches.
Every relative link in CLAUDE.md, docs/architecture.md, and docs/architecture/*.md resolves (test -e from each file's directory exits 0 for every target).
test -d docs/adr && test -d docs/architecture exits 0, and grep -l 'spec-synced-through' docs/architecture/*.md lists exactly the three code-derived docs.
Goal
Wire the opt-in markers into root
CLAUDE.mdsox-recording-adrandx-syncing-specsdiscover their targets, document the workflow for humans and future sessions, fix the inbound references broken by the spec split, and run the tool-independent verification that proves the whole bootstrap works.Your Task
CLAUDE.mdas plain literal top-level lines (NOT inside a code fence or HTML comment — a wrapper can defeat the skills' line-matching ladder):adr-dir: docs/adrspec-doc: docs/architecture.mdPlace them in a short new
## Decision & Spec Docssection together with: the one-line "what goes where" guide, and links todocs/adr/INDEX.mdanddocs/architecture.md.docs/adr/= why a decision was made (immutable; PR merge promotes Proposed→Accepted, viarecord ADR);docs/architecture.md+docs/architecture/*.md= what the system does now (tracks code, synced viasync specs); ADRs never edit specs and specs never edit ADRs.docs/architecture.mdholds the cookie flow / parsing / guards / API / schema: reword to point at the overview index and note the detail docs now live underdocs/architecture/.docs/architecture.mdrow description to "Architecture overview/index", and add rows fordocs/architecture/(detail specs) anddocs/adr/(ADRs + INDEX).x-recording-adr -nandx-syncing-specs -nto confirm each resolves its target (this is best-effort confirmation, not a gate — the skills run via the Skill tool, not a standalone CLI).Context
.plans/planning-adr-spec-docs-20260620.md(Tasks 6–7; Codex finding feat: Migrate Lambda function from Python to Node.js 22 #2 on tool-independent verification).Warning
<!-- adr-dir: docs/adr -->may parse the value asdocs/adr -->— use a bareadr-dir: docs/adrline.CLAUDE.mdadditions minimal; it loads into every session.Acceptance Criteria
grep -nE '^adr-dir: docs/adr$' CLAUDE.mdreturns a line and that line is not inside a fenced code block.grep -nE '^spec-doc:' CLAUDE.mdreturns a line and that line is not inside a fenced code block.docs/adr/anddocs/architecture/, and thedocs/architecture.mdrow description reads as an overview/index (manual read).grep -rEn '470021024556|arn:aws:[a-z0-9-]+:[a-z0-9-]*:[0-9]{12}:' docs CLAUDE.mdreturns no matches.CLAUDE.md,docs/architecture.md, anddocs/architecture/*.mdresolves (test -efrom each file's directory exits 0 for every target).test -d docs/adr && test -d docs/architectureexits 0, andgrep -l 'spec-synced-through' docs/architecture/*.mdlists exactly the three code-derived docs.