Skip to content

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

  1. State vs Evolution Separation: Separation of concerns between change extraction (deltas) and current state tracking (inventory).
  2. Deterministic Bootstrapping: Reuses the git-extractor diff mechanism against the empty tree hash 4b825dc642cb6eb9a0f94140d12a1d9a3435b1d57, guaranteeing identical parsing rules to standard commits.
  3. Traceability Preservation: Retired capabilities are flagged as retired instead of deleted, preserving historical references.
  4. 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