docs(agent): #117 is an input to #110, not work — Control Center is being retired
All checks were successful
Check / eval (push) Successful in 3m12s

Bernardo's triage: the Control Center is going away (#110), so making its
toggles rebuild would be building on a condemned surface. #117 stays filed
because the observation outlives the tool — whatever menu inherits those rows
must not reprint "requires rebuild" — but it is marked not-standalone so no
agent picks it up as work. The previous entry's "next suggestion: #117" was
wrong and the correction is appended rather than rewritten.

#110's migration matrix gets what #116 turned up, which changes its shape:
its Bluetooth and Printing rows write settings.{bluetooth,printing}.enable,
and those keys only became live bridges in a9f3a64 — so those two toggles
never worked for any user. There is therefore no behavior to preserve, but
the keys and their bridges are real now and outlive the TUI: dropping the
rows must not drop the keys, or a machine whose theme-state.json already says
bluetooth.enable = false silently flips back on at its next rebuild.
checks.state-bridges covers exactly that and fails loudly if the bridges go
with the tool. Updates (settings.updates.enable) is read in
modules/home/options.nix — the HM side, where nomarchy.settings genuinely
exists — so it needs none of this; verified, not assumed.

V0: nix flake check --no-build passes. Backlog/journal only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-14 16:21:41 +01:00
parent a9f3a642ee
commit 0bb75b05a9
2 changed files with 45 additions and 13 deletions

View File

@@ -187,6 +187,21 @@ Keyboard and terminal replacements must reject unsafe free-text values. Pass =
no supported setting silently disappears and the second phase leaves no stale
launcher, menu, package, documentation, or generated-artifact reference.
**Facts for the matrix, from #116 (2026-07-14):** its Bluetooth and Printing
rows write `settings.{bluetooth,printing}.enable`, and those keys became live
bridges to the NixOS config in a9f3a64 — until then they wrote JSON nothing
read, so *these two toggles have never actually worked for any user*. That
cuts both ways: "preserve existing behavior" is not a reason to keep them
(there is no behavior to preserve), but the state keys and their bridges are
real now and outlive the TUI — dropping the rows must not drop the keys, or a
machine whose theme-state.json already says `bluetooth.enable = false` will
silently flip back on at the next rebuild. `checks.state-bridges` covers those
two keys and will fail loudly if the bridges go with the tool; keep it green,
and if a key is deliberately retired, remove its case in the same commit.
Whatever inherits the rows should rebuild on toggle rather than print
"requires rebuild" (#117). Updates (`settings.updates.enable`) is HM-side,
where `nomarchy.settings` genuinely exists, and needs none of this.
### 111. Scope-first Recovery menu
Replace confusing Rollback/Snapshots duplication with explicit Desktop
@@ -254,21 +269,22 @@ high-ROI, etc.) live in the journal + ROADMAP — not here.*
### 117. Control Center says "requires rebuild" and leaves the user to do it
Noticed while fixing #116 (2026-07-14), not fixed there — the bug was that
its toggles wrote JSON nothing read; this is that they stop one step short
even now that the JSON lands. `nomarchy-control-center.sh`'s Bluetooth,
Printing and Updates toggles set the state and print "… (requires rebuild)",
so the setting only takes effect whenever the user next thinks to run
**Filed as an input to #110 (Retire Control Center safely), not as standalone
work** — Bernardo 2026-07-14: the Control Center is going away, so fixing its
toggles would be building on a condemned surface. Recorded because the
observation outlives the tool: it is a fact the #110 migration matrix needs,
and whatever menu inherits these settings must not repeat it.
Noticed while fixing #116 (2026-07-14). `nomarchy-control-center.sh`'s
Bluetooth, Printing and Updates toggles set the state and print "…​ (requires
rebuild)", so the setting only lands whenever the user next thinks to run
`nomarchy-rebuild`. Every menu toggle written since does the rebuild itself
and toasts the outcome (`nomarchy-autologin`, `nomarchy-fingerprint`,
`nomarchy-autotimezone`) — the state-write-then-rebuild shape. A user who
toggles Bluetooth off and sees Bluetooth still running has no way to tell
"needs a rebuild" from "the toggle is broken again", which is precisely the
symptom #116 just removed. Cost: small — reuse the autologin shape (the TUI
is already a terminal, so a rebuild's output has somewhere to go). Worth
settling first (`[human]`): whether the TUI should rebuild per-toggle, or
offer one "apply changes" at exit, since a user flipping three toggles
should not sit through three rebuilds.
toggles Bluetooth off and sees Bluetooth still running cannot tell "needs a
rebuild" from "the toggle is broken again", which is exactly the symptom #116
removed. Migrating these rows into the rofi menu resolves it for free, since
that shape is the convention there.
### 114. Greeter ignores per-device keyboard layouts

View File

@@ -19,7 +19,23 @@ Template:
---
## 2026-07-14 — #116: the state bridges that never were (this commit)
## 2026-07-14 — triage: #117 is not work, it's an input to #110 (this commit)
- **Task:** Bernardo's call on #117 (filed by the previous entry, which
suggested it as the next item — it is not; that suggestion is stale).
- **Did:** Control Center is being retired (#110, NEXT, `[big]`), so fixing
its toggles builds on a condemned surface. #117 stays filed as a *record*
feeding #110's migration matrix, marked not-standalone. Gave #110 the facts
#116 turned up: its Bluetooth/Printing rows write state keys that only
became live in a9f3a64, so those two toggles never worked for anyone —
meaning there is no behavior to preserve, but the keys and their bridges are
real now and must not be dropped with the rows, or a machine whose state
says `bluetooth.enable = false` silently flips back on at the next rebuild.
`checks.state-bridges` will fail loudly if that happens.
- **Verified:** V0 — `nix flake check --no-build`. Backlog/journal only.
- **Next suggestion:** #110 (the retirement itself, needs splitting first) or
#115 suspend-then-hibernate — both `[human]`-gated on a design question.
## 2026-07-14 — #116: the state bridges that never were (a9f3a64)
- **Task:** BACKLOG #116 — NixOS options defaulting from
`config.nomarchy.settings`, an attribute that exists only on the HM side.
- **Did:** `nomarchy.settings` is declared in exactly ONE place