Skip to content

docs(adr): migrate the ADR corpus to adr/v1 - #585

Open
aaronsb wants to merge 1 commit into
mainfrom
adr/v1-migration
Open

aaronsb wants to merge 1 commit into
mainfrom
adr/v1-migration

Conversation

@aaronsb

@aaronsb aaronsb commented Sep 28, 2026

Copy link
Copy Markdown
Owner

Summary

  • Re-vendors adr-tool 2.1.0 (unmodified copy) and declares contract: adr/v1 in docs/architecture/adr.yaml: the three kinds, an 18-term capability vocabulary, basis_sources, repository, and cite.exclude. The hardcoded default deciders are removed.
  • Converts all 108 active records through adr import scan → sheets → adr import apply. Subagents filled the sheets by domain from each record's own text. Result: 101 decisions, 3 specs (304.2, 603.2, 715.1), 3 evidence (305.2, 505.1, 506.1). Statuses map one-to-one: 56+3+1 accepted, 42+2 proposed, 4 superseded. The 15 archived records stay on adr/v0.
  • Updates .claude/ways/kg/adr/way.md for the v1 contract and corrects stale key ADRs.

Capability vocabulary proposed upstream as a default set: aaronsb/agent-ways#616.

Choices worth reviewing

  • add decisions take one capability. 31 records that spanned several keep their primary (e.g. 717 web, was web, embeddings, grounding). change/constrain decisions keep lists.
  • Basis entries are evidence, standard or precedent drawn from each body. No record got an operator basis: ADR-113 and ADR-204 quote the operator but name no channel for via.
  • ADR-908 drops amends:, which named its own earlier text rather than a record.
  • cite.exclude covers archived migrations, 00_baseline.sql, the generated docs/reference/schema.md and doclint: 234 pre-renumbering numbers in frozen or generated files.

Not in this PR

  • ## Summary sections: 102 lint warnings, one per imported decision.
  • change decisions carry no supersedes/amends edges; v0 had none to import. Proposed edges from the triage: 406→403, 404→403, 304.1→300, 802→801, 811→808, 814→803.
  • Accepting proposed records that are already built. 354 of the 463 cite warnings are code citing a proposed record.

Test plan

  • docs/scripts/adr lint: 0 errors, 102 warnings (Summary)
  • docs/scripts/adr cite: 0 errors
  • python3 docs/scripts/doclint.py: 0 errors, 0 warnings
  • docs/scripts/adr index -y regenerated INDEX.md

Re-vendor adr-tool 2.1.0 and declare contract adr/v1 in adr.yaml: the
decision, spec and evidence kinds, an 18-term capability vocabulary,
basis_sources and the repository. Default deciders are removed.

All 108 active records were converted through adr import (ADR-306 in
agent-ways). Each carries kind, capability, and for decisions a verb and a
basis drawn from its own text. 101 are decisions, 3 specs, 3 evidence.
Statuses map one-to-one; archived records stay on adr/v0.

add decisions take one capability, so records that spanned several keep
their primary. ADR-908 drops an amends field that named its own earlier
text. adr cite skips archived migrations, the checkpoint baseline, the
generated schema reference and doclint, whose comments carry
pre-renumbering numbers.

lint: 0 errors (102 warnings: no ## Summary on imported records).
cite: 0 errors. doclint: 0 errors.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant