Build os-adr plugin: ADR authoring, session hook, migration, retrieval
Implements OpenSpec change add-os-adr-plugin (archived as
2026-07-03-add-os-adr-plugin; delta specs synced to openspec/specs/).
- plugins/os-adr/: Ruby OO core (Record, Repository, Index, Template,
Detector, Migrator, MigrationReport, Finder) behind thin bin/ CLIs;
Python SessionStart hook via plugin-relative hooks.json; four skills
(create, init, migrate, find); invariants.md; 47 Ruby + 15 Python
model-free tests, all passing.
- Migration pilot passed (threshold 25%): viking 0%, delta-refinery 0%,
llf-schema 8.3%. Retrieval verified against the real llf-schema graph;
resolved that ADRs need no Graphify tag/edge convention (layer 3
expands query paths via node source_files).
- docs/adr-system/: requirements (04), PRD (05), eval sketches (06).
- ADR-020 recorded; CLAUDE.md Implemented Components updated with the
locked rollout order (pilot projects -> cc-os retrofit -> wider).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 18:24:19 +00:00
|
|
|
|
# ADR System — Research & Build
|
2026-07-03 15:55:12 +00:00
|
|
|
|
|
Build os-adr plugin: ADR authoring, session hook, migration, retrieval
Implements OpenSpec change add-os-adr-plugin (archived as
2026-07-03-add-os-adr-plugin; delta specs synced to openspec/specs/).
- plugins/os-adr/: Ruby OO core (Record, Repository, Index, Template,
Detector, Migrator, MigrationReport, Finder) behind thin bin/ CLIs;
Python SessionStart hook via plugin-relative hooks.json; four skills
(create, init, migrate, find); invariants.md; 47 Ruby + 15 Python
model-free tests, all passing.
- Migration pilot passed (threshold 25%): viking 0%, delta-refinery 0%,
llf-schema 8.3%. Retrieval verified against the real llf-schema graph;
resolved that ADRs need no Graphify tag/edge convention (layer 3
expands query paths via node source_files).
- docs/adr-system/: requirements (04), PRD (05), eval sketches (06).
- ADR-020 recorded; CLAUDE.md Implemented Components updated with the
locked rollout order (pilot projects -> cc-os retrofit -> wider).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 18:24:19 +00:00
|
|
|
|
_Last updated: 2026-07-03 — plugin BUILT (OpenSpec change `add-os-adr-plugin`, ADR-020); real-project migration/rollout remains, per the order below._
|
2026-07-03 15:55:12 +00:00
|
|
|
|
|
|
|
|
|
|
This directory captures research for standardizing how Architecture Decision Records (ADRs)
|
Build os-adr plugin: ADR authoring, session hook, migration, retrieval
Implements OpenSpec change add-os-adr-plugin (archived as
2026-07-03-add-os-adr-plugin; delta specs synced to openspec/specs/).
- plugins/os-adr/: Ruby OO core (Record, Repository, Index, Template,
Detector, Migrator, MigrationReport, Finder) behind thin bin/ CLIs;
Python SessionStart hook via plugin-relative hooks.json; four skills
(create, init, migrate, find); invariants.md; 47 Ruby + 15 Python
model-free tests, all passing.
- Migration pilot passed (threshold 25%): viking 0%, delta-refinery 0%,
llf-schema 8.3%. Retrieval verified against the real llf-schema graph;
resolved that ADRs need no Graphify tag/edge convention (layer 3
expands query paths via node source_files).
- docs/adr-system/: requirements (04), PRD (05), eval sketches (06).
- ADR-020 recorded; CLAUDE.md Implemented Components updated with the
locked rollout order (pilot projects -> cc-os retrofit -> wider).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 18:24:19 +00:00
|
|
|
|
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).
|
2026-07-03 15:55:12 +00:00
|
|
|
|
|
|
|
|
|
|
- **`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.
|
Build os-adr plugin: ADR authoring, session hook, migration, retrieval
Implements OpenSpec change add-os-adr-plugin (archived as
2026-07-03-add-os-adr-plugin; delta specs synced to openspec/specs/).
- plugins/os-adr/: Ruby OO core (Record, Repository, Index, Template,
Detector, Migrator, MigrationReport, Finder) behind thin bin/ CLIs;
Python SessionStart hook via plugin-relative hooks.json; four skills
(create, init, migrate, find); invariants.md; 47 Ruby + 15 Python
model-free tests, all passing.
- Migration pilot passed (threshold 25%): viking 0%, delta-refinery 0%,
llf-schema 8.3%. Retrieval verified against the real llf-schema graph;
resolved that ADRs need no Graphify tag/edge convention (layer 3
expands query paths via node source_files).
- docs/adr-system/: requirements (04), PRD (05), eval sketches (06).
- ADR-020 recorded; CLAUDE.md Implemented Components updated with the
locked rollout order (pilot projects -> cc-os retrofit -> wider).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 18:24:19 +00:00
|
|
|
|
- **`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`.
|
2026-07-03 15:55:12 +00:00
|
|
|
|
|
|
|
|
|
|
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 os-adr plugin: ADR authoring, session hook, migration, retrieval
Implements OpenSpec change add-os-adr-plugin (archived as
2026-07-03-add-os-adr-plugin; delta specs synced to openspec/specs/).
- plugins/os-adr/: Ruby OO core (Record, Repository, Index, Template,
Detector, Migrator, MigrationReport, Finder) behind thin bin/ CLIs;
Python SessionStart hook via plugin-relative hooks.json; four skills
(create, init, migrate, find); invariants.md; 47 Ruby + 15 Python
model-free tests, all passing.
- Migration pilot passed (threshold 25%): viking 0%, delta-refinery 0%,
llf-schema 8.3%. Retrieval verified against the real llf-schema graph;
resolved that ADRs need no Graphify tag/edge convention (layer 3
expands query paths via node source_files).
- docs/adr-system/: requirements (04), PRD (05), eval sketches (06).
- ADR-020 recorded; CLAUDE.md Implemented Components updated with the
locked rollout order (pilot projects -> cc-os retrofit -> wider).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 18:24:19 +00:00
|
|
|
|
|
|
|
|
|
|
## 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.
|