Skip to content

docs: wire ADR/spec adoption markers into CLAUDE.md and verify bootstrap #64

@mikanmarusan

Description

@mikanmarusan

Goal

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

  1. 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.
  2. 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/.
  3. 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).
  4. 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).

Context

  • Source plan: .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).
  • 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    loop:readyReady for the autonomous fix loop

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions