aboutsummaryrefslogtreecommitdiff
path: root/todo.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-07 20:12:39 -0500
committerCraig Jennings <c@cjennings.net>2026-07-07 20:12:39 -0500
commitd434ba874d3b449142e1cb08f001cac67bb4064a (patch)
tree25a1351957021352686290d28bb78bc80745f6f4 /todo.org
parent58ec12480c92525dea505045ca6bc78f384b7a85 (diff)
downloadarchsetup-d434ba874d3b449142e1cb08f001cac67bb4064a.tar.gz
archsetup-d434ba874d3b449142e1cb08f001cac67bb4064a.zip
feat: seed maintenance-thresholds.toml + close build Phase 1
The TOML carries every severity value the console and the system-health-check workflow grade against (the workflow's hard-won numbers: the 10 GB cache trigger, the 35/60-day scrub bands, the snapper TIMELINE limits from the 2026-05-26 /home lesson) plus the shipped curation defaults. Canonical home is configs/ here. Installer wiring stays Phase 13, so for now the file is hand-copied to ~/.config/archsetup/ on ratio. Phase 1 of the build landed in dotfiles (43a39ac): maint package skeleton, two-layer thresholds engine, capability probe, and the status contract with three pilot collectors, 48 tests. The todo phase task flips to its dated log entry.
Diffstat (limited to 'todo.org')
-rw-r--r--todo.org4
1 files changed, 2 insertions, 2 deletions
diff --git a/todo.org b/todo.org
index e7509d4..c379a3a 100644
--- a/todo.org
+++ b/todo.org
@@ -27,8 +27,8 @@ The vocabulary is open — topic tags are coined as needed — so these are conv
:END:
Build the maintenance console per [[file:docs/specs/2026-07-07-maintenance-console-spec.org][maintenance-console-spec.org]] (DOING; review incorporated 2026-07-07 — two rounds, all 13 decisions DONE, all 10 findings DONE, verdict Ready; Craig approved config paths + sysmon right-click re-homing). Design source of truth: [[file:docs/design/maintenance-console-design-ideas.org][maintenance-console-design-ideas.org]]; pixel reference: [[file:docs/prototypes/2026-07-07-maint-console-E5-selector-subpanel.html][E5 prototype]]. CLI-first =maint= package in dotfiles (archsetup-owns-dotfiles applies: edit, test, commit, push, note dotfiles inbox per phase); thresholds TOML + VM harness in archsetup. Each phase gates on green tests before its commit.
-*** TODO Phase 1 — package skeleton, thresholds, contract :solo:
-=maint/= scaffold + stow wiring, thresholds.py (TOML + user-layer merge + disable flags + env overrides), schema.py severity model, capability probe (battery ⇔ type==Battery), =maint status --json= with three pilot collectors, fake-binary harness in tests/maint/. Seed maintenance-thresholds.toml in archsetup from the workflow's values. Verify: unit suite green; =make test= picks up tests/maint/ via the glob.
+*** 2026-07-07 Tue @ 20:11:23 -0500 Built Phase 1 — package skeleton, thresholds, contract (dotfiles 43a39ac)
+maint/ package + shim + tests/maint/ (48 tests, fake-tool harness); thresholds two-layer merge with disable flags + env overrides; capability probe (battery ⇔ type==Battery, verified against ratio's Mains+USB tree); =maint status --json= with disk-usage/pacman-cache/failed-units pilots. Seeded configs/maintenance-thresholds.toml in archsetup from the workflow's values and installed a copy to ~/.config/archsetup/ on ratio (installer wiring stays Phase 13). Full make test green (50 suites). Live on ratio: worst=warn from the real 10.75 GB cache; du grades on its printed total, not its exit code (root-owned partial-download dirs make it exit 1) — pinned in a test.
*** TODO Phase 2 — collectors: storage & snapshots :solo:
btrfs (unallocated, scrub age, device error counters vs SMART), ZFS (health/capacity/frag/autotrim/scrub), SMART + last self-test, fstrim.timer, disk top-consumers digest (slow-local tier), snapshot counts split timeline·single·pre-post. Both-host fixtures. Verify: unit green + read-only =maint status --json= on ratio.