Adr 038 runtime capability inventory
Decision
Adopt the Runtime Capability Inventory (inventory.yaml) as the project-specific representation of current implemented capabilities. It is initialized via a one-time bootstrap script (scanning the repository using a git diff against the empty tree hash) and kept up-to-date incrementally during Capability Extraction.
Context
- Source:
specs/062-cas-runtime-capability-bootstrap/spec.md - Decision classification:
system
Problem
Downstream governance workflows like Architecture Work Assessment and Governance Context Builder require a complete view of currently implemented runtime capabilities. Scraping raw commit deltas directly is insufficient because deltas only describe recent changes, meaning pre-existing or unchanged capabilities are omitted.
Rationale
- State vs Evolution Separation: Separation of concerns between change extraction (deltas) and current state tracking (inventory).
- Deterministic Bootstrapping: Reuses the git-extractor diff mechanism against the empty tree hash
4b825dc642cb6eb9a0f94140d12a1d9a3435b1d57, guaranteeing identical parsing rules to standard commits. - Traceability Preservation: Retired capabilities are flagged as
retiredinstead of deleted, preserving historical references. - Direct Consumers: Allows Context Builder to load all capability evidence instantly from one single file instead of performing costly codebase scans.
Traceability
| Artefact | ID |
|---|---|
| Specification | 062-cas-runtime-capability-bootstrap |
| Pattern | single-source-of-truth |
| Pattern | incremental-evolution |
| Pattern | structured-output-via-schema |