Format: pure Nygard (Status · Context · Decision · Consequences). Once in Accepted status, an ADR is immutable — if the decision changes, a new one is written that supersedes it.
Numbers are stable identifiers ordered by topic. They do not indicate relative priority between different groups; sub-letters (a, b, c) group sub-decisions within the same topic.
![[adr.base]]
The grouped tables below are the curated topic map; the base above is the sortable/filterable index (by number, status, or domain), powered by each ADR’s frontmatter.
| ADR | Title | Status | Description |
|---|
| [[adr-000-adr-conventions]] | ADR Conventions | Accepted | Nygard format rules for Architecture Decision Records (immutable once Accepted) |
| [[adr-001-a-naming-glossary | adr-001-a]] | Naming Conventions and Domain Glossary | Accepted |
| [[adr-001-b-language-conventions | adr-001-b]] | Language Conventions | Accepted |
| [[adr-001-c-hour-color-vocabulary | adr-001-c]] | Hour Color Vocabulary | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-002-dev-stack | adr-002]] | Development Stack (MVP Local) | Accepted |
| [[adr-002-a-backend-dev-stack | adr-002-a]] | Backend Development Stack | Accepted |
| [[adr-002-b-frontend-dev-stack | adr-002-b]] | Frontend Development Stack | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-003-prod-stack | adr-003]] | Production Stack (Out-of-Scope MVP) | Accepted |
| [[adr-003-a-backend-prod-stack | adr-003-a]] | Backend Production Stack | Accepted |
| [[adr-003-b-frontend-prod-stack | adr-003-b]] | Frontend Production Stack | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-004-git-github-conventions | adr-004]] | Git and GitHub Conventions | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-005-api-contract-ssot | adr-005]] | API.md as the Single Source of Truth for HTTP Contracts | Accepted |
| [[adr-005-a-contract-testing-pipeline | adr-005-a]] | Contract Testing Pipeline | Accepted |
| [[adr-005-b-api-md-scope-implemented-and-planned | adr-005-b]] | API.md Scope: Implemented and Planned Endpoints | Accepted |
| [[adr-018-orgunit-demand-scope | adr-018]] | OrgUnit Demand Scope | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-006-environment-variables | adr-006]] | Environment Variables | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-007-agent-architecture | adr-007]] | Agent Architecture | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-008-authentication | adr-008]] | Authentication Architecture | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-009-testing-strategy | adr-009]] | Testing Strategy | Draft |
| [[adr-009-a-frontend-testing-strategy | adr-009-a]] | Frontend Testing Strategy (Angular 21) | Draft |
| [[adr-009-b-backend-testing-strategy | adr-009-b]] | Backend Testing Strategy (Django 5.2) | Draft |
| [[adr-009-c-ci-integration | adr-009-c]] | CI Integration | Draft |
| [[adr-009-d-bdd-e2e-testing | adr-009-d]] | BDD + E2E Testing (Gherkin + Playwright) | Draft |
| ADR | Title | Status | Description |
|---|
| [[adr-010-rule-severity-levels | adr-010]] | Rule Severity Levels | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-011-weekly-only-compute | adr-011]] | Weekly-Only Hours Computation | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-012-design-system | adr-012]] | Design System | Accepted |
| [[adr-012-a-custom-component-naming | adr-012-a]] | Custom Component Naming Convention | Accepted |
| [[adr-012-b-typography | adr-012-b]] | Design System Typography | Accepted |
| [[adr-012-c-theming-tokens | adr-012-c]] | Theming and Token Conventions | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-013-accessibility | adr-013]] | Accessibility (WCAG 2.1 AA Baseline) | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-014-user-entity | adr-014]] | User Entity, Roles and Avatar System | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-015-datetime-timezone | adr-015]] | DateTime and Timezone Conventions | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-016-capacity-planning-patterns | adr-016]] | Capacity Planning Patterns | Accepted |
| [[adr-019-tag-based-requirements | adr-019]] | Tag-Based Position Requirements and Employee Attributes | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-017-audit-trail-architecture | adr-017]] | Audit Trail Architecture: FSM Domain Logic vs REST API | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-020-coverage-dashboard-strategy | adr-020]] | Coverage Dashboard Strategy | Draft |
| ADR | Title | Status | Description |
|---|
| [[adr-021-argentine-legal-context | adr-021]] | Argentine Legal Context and Hours Computation | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-022-mock-data-scope | adr-022]] | Mock Data Scope | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-023-frontend-data-invalidation | adr-023]] | Frontend Data Invalidation and Freshness Management | Accepted |
| ADR | Title | Status | Description |
|---|
| [[adr-024-employee-bar-semantics-and-contract-matching | adr-024]] | Employee Bar Semantics and Contract Matching | Accepted |