Skip to content

Architecture Decision Records

Decision records keep durable architectural choices close to the conventions that govern them. They are not a runtime registry and do not duplicate a package README or public guide.

What belongs where

ArtifactOwnsDoes not replace
Decision recordwhy a durable boundary was chosen, alternatives, invariants, and reversal conditionsimplementation details or consumer usage
Package READMEdiscovery, public entry points, and a quickstartthe complete behavior or architecture contract
Authoritative guidecurrent behavior, limits, and operating guidancethe decision history
Tests and focused gatesexecutable proofthe explanation of intent

Use the Documentation and Development Management Convention to choose the document source and verification command for the wider change.

When to create one

Create a record for a decision that changes package ownership or dependency direction, provider/handler/store boundaries, a protocol contract, persistence or privacy behavior, or a temporary compatibility exception.

Use a stable identifier in the filename, for example CA-TOOL-PROTOCOL-001.md. Keep the identifier when the implementation moves; link a replacement record when the decision is superseded.

Required shape

md
# CA-AREA-001: Short decision title

**Status:** accepted | superseded | deprecated
**Owner:** package or area owner
**Related issue/spec:** #123 or CA-SPEC-001

## Context

## Options considered

## Decision

## Consequences and invariants

## Verification evidence

## Reversal or migration conditions

The implementation, focused tests, and authoritative user documentation remain the evidence for the decision. This index only establishes the durable home and format for the decision itself.

Before marking a decision accepted, make sure that it has an owner, a stable identifier, an explicit non-goal or rejected alternative, implementation/test anchors, and a link to the package or guide whose contract it changes.

Existing reference decisions

Released under the Apache-2.0 License.