Architecture Decision Records¶
This project uses Architecture Decision Records (ADRs) to document significant technical decisions.
Active ADRs¶
| ADR | Title | Status |
|---|---|---|
| ADR-015 | Per-Session Bias Audit | Implemented |
| ADR-016 | Structured Rubric Scoring | Implemented |
| ADR-018 | Cross-Session Bias Aggregation | Implemented |
| ADR-020 | Query Triage Layer | Implemented |
| ADR-022 | Tiered Model Selection | Implemented |
| ADR-023 | Gateway Layer | Implemented |
| ADR-024 | Unified Routing Architecture | Implemented |
| ADR-025 | Future Integration | Implemented |
| ADR-026 | Model Intelligence Layer | Implemented |
| ADR-027 | Frontier Tier | Implemented |
| ADR-028 | Dynamic Candidate Discovery | Implemented |
| ADR-029 | Model Audition Mechanism | Implemented |
| ADR-030 | Enhanced Circuit Breaker | Implemented |
| ADR-031 | Evaluation Configuration | Implemented |
ADR Format¶
Each ADR follows the Michael Nygard format as defined in the template docs/adr/ADR-000-template.md:
- Title: Short descriptive title.
- Status: The lifecycle state of the decision.
- Context: The problem and forces at play.
- Decision: The agreed-upon solution.
- Consequences: The trade-offs and outcomes (positive/negative).
Status Lifecycle¶
The Status field tracks the lifecycle of a decision:
- Draft: Work in progress, not ready for review.
- Proposed: Ready for council review and discussion.
- Accepted: Approved and currently active. This is the implementation status.
- Rejected: Decision was considered but not taken.
- Deprecated: Decision was once active but is no longer valid (e.g., technology shift), without a direct replacement.
- Superseded: Decision has been explicitly replaced by a newer ADR. The header must link to the new ADR.
Creating New ADRs¶
- Copy the template from
docs/adr/ADR-000-template.md. - Number sequentially (e.g.,
ADR-040). - Open a Pull Request for discussion (Status:
Proposed). - Upon approval, merge and update Status to
Accepted.
Deprecating or Superseding¶
When a new decision replaces an old one:
1. Create the new ADR (Status: Accepted).
2. Update the old ADR's header:
- Change Status to Superseded.
- Add Superseded By: [Link to new ADR].
- (Optional) Add a note in the Context section explaining why it was replaced.
See the project GOVERNANCE.md for the detailed decision process.