Skip to content

Decision records

adrkit dogfoods its own format: every decision in this project is a typed decision record in docs/adr/. These pages are generated from those source files — the records themselves are never edited to fit this site.

# Decision Status
0001 Record architecture decisions as versioned markdown in git accepted
0002 Type the frontmatter as a MADR superset with an affects matcher accepted
0003 Ship as a Spec Kit extension plus a standalone CLI, not a competing harness accepted
0004 Treat git as the source of truth and the database as a derived index accepted
0005 Gate proposals with a deterministic-first evaluator and declarative escalation superseded
0006 License Apache-2.0 with a DCO and develop in a single monorepo accepted
0007 Isolate integrations as optional adapters and build only against public surfaces accepted
0008 Migrate MADR corpora in place and treat all other imports as one-way with a re-import diff accepted
0009 Pin affects resolution semantics and bind entity refs to pluggable catalogs accepted
0010 Use Bun as the package manager and test runner while publishing Node-targeted artifacts accepted
0011 Host the canonical JSON Schema at its $id on adrkit.dev accepted
0012 Bind catalog entities to owned paths with an explicit annotation accepted
0013 Reconcile adapter isolation and catalog binding with the offline snapshot generator accepted
0014 Stage phase-landing evidence across a three-rung validation ladder accepted
0015 Validate descriptors against Backstage field formats before canonicalizing identity accepted
0016 Require every check to be observed failing before it counts as coverage accepted
0017 Keep dependency audit scope explicit and release-scoped accepted
0018 Adopt MCP SDK v2 and serve protocol revision 2026-07-28 dual-era accepted
0019 Ship the Spec Kit extension, treating the spike’s no-go as a measurement artifact accepted
0020 Rescope SC-010 and authorize work toward the Backstage catalog adapter accepted
0021 Resolve inbound source annotations without changing the schema superseded
0022 Scan inbound markers in check and CI without giving them exit-code authority accepted
0023 Read a marker only where the format hides it: fences and markdown prose accepted
0024 Report the measured scan extent, not the window constant accepted
0025 Ship badges as recipes over existing output, not a new CLI surface accepted
0026 Identify the CI comment by the strongest author evidence the token allows accepted
0027 Ratify the deterministic evaluator and bind calibration reporting to the first probabilistic pass accepted
0028 Ship decision memory as a portable agent plugin, and omit the MCP wiring hosts cannot honor accepted
0029 Scope Backstage publication as a downstream consumer, tiered on the entity-ownership mapping accepted
0030 Keep extension surfaces that carry a dependency tree outside this repository accepted
0031 Publish a narrow consumer SDK as the contract, and document the CLI JSON as its sibling accepted
0032 Publish one lockstep OCI image after the coordinated release succeeds accepted
0033 Select interactive graph presentation at the CLI boundary while preserving piped DOT accepted
0034 Extend the portable agent plugin with decision backfill accepted
0035 Execute the gates that certify a pull request from the default branch accepted
0036 Expose the governing-decisions Action through one root Marketplace entry point accepted
0037 Treat generated knowledge systems as downstream read models, not decision authorities proposed

See the ADR template for the copy-ready starting point.