chore: v1-prep hygiene sweep — LICENSE (MIT), fixtures under tools/, doc staleness
All checks were successful
Check / eval (push) Successful in 4m21s

Three-way audit ahead of v1 (structure/necessity, docs-vs-code drift,
mechanical checkers) came back clean: zero dead files, zero doc hard
errors, all 92 options documented, all consistency checkers green, no
untracked files. What it did surface, fixed here:

- LICENSE was missing entirely — the one hard launch blocker. MIT
  (Bernardo's call), pointer at the README foot.
- checks/ was the only top-level dir outside the documented layout rule;
  its two state-legacy-name fixtures moved to tools/fixtures/ (Bernardo
  chose move over documenting an exception), flake.nix refs + drift
  messages updated.
- Doc staleness: two leftover "theme-state" leads (HARDWARE.md,
  REQUIREMENTS.md) now say state.json; VISION Theme C charge-limit row
  gets its ✓; VISION agent-slices datestamp bumped.
- The idle.nix miniTransition duplication (same binary name, lossy
  subset of the real display-transition tool) is deliberately NOT
  refactored here — filed as PROPOSED #150 with the audit evidence.

Wallpapers-in-repo (97 MB) is the known LATER artifact-split item, not
re-filed.

Verification: V0 — nix flake check --no-build green after the fixture
move (state-legacy-name's eval asserts exercise the new paths); doc
edits prose-reviewed. Audits by three Sonnet passes; triage on Fable.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-17 16:20:39 +01:00
parent 07400ab4f9
commit a818c19a4e
10 changed files with 67 additions and 8 deletions

View File

@@ -185,6 +185,25 @@ If that count is zero over a few weeks post-linger, **close this unbuilt**. If i
is not, the upstream issue has sat ten months on vaxerski's "that will cause a
segfault no?" and a reproducer would be worth more than a local guard.
### 150. Extract the display-transition tool — idle.nix carries a lossy copy under the same name
Found by the 2026-07-17 structural audit. `modules/home/idle.nix:23-53` defines
`miniTransition`, a ~22-line `writeShellScriptBin` named
**`nomarchy-display-transition`** — the same binary name as the real ~175-line
tool in `modules/home/hyprland.nix:136-310` — implementing only
`undock|enable`, with none of the full tool's safety: no logging, no
lid-inhibitor gate, no `restore_keyboards`, no workspace moves, no
failure dump. The comment says why: "a mini transition avoids a circular
import on hyprland.nix". No PATH collision today (the mini is never installed;
it is baked by store path into hypridle's wake tool via `display-tools.nix`),
but nothing asserts the two stay behaviourally consistent, and this is the
subsystem where #100/#142/#148 all lived. Pitch: extract the full tool into
its own module file (e.g. `modules/home/display-transition.nix`) imported by
both hyprland.nix and idle.nix, delete the mini, re-run the
`tools/monitor-fallback.nix` harness + `checks.docking-ux` as the V2 gate.
Cost: a focused refactor of safety-critical code — deliberately NOT done as
hygiene drive-by; deserves its own iteration.
### 149. `[watch]` Waybar's exec-once workaround may be defending against nothing post-linger
Spun out of #147 (shipped 2026-07-17) so its loose thread survives the entry:

View File

@@ -19,6 +19,23 @@ Template:
---
## 2026-07-17 — v1-prep hygiene sweep: repo is clean; LICENSE was the real gap
- **Task:** Bernardo asked for a structure/necessity audit + full docs sweep
ahead of v1. Three Sonnet passes (structure, docs-vs-code, mechanical
checkers); triage + fixes here.
- **Findings:** zero dead files (every pkg/module/tool/theme traces to a live
consumer); zero doc hard-errors; all 92 options documented; all 9 checkers
green; no untracked files. Real items: no LICENSE (fixed — MIT, Bernardo's
call), `checks/` violated the seven-dir rule (moved → `tools/fixtures/`,
flake refs updated), miniTransition duplication filed as #150, four one-line
doc staleness fixes (theme-state wording ×2, VISION ✓ + date).
- **Verified:** V0 — `nix flake check --no-build` green after the fixture
move (state-legacy-name's eval asserts exercise the new paths).
- **Pending:** nothing from this sweep; wallpapers-in-repo (97 MB) is the
known LATER split, not re-filed.
- **Next suggestion:** #150 when promoted, or the theme-switch latency
measurement that decides the wallpapers split.
## 2026-07-17 — #134: `unstable.<pkg>` seam shipped
- **Task:** BACKLOG #134 (NEXT, decided shape from this morning's triage).
- **Did:** `nixpkgs-unstable` input + `unstable` attrset in