Skip to content

Latest commit

 

History

History
63 lines (50 loc) · 4.24 KB

File metadata and controls

63 lines (50 loc) · 4.24 KB

Architecture Decision Records

ADRs document significant architectural decisions made during this project's lifetime. Each decision is captured as a numbered Markdown file in this directory.

When to Write an ADR

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.

File Naming

docs/architecture/NNNN-short-decision-title.md
  • NNNN is a zero-padded sequential number starting at 0001
  • Use the template at docs/architecture/adr-template.md

Status Values

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)

Index

# 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 |