CI & Release / Verify simulator (push) Skipped
CI & Release / Trivy scan (push) Skipped
CI & Release / Semantic Release (push) Skipped
CI & Release / Verify simulator (pull_request) Failing after 4s
CI & Release / Trivy scan (pull_request) Skipped
CI & Release / Semantic Release (pull_request) Skipped
Extend glossary with storage floors, source of truth, and linkable anchors. Fix broken links, pose frame drift, rsync/offload wording, and README tone. Add docs/improvement audit records and live demo links in design journey.
41 lines
2.4 KiB
Markdown
41 lines
2.4 KiB
Markdown
# Architecture Decision Records
|
|
|
|
This directory records the significant decisions behind Swarm House, in the
|
|
order they were made. Each record is immutable once **Accepted** — a later
|
|
decision that changes course gets a new number and supersedes the old one
|
|
rather than editing it.
|
|
|
|
## ADR vs ASR
|
|
|
|
| Kind | What it captures | Where it lives |
|
|
| --- | --- | --- |
|
|
| **ADR** (Architecture Decision Record) | A point-in-time decision for *this* repository, with the options considered and their consequences | Here, in `docs/adr/` |
|
|
| **ASR** (Architecture Standard Record) | A standing, cross-repository policy every project must obey (Go-first, secrets, layout) | The ecosystem `inventar` repo, not here |
|
|
|
|
The rules in [`../../AGENTS.md`](../../AGENTS.md) are this repo's local standing
|
|
constraints; anything ecosystem-wide belongs in `inventar` as an ASR. Design
|
|
decisions specific to the platform are ADRs and belong here.
|
|
|
|
## Index
|
|
|
|
| ADR | Decision | Status |
|
|
| --- | --- | --- |
|
|
| [ADR-0001](ADR-0001-no-swarm-orchestrator.md) | No swarm-wide orchestrator; coordinate through data | Accepted |
|
|
| [ADR-0002](ADR-0002-one-storage-format.md) | One storage format on every tier — Parquet + DuckDB, Hive layout | Accepted |
|
|
| [ADR-0003](ADR-0003-sync-derived-state-only.md) | Sync derived state only; raw telemetry stays local | Accepted |
|
|
| [ADR-0004](ADR-0004-sql-over-ssh-contract.md) | Read-only SQL-over-SSH as the peer query contract; no debug API | Accepted |
|
|
| [ADR-0005](ADR-0005-wireguard-beneath-ssh.md) | WireGuard beneath SSH for the mesh transport | Accepted |
|
|
| [ADR-0006](ADR-0006-iac-boundaries.md) | IaC split: Ansible hosts, Terraform ground, Flux ground-only, fleet manifest for drones | Accepted |
|
|
| [ADR-0007](ADR-0007-non-root-image.md) | Run the simulator image as a non-root user | Accepted |
|
|
| [ADR-0008](ADR-0008-runtime-data-paths.md) | Shared [`var/t1`](../00-glossary.md#t1--warm) / [`var/t3`](../00-glossary.md#t3--warehouse) runtime paths; state out of Git | Accepted |
|
|
| [ADR-0009](ADR-0009-bounded-lake-scans.md) | Bound observability lake scans to a flight window and cache | Accepted |
|
|
|
|
## Writing a new ADR
|
|
|
|
1. Copy [`TEMPLATE.md`](TEMPLATE.md) to `ADR-NNNN-short-slug.md` (next free number).
|
|
2. Context, Options, Decision, Consequences.
|
|
3. Add a row to the index above.
|
|
4. Cross-link the ADR from the design doc it affects (and vice versa).
|
|
|
|
Accepted = immutable. Reversal → new ADR supersedes. Never edit Accepted.
|