ADRs document significant architectural decisions made during this project's lifetime. Each decision is captured as a numbered Markdown file in this directory.
Write an ADR whenever a decision:
- Introduces a new external dependency or service
- Changes the data model or storage layer
- Crosses Clean Architecture boundaries
- Requires a coordinated deploy or migration
- Has a non-obvious trade-off that future engineers need to understand
The orchestrator and architect agents will flag adr_required: true on stories that trigger ADRs.
docs/architecture/NNNN-short-decision-title.md
NNNNis a zero-padded sequential number starting at0001- Use the template at
docs/architecture/adr-template.md
| Status | Meaning |
|---|---|
proposed |
Under discussion — not yet decided |
accepted |
Decision made and in effect |
deprecated |
Was accepted, no longer applies |
superseded |
Replaced by a later ADR (link to it) |
| # | Title | Status | Date |
|---|---|---|---|
| 0001 | Versioned gRPC shared schema in common/ | proposed | 2026-06-26 |
| 0002 | Daemon enrollment identity and mTLS | proposed | 2026-06-26 |
| 0003 | Metric adapter contract and failure isolation | proposed | 2026-06-26 |
| 0004 | Optional privileged helper and privilege tiers | proposed | 2026-06-26 |
| 0005 | GPU and power vendor adapters and external dependencies | proposed | 2026-06-26 |
| 0006 | Dashboard federation via pub/sub relay | proposed | 2026-06-26 |
| 0007 | Unprivileged remote control plane | proposed | 2026-06-26 |
| 0008 | In-memory ring buffers vs TSDB | proposed | 2026-06-26 |
| 0009 | Ratatoskr: zeroconf service discovery | accepted | 2026-06-27 |
| 0010 | Realms & Yggdrasil: host/hub tags and topology-aware grouping | accepted | 2026-06-27 |
| 0011 | Mímir: metrics history and OpenMetrics export | accepted | 2026-06-27 |
| 0012 | Gjallarhorn: alerting and notifications | accepted | 2026-06-27 |
| 0013 | Yggdrasil: interactive dashboard grouping + enriched snapshots | accepted | 2026-06-27 |
| 0014 | Gjallarhorn: alert state on the wire + dashboard surfacing | accepted | 2026-06-27 |
| 0015 | Windows privileged metrics | accepted | 2026-06-27 |
| 0016 | Mímir: pluggable durable sink and hub state restore | accepted | 2026-06-27 |
| 0017 | Heimdallr's sight: in-dashboard host observability via advertised control plane | accepted | 2026-06-29 |
| 0018 | v2: persistent socket mediation (daemon ⇄ hub ⇄ dashboard) | accepted | 2026-06-29 |
| 0019 | v2: log search and top sorting in the detail modals | accepted | 2026-06-29 |
| 0020 | Hliðskjálf full-screen top view, NPU rename, and screen-aware TUI | accepted | 2026-06-30 |
| 0021 | Power metric standardization (cpu/gpu/total) and per-platform source layering | accepted | 2026-07-02 |
| 0022 | Metric standardization boundary: adapters normalise, consumers render | accepted | 2026-07-02 |
| 0023 | Himinbjörg: one focus + scroll primitive (pane.Pane/pane.Group) for the TUI | accepted | 2026-07-02 |