# ADR System — Research & Build _Last updated: 2026-07-03 — plugin BUILT (OpenSpec change `add-os-adr-plugin`, ADR-020); real-project migration/rollout remains, per the order below._ This directory captures research for standardizing how Architecture Decision Records (ADRs) are organized and used across the user's projects, and the requirements/PRD the **now-built** `os-adr` plugin was implemented from (`cc-os/plugins/os-adr/`, installed as `os-adr@local-plugins`; see CLAUDE.md Implemented Components). The docs below remain the design record; the migration pilot passed 2026-07-03 (flag rates: viking 0%, delta-refinery 0%, llf-schema 8.3% vs. a 25% gate). - **`01-current-state-survey.md`** — audit of every project under `~/dev/`, `~/clients/`, and `~/projects/` for existing ADR practices (organization, templates, tooling, or absence thereof). - **`02-external-research.md`** — research on ADR best practices generally (Nygard, MADR, Y-Statements, lifecycle/governance) and on how Claude Code / AI-agent users specifically have integrated ADRs into their workflow. - **`03-synthesis-and-opportunities.md`** — synthesis answering the three "how might we" goals (know when to create/query, systematize creation for consistency, and query with high relevance/low bloat) and naming concrete design options for a future `os-adr` plugin. - **`04-plugin-requirements.md`** — locked, pre-build requirements: single standardized template (no client/tooling-mode split), `docs/adr/` location, the five plugin requirements (mechanical, SessionStart existence-check hook, non-destructive migration, unprompted write/retrieval effectiveness), eval-as-final-stage sequencing, and OOP/Sandi-Metz/Ruby-or-Python implementation style. - **`05-plugin-prd.md`** — the PRD to hand to `openspec-propose` when ready to build: problem statement, goals/non-goals, requirements broken into build phases, the deferred unprompted-behavior eval stage, architecture/success criteria. Incorporates a Fable review pass (2026-07-03) that sharpened the migration and sequencing sections. - **`06-eval-scenarios.md`** — held-out eval scenario *sketches* (write-trigger W1–W3, retrieval R1–R4) written before the plugin skeleton froze; the evaluation itself remains a deferred, separate stage per `04-plugin-requirements.md`. Provenance note: `02-external-research.md` cites web sources gathered by research agents in a single pass; several specific tool/repo names and one incident anecdote are flagged inline as **[unverified]** because they were not independently checked against the primary source in this pass. Verify before depending on any specific tool name in that file. ## Build/rollout order (decided 2026-07-03) 1. **Build the `os-adr` plugin first**, against a clean/small pilot — not against cc-os's own 19-ADR file. cc-os's `docs/memory-system/03-architecture-decisions.md` is known to need splitting into one-file-per-decision (per the ~30-decision monolithic-file ceiling noted in `02-external-research.md`), but that split is **deliberately deferred**, not forgotten — it happens *using* the plugin once built, not by hand beforehand. 2. **Then use the plugin to retrofit**: cc-os itself first, then other Claude Code projects on this machine (per the `~/dev/`/`~/clients/`/`~/projects/` survey in `01-current-state-survey.md`), then any new project encountered going forward — one at a time, matching the build-first/migrate-incrementally precedent already set for the vault (ADR-013). Do not re-litigate this ordering in a future session — build the tool, then use the tool to fix the mess the tool was built to fix.