2026-08-18 18:33:49 -07:00
# atlas — Task Breakdown
Source of truth: [docs/PLAN-atlas.md ](../docs/PLAN-atlas.md ), [docs/adr/ADR-0001-atlas-cluster-visualization.md ](../docs/adr/ADR-0001-atlas-cluster-visualization.md )
Supersedes: [PLAN.md ](../PLAN.md ), [IMPLEMENTATION.md ](../IMPLEMENTATION.md ) (Homarr + Terraform — abandoned)
## Status
2026-08-18 20:41:34 -07:00
Not started, Phase 0 partially unblocked. **5 decisions block Phase 1** — see [00-decisions.md ](00-decisions.md ).
2026-08-18 18:33:49 -07:00
2026-08-18 20:41:34 -07:00
## Task board
2026-08-18 18:33:49 -07:00
2026-08-18 20:41:34 -07:00
Task board lives in [INDEX.md ](INDEX.md ) — one row per task, one file per task (`<id>-<slug>.md` ), agent-harness format. That file is the source of truth for execution order; this README is a human overview only.
| Phase | Est. |
|---|---|
| 0 — unblock deployment | — |
| 1 — atlas core (RBAC, informers, redaction) | ~4d |
| 2 — Surface B: cluster topology | ~3d |
| 3 — Surface E: delivery tree | ~3d |
| 4 — Surface C: terminal | ~2d |
| 5 — Surface D: chat + rate limiter | ~5d |
2026-08-18 18:33:49 -07:00
**Total: ~17 working days.**
## Rules carried from the ADR
- I1: `riotpiao.com` is the only public hostname, ever
- I2: browser never talks to an internal API directly — atlas is the only origin
- I3: redaction is allowlist-only, enforced by DTO construction
- I4: no free-form string reaches an internal system (closed enum, snapshot-membership validation)
- I5: GPU chat concurrency capped at 6 of 8 sequence slots, disconnect cancels upstream immediately
- TDD: RED (tests named before code) → GREEN (minimal code) → REFACTOR, per phase
2026-08-18 19:10:51 -07:00
- Playwright e2e is a hard requirement for every UI-shipping phase (2, 3, 4, 5) — no surface merges without a passing spec