chore(agent): QA sweep + journal rotate (queue empty)
Some checks are pending
Check / eval (push) Waiting to run
Some checks are pending
Check / eval (push) Waiting to run
NEXT only has #76 [blocked:hw]. Re-ran option-docs, template-sot, and a V2 suite (doctor, first-boot, what-changed, clamshell-logind, dock-audio, windowrule-syntax, battery-notify, zram-swap, nightlight-geo) — all green. Rotated JOURNAL.md 41→18 entries into JOURNAL-ARCHIVE. Verified: V2 — listed checks green; flake check --no-build green.
This commit is contained in:
@@ -6,6 +6,347 @@ JOURNAL.md grows past ~25 entries, move the tail here.
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-10 — #78 Omarchy migrant doc (docs/OMARCHY.md)
|
||||
- **Task:** BACKLOG #78 (promoted from PROPOSED) — Omarchy→Nomarchy
|
||||
one-pager (`VISION § F`).
|
||||
- **Did:** New `docs/OMARCHY.md`: leads with the config-model shift
|
||||
(imperative dotfiles → declarative flake + menu, rollback via
|
||||
generations), then install (ISO/`nomarchy-install` or MIGRATION.md),
|
||||
a familiar-bindings table, theming (`SUPER+T`/`nomarchy-theme-sync`),
|
||||
packages (home.packages / `nix shell`, no AUR), update+rollback
|
||||
(`nomarchy-pull`/`-rebuild`/`-home`, boot-menu generations,
|
||||
`nomarchy-doctor`). Added to `docs/README.md` map + VISION § F ✓.
|
||||
- **Verified:** V0 (docs). Grounded Nomarchy side in code: pulled real
|
||||
binds from `keybinds.nix`; confirmed all 7 cited commands, the `nsearch`
|
||||
alias, and the named slugs (gruvbox/rose-pine/nord) exist. Kept
|
||||
Omarchy-side claims to known facts (Arch, dotfiles, pacman/AUR).
|
||||
- **Pending:** none.
|
||||
- **Next suggestion:** NEXT head #76 `[blocked:hw]`; last open PROPOSED is
|
||||
auto time-of-day theme pair (`§D`, `[big]` — needs splitting).
|
||||
|
||||
## 2026-07-10 — #77 doctor hibernate/sleep section (V2 PASS)
|
||||
- **Task:** BACKLOG #77 (promoted from PROPOSED by Bernardo) — read-only
|
||||
hibernate section in nomarchy-doctor (`VISION § C`, #76 follow-on).
|
||||
- **Did:** Added a hibernate/sleep row group to `nomarchy-doctor.sh`: resume
|
||||
device on cmdline (+ `resume_offset` for a swapfile), disk swap ≥ RAM,
|
||||
zram active, previous-boot suspend/hibernate error. Self-gates (`skip` on
|
||||
swap=0); only ok/warn/skip → never fails the sheet. Added `hibernate` to
|
||||
the `checks.doctor` probe list.
|
||||
- **Verified:** **V2 PASS** — `checks.doctor` VM test green (fresh build,
|
||||
exit 0; asserts the hibernate row renders + healthy run still 0). **V1** —
|
||||
ran on this box's real LUKS+@swap layout: all three `ok` rows render
|
||||
(resume set, swap 34G ≥ RAM, zram 16G) and the sheet reaches its verdict.
|
||||
**V0** bash -n + flake check.
|
||||
- **Gotcha (fixed + MEMORY):** the doctor runs `set -euo pipefail`; my first
|
||||
cut aborted before the verdict because a no-match `grep` inside `$(…)` and
|
||||
a `cond && action` both trip set -e. Fixed with `|| true` / `|| echo 0` and
|
||||
an `if`. First VM run caught it (exit 1, no verdict) — the test earned its keep.
|
||||
- **Pending:** none — fully agent-verifiable (read-only checks, no V3).
|
||||
- **Next suggestion:** NEXT head is #76 `[blocked:hw]`; remaining PROPOSED
|
||||
(Omarchy doc §F, auto time-of-day theme §D) await triage.
|
||||
|
||||
## 2026-07-10 — QA sweep (clean) + VISION-gap pass → 3 PROPOSED
|
||||
- **Task:** Bernardo — QA/drift sweep, then a VISION-gap pass with proposals.
|
||||
- **Did (sweep):** Fanned out two subagents (Bernardo OK'd spawning for
|
||||
efficiency): nomarchy-runner ran the deterministic checks + `bash -n`/
|
||||
`py_compile` (all PASS; the 4 "needs-args" scripts pass via their flake
|
||||
derivations); nomarchy-scout hunted fuzzy drift (dead code, stale refs,
|
||||
TODOs, changed-area contradictions, count/version) — **all clean**.
|
||||
Spot-checked scout's count claim myself: 24 theme JSONs / 24 previews /
|
||||
README "24 presets" — consistent. Eval sweep green. **No fixes needed.**
|
||||
- **Did (VISION):** Verified candidate gaps against the tree before
|
||||
proposing (killed two false gaps — nomarchy-rebuild/home already tail logs
|
||||
+ point at doctor on failure = §A shipped; `nvd diff` = §B covered; System
|
||||
› Firmware menu already exists). Filed 3 **PROPOSED** (verified open):
|
||||
doctor hibernate/sleep section (§C, top Day-2 pick, #76 follow-on),
|
||||
Omarchy migrant one-pager (§F), auto time-of-day theme pair (§D, `[big]`).
|
||||
- **Verified:** V0 (agent-notes/docs only). Sweep evidence above.
|
||||
- **Pending:** none. Proposals await Bernardo's triage into a tier.
|
||||
- **Next suggestion:** if a PROPOSED is promoted, the doctor hibernate
|
||||
section is the cleanest next build; else NEXT #76 stays `[blocked:hw]`.
|
||||
|
||||
## 2026-07-10 — Icon overrides: user-facing docs (OVERRIDES.md)
|
||||
- **Task:** Bernardo asked whether the session's features need user docs.
|
||||
- **Did:** Hibernation already covered (README swapfile line, MIGRATION.md
|
||||
runbook, discoverable Power-menu row) — no gap. Icons had one: the only
|
||||
doc was the template comment. Added an "Icon pack" subsection to
|
||||
`docs/OVERRIDES.md` § Appearance — `nomarchy-theme-sync set icons "<name>"`,
|
||||
the known-packs table, the ~1 GiB/opt-in rationale, and that the choice is
|
||||
sticky across `apply` (presets carry no icon field; verified `deep_merge`).
|
||||
- **Verified:** command path confirmed (`cmd_set` writes any dotted key;
|
||||
`icons` is a schema key). **Built all 4 packs and listed real theme dirs**
|
||||
to fix the examples — caught Qogir using capital `Qogir-Dark`/`Light`
|
||||
(lowercase would silently fall back to hicolor). Docs-only (V0).
|
||||
- **Pending:** none.
|
||||
- **Next suggestion:** NEXT #76 `[blocked:hw]`; LATER/QA-sweep next.
|
||||
|
||||
## 2026-07-10 — Icon themes: opt-in cross-pack overrides (no default bloat)
|
||||
- **Task:** LATER "per-theme icon overrides / more icon packs". Recon found
|
||||
papirus is already ~1 GiB and ships only Papirus/Dark/Light (no free
|
||||
variety); real variety needs extra packs at ~hundreds of MB each. Bernardo
|
||||
chose the **opt-in, no-default-bloat** shape (over shipping packs).
|
||||
- **Did:** `theme.nix` resolves `nomarchy.theme.iconThemePackage` from a
|
||||
small `iconPacks` registry (papirus·tela·qogir·reversal·numix, by name
|
||||
prefix). Default themes name `Papirus-*` → resolves to the *plain* papirus
|
||||
derivation (no symlinkJoin, identical closure); only a theme naming another
|
||||
pack's set symlinkJoins that one pack in. `stylix.nix` uses it
|
||||
(mkDefault). Opt-in note in `templates/downstream/home.nix`; ROADMAP §
|
||||
Icon themes updated (incl. the deliberate no-default-packs decision).
|
||||
- **Verified:** **V1** — HM activationPackage builds (exit 0). Eval proofs:
|
||||
default `iconThemePackage` = plain `papirus-icon-theme-*` (zero delta);
|
||||
with `icons="Tela-dark"` → `nomarchy-icon-themes` symlinkJoin (papirus+tela)
|
||||
and name flows, **without building tela**. All 5 pack attrs exist in the
|
||||
pinned nixpkgs. `template-sot` + `option-docs` + `flake check` green.
|
||||
- **Pending:** none. No default visual change (identical papirus), so no
|
||||
screenshot needed; the opt-in render is the downstream user's to see.
|
||||
- **Next suggestion:** NEXT still #76 `[blocked:hw]`; LATER/QA-sweep next.
|
||||
|
||||
## 2026-07-10 — #76 slice 3: hibernate VM test (V2 PASS) → #76 agent-complete
|
||||
- **Task:** BACKLOG #76 slice 3 — the mandatory V2 hibernate test + V3 queue.
|
||||
- **Did:** Added `checks.hibernate` (flake.nix), modeled on nixpkgs'
|
||||
hibernate.nix but wired to Nomarchy's #76 risk: imports oom.nix (zram
|
||||
default-on), disk swap at lower priority + explicit `boot.resumeDevice`,
|
||||
systemd-initrd. Test drives hibernate→power-off→resume→crash: ramfs marker
|
||||
survives resume, a crash-boot loses it (real resume, not a survivor), and
|
||||
asserts zram@100 + disk-swap<100 so the image lands on disk not volatile
|
||||
zram. Queued the V3 laptop steps (real LUKS+@swap+offset resume + no-swap
|
||||
notify) in HARDWARE-QUEUE. Collapsed #76 to a `[blocked:hw]` stub; design
|
||||
record → ROADMAP § "Hibernation + zram by default".
|
||||
- **Verified:** **V2 PASS** — `nix build .#checks.x86_64-linux.hibernate`
|
||||
built the driver fresh and exited 0 (all assertions held). `nix flake
|
||||
check --no-build` green.
|
||||
- **Pending:** only V3 (dev box / laptop) — #76's last check; close on PASS.
|
||||
- **Next suggestion:** #76 is now blocked:hw; NEXT head falls to LATER/
|
||||
PROPOSED triage or a QA sweep — pick per LOOP.md orientation next session.
|
||||
|
||||
## 2026-07-10 — #76 slice 2: Hibernate notify-on-failure
|
||||
- **Task:** BACKLOG #76 remaining slice 2 — per the settled "keep row, notify
|
||||
on failure" call.
|
||||
- **Did:** `modules/home/rofi.nix` power menu Hibernate arm now runs
|
||||
`systemctl hibernate 2>/dev/null || notify-send "Hibernate" "…see
|
||||
docs/MIGRATION.md"`. On success the call blocks until resume, so the notify
|
||||
only fires on a genuine failure (e.g. swap=0 no-swap machine). Row stays
|
||||
unconditional (no hiding).
|
||||
- **Verified:** **V1** — `nix build …homeConfigurations.nomarchy.activationPackage`
|
||||
green (rebuilds `nomarchy-menu.drv`; `writeShellScriptBin` runs bash -n at
|
||||
build). Control-flow proof on the arm extracted from the built script:
|
||||
failing `systemctl` → notify fires; succeeding → no notify. `nix flake
|
||||
check --no-build` green.
|
||||
- **Pending:** slice 3 = the V2 hibernate→resume VM test + V3 laptop
|
||||
(Hibernate→power off→resume on the LUKS+@swap machine; plus confirm the
|
||||
no-swap notify surfaces in a real session). Both remain open on #76.
|
||||
- **Next suggestion:** slice 3 — add a `checks.*` hibernate VM test (as far
|
||||
as QEMU allows) and queue the V3 laptop steps in HARDWARE-QUEUE.
|
||||
|
||||
## 2026-07-10 — #76 slice 1: MIGRATION.md hibernation runbook
|
||||
- **Task:** BACKLOG #76 remaining slice 1 — docs runbook for enabling
|
||||
hibernation on an existing machine (per the settled "docs not tool" call).
|
||||
- **Did:** Added § "Enabling hibernation on an existing machine (no reinstall)"
|
||||
to `docs/MIGRATION.md`: create `@swap` subvol (subvolid=5) + `mkswapfile`
|
||||
(NOCOW), read `map-swapfile -r` offset, wire `fileSystems."/swap"` +
|
||||
`swapDevices` + `resumeDevice` + `resume_offset` into system.nix. Flagged
|
||||
the mount as required on the hand-edit path (installer gets it from
|
||||
disko-gen hardware-config). Notes zram-priority reservation, no-LUKS
|
||||
variant, `swap=0` opt-out. Worked example = this dev machine.
|
||||
- **Verified:** **V0** — read-only commands run live against this machine's
|
||||
real LUKS(`cryptroot`)+btrfs(`@`)+`/swap/swapfile` layout (RAM 31G, fsuuid,
|
||||
`findmnt SOURCE`, `mkswapfile` flags, zram@100 vs swapfile@-1 confirms the
|
||||
design intent). `nix flake check --no-build` green.
|
||||
- **Pending:** slice 2 — Hibernate row notify-on-failure (V1/V2); then the
|
||||
V2 hibernate VM test + V3 laptop.
|
||||
- **Next suggestion:** slice 2 (menu notify-on-failure).
|
||||
|
||||
## 2026-07-10 — #76 hibernation design calls (no commit yet → this bookkeeping)
|
||||
- **Task:** BACKLOG #76 design slice — Bernardo made the open calls.
|
||||
- **Did:** Recon showed the hibernation half is **already built for new
|
||||
installs** (installer defaults swap=RAM hibernation-ready `@swap` swapfile;
|
||||
`patch-template.py` writes swapDevices/resumeDevice/resume_offset; Power
|
||||
menu Hibernate row + LUKS/hyprlock handling exist). Settled 3 calls:
|
||||
(1) swap sizing = **exactly RAM** (no change); (2) migration = **docs
|
||||
runbook in MIGRATION.md**, not a tool; (3) no-swap Hibernate = **keep row,
|
||||
notify on failure**. Folded into BACKLOG #76 (design ✓, re-sliced remaining:
|
||||
MIGRATION.md runbook + notify-on-failure menu) and Decisions.
|
||||
- **Verified:** **V0** — `nix flake check --no-build` green (docs-only).
|
||||
- **Pending:** two remaining slices below; V2 hibernate VM test + V3 laptop.
|
||||
- **Next suggestion:** slice 1 — `docs/MIGRATION.md` hibernation-enable runbook
|
||||
(V0), then slice 2 — Hibernate notify-on-failure (V1/V2).
|
||||
|
||||
## 2026-07-10 — #76 zram slice: compressed-RAM swap default
|
||||
- **Task:** BACKLOG #76 (`[big]`) — split; took the low-risk zram-default slice.
|
||||
- **Did:** `zramSwap` on by default in `modules/nixos/oom.nix` (zstd, 50% RAM,
|
||||
priority 100) as the memory-pressure layer before earlyoom, following the
|
||||
earlyoom mkDefault precedent (no toggle). High priority keeps day-to-day
|
||||
paging in zram so a disk swapfile stays reserved for #76's hibernate image.
|
||||
Added `checks.zram-swap` runNixOSTest (imports oom.nix). Split #76 in
|
||||
BACKLOG → remainder is the hibernation half (swapfile/resume/installer).
|
||||
- **Verified:** **V2** — `nix build .#checks…zram-swap` PASS: /dev/zram0 active
|
||||
in /proc/swaps, `[zstd]` comp_algorithm, priority 100. **V1** full distro
|
||||
toplevel builds. **V0** flake check --no-build green.
|
||||
- **Pending:** hibernation half of #76 still open (needs hibernate→resume VM
|
||||
test + V3 laptop). No V3 for zram (under-load tuning is secondary).
|
||||
- **Next suggestion:** #76 hibernation half — design default swapSize + the
|
||||
resume/installer wiring; it's the boot-critical, V2-hibernate + V3 part.
|
||||
|
||||
## 2026-07-10 — #41 hardware-confirmed: OpenFile portal floats (V3 close)
|
||||
- **Task:** BACKLOG #41 — final on-hardware confirmation (Bernardo reported PASS).
|
||||
- **Did:** #41 already out of NEXT + portal rule shipped
|
||||
(`hyprland.nix` xdg-desktop-portal-gtk float/center). Bernardo verified the
|
||||
GTK OpenFile file-picker floats on real hardware; dropped the "OpenFile not
|
||||
re-probed / optional residual" caveats in HARDWARE-QUEUE — #41 fully closed.
|
||||
- **Verified:** **V3** (Bernardo, Latitude). No code change. Bookkeeping only;
|
||||
QA-sweep guards run green this session: `nix flake check --no-build`,
|
||||
option-docs/template-sot/theme-sync-validate builds, contrast 24×7.
|
||||
- **Pending:** none for #41. NEXT head is #76 (hibernation + zram, `[big]`).
|
||||
- **Next suggestion:** split #76 — take the low-risk **zram-default** slice
|
||||
(V2-testable headlessly) before the boot-critical hibernate/resume work.
|
||||
|
||||
## 2026-07-10 — Close #41 GTK portal float rule
|
||||
- **Task:** BACKLOG #41 residual (GTK file-chooser portal class).
|
||||
- **Did:** Added float+center for `xdg-desktop-portal-gtk` /
|
||||
`.xdg-desktop-portal-gtk-wrapped` (desktop + libexec name from package).
|
||||
Polkit already PASS on Latitude. Removed #41 from NEXT; only #20 remains.
|
||||
- **Verified:** **V0** windowrule-syntax check path unchanged; class from
|
||||
package `xdg-desktop-portal-gtk.desktop` / community configs. SoftGL
|
||||
still cannot materialize portal dialogs.
|
||||
- **Pending:** optional hardware spot-check OpenFile floats (HARDWARE-QUEUE).
|
||||
- **Next suggestion:** #20 is `[human]` only — or LATER/PROPOSED triage.
|
||||
|
||||
## 2026-07-10 — Product calls: charge live, identity, btop, NVIDIA skip
|
||||
- **Task:** Bernardo decisions on remaining PROPOSED.
|
||||
- **Did:** (1) Instant charge-limit: udev GROUP=users on threshold,
|
||||
menu/powermgmt live sysfs + state, oneshot reads live theme-state +
|
||||
AC re-apply. (2) Look & Feel already had Theme/wallpaper/night light;
|
||||
added Reset wallpaper (auto). (3) NVIDIA first-class deferred past v1
|
||||
(HARDWARE.md). (4) Identity retunes: white L-steps, lumon subtext,
|
||||
hackerman surface+UI warn/bad, matte-black subtext, miasma bad.
|
||||
(5) Hand `btop.theme` for 9 identity/whole-swap slugs from palette map.
|
||||
- **Verified:** **V0** contrast 24×7; **V1** battery-charge-limit VM
|
||||
(udev restart). **V3** live charge write on real laptop (HARDWARE-QUEUE).
|
||||
- **Next suggestion:** only #20/#41 blocked, or Decisions.
|
||||
|
||||
## 2026-07-10 — Summer pair polish + status CSS + preview recapture
|
||||
- **Task:** finish agent-able PROPOSED theme leftovers.
|
||||
- **Did:** summer-day/night — JSON hierarchy (night subtext/muted/overlay
|
||||
ladder; day overlay≠muted); waybar CSS tokens track JSON roles; font
|
||||
13px both; day battery 25/10; VPN pill + full status states
|
||||
(.recording/.available/.on/.activated/battery warn). Recaptured
|
||||
executive-slate + neon-glass `preview.png` via theme-shot desktop
|
||||
(480×270). Closed those PROPOSED lines.
|
||||
- **Verified:** **V0** contrast 24×7 + wholeswap; **V2** theme-shot
|
||||
summer-day/night/executive-slate/neon-glass — viewed bar crops +
|
||||
previews. Identity taste retunes stay PROPOSED.
|
||||
- **Next suggestion:** only blocked NEXT (#20/#41) or product Decisions.
|
||||
|
||||
## 2026-07-10 — #74 matrix flags + #75 V2 install (default arm)
|
||||
- **Task:** NEXT #74 unattended matrix · #75 SoT V2 install after ISO.
|
||||
- **Did:** `NOMARCHY_TEST_SWAP_GB` / `NOMARCHY_TEST_NO_LUKS` drive
|
||||
`tools/test-install.sh` go.sh + first-boot LUKS skip; nixpkgs OVMF
|
||||
fallback. Full offline install V2 (SWAP=2 LUKS) after live ISO rebuild
|
||||
with starter packages — first-boot themed Boreal, no red banner.
|
||||
Closed #74/#75. Other matrix arms scripted (not full-ISO re-run).
|
||||
- **Verified:** **V2** — install powered off ~460s; first-boot.png
|
||||
viewed (`/tmp/nomarchy-vm-75/first-boot.png`): themed wallpaper +
|
||||
waybar (logo, clock, modules), doctor glyph, no autogen banner.
|
||||
- **Next suggestion:** NEXT only #20 [human] + #41 [blocked:hw].
|
||||
|
||||
## 2026-07-10 — Loop batch land #64–#73 (parallel worktrees)
|
||||
- **Task:** agent-actionable NEXT #64–#73 via worktree agents; land on main.
|
||||
- **Did:** #64 MIGRATION snapshots · #65 real-uid chown · #66 theme-state
|
||||
fail-closed reader · #67/#68 theme fidelity+ANSI · #69/#70 audit+import
|
||||
tools · #71 IR portal docs · #72 template-sot check · #73 MOTD/first-boot
|
||||
fingerprint+doctor tips. Agents did not push; parent cherry-picked
|
||||
(stripped agent BACKLOG races). Closed #64–#73.
|
||||
- **Verified:** **V0/V1** — theme-contrast 24×7 pass; template-sot green;
|
||||
bash -n install; flake check --no-build green.
|
||||
- **Next suggestion:** #74 unattended matrix + #75 V2 install (KVM).
|
||||
|
||||
## 2026-07-10 — Promote agent-actionable PROPOSED → NEXT #64–#75
|
||||
- **Task:** Bernardo: bump non-hw/non-human PROPOSED categories 1+2.
|
||||
- **Did:** **#64** MIGRATION snapshots · **#65** installer chown ·
|
||||
**#66** mkFlake theme-state errors · **#67** theme fidelity nits ·
|
||||
**#68** #52 residual ANSI · **#69** audit identity exemptions ·
|
||||
**#70** import-pipeline hierarchy · **#71** IR portal docs (a) ·
|
||||
**#72** template SoT CI · **#73** hardware hints residual · **#74**
|
||||
unattended install matrix · **#75** SoT V2 install. Breadcrumbs in
|
||||
PROPOSED; actionable items sit above #20/#41 in NEXT.
|
||||
- **Verified:** V0 (backlog only).
|
||||
- **Next suggestion:** queue head **#64** (docs) or batch #67/#68 themes.
|
||||
|
||||
## 2026-07-10 — PROPOSED cleanup (stale exam residue)
|
||||
- **Task:** Bernardo: clean stale PROPOSED items after A/B/C + #52 ship.
|
||||
- **Did:** Rewrote PROPOSED to open work only — dropped #52 shipped
|
||||
high-ROI bullets, neon-glass quarantine, empty/shipped installer
|
||||
audit sections, template seed drift (keys already present), soft
|
||||
gaps fixed by #50, and “no action” kanagawa/boreal notes. Kept
|
||||
product day-2, installer follow-ups, theme polish residuals, tooling.
|
||||
- **Verified:** V0 (backlog hygiene); spot-checked template keys,
|
||||
latte/mocha #52 fixes, usbutils, package exports.
|
||||
- **Next suggestion:** triage the lean PROPOSED list or HARDWARE-QUEUE.
|
||||
|
||||
## 2026-07-10 — Pending closeout: #14, #57 V2, #41 slice
|
||||
- **Task:** pending V2/CI/float leftovers after A/B/C batch.
|
||||
- **Did:** **#14 closed** — first scheduled lock bump landed
|
||||
`8fded63` (2026-07-06 Mon 05:20 UTC) as `nomarchy-bump` /
|
||||
`chore(lock): scheduled upstream bump` (Actions token push works).
|
||||
**#57 V2** — `checks.live-install-entry` asserts live HM gen has
|
||||
`nomarchy-install.desktop` (Name/Terminal/Exec) + installer bin +
|
||||
Tools menu gate in `nomarchy-menu`. **#41 slice** — float/center rules
|
||||
for hyprpolkitagent + pinentry-qt from package app-id strings;
|
||||
`tools/capture-float-classes.nix` harness (softGL empty clients);
|
||||
residual GTK portal stays NEXT `#41 [blocked:hw]`. HARDWARE-QUEUE
|
||||
float confirm steps added.
|
||||
- **Verified:** **V2** live-install-entry green; windowrule-syntax green.
|
||||
SoftGL class capture inconclusive (empty clients). **V3** float confirm
|
||||
+ fingerprint/#60 still HARDWARE-QUEUE. **#20** still `[human]`.
|
||||
- **Next suggestion:** Bernardo: #20 KVM runner, or HARDWARE-QUEUE pass.
|
||||
|
||||
## 2026-07-10 — #55 fingerprint menu + #56 human rebuild errors
|
||||
- **Task:** NEXT #55 (System › Fingerprint) + #56 (rebuild failure UX).
|
||||
- **Did:** #55 — System row self-gated on fprintd-list; enroll/list/verify/
|
||||
delete-all terminal flows; Use for login writes
|
||||
`settings.fingerprint.pam` (hardware.nix default from stateFile);
|
||||
HARDWARE.md §5 + HARDWARE-QUEUE V3 enroll. #56 — sys-update /
|
||||
sys-rebuild / home-update tee last 40 lines + nomarchy-doctor pointer;
|
||||
theme-sync run_switch notify/die text. Closed #55/#56.
|
||||
- **Verified:** **V1** — HM template rebuild (menu + theme-sync);
|
||||
option-docs green; failure-footer shell smoke. **V3 pending:** real
|
||||
fingerprint enroll (queue). **V2 pending:** forced bad sys-rebuild in
|
||||
VM (footer text pure/logic covered).
|
||||
- **Next suggestion:** queue was A–C; remaining NEXT is blocked items
|
||||
(#14/#20/#41) or PROPOSED triage.
|
||||
|
||||
## 2026-07-10 — #58 nomarchy-detect-hw CLI
|
||||
- **Task:** NEXT #58 — post-install re-probe package (HARDWARE.md §8).
|
||||
- **Did:** `pkgs/nomarchy-detect-hw` wrapping installer’s hardware-db;
|
||||
human report + snippets + `--raw` protocol; overlay + systemPackages;
|
||||
HARDWARE.md §8 updated. Closed #58.
|
||||
- **Verified:** **V1** — package builds; ran on this AMD laptop: correct
|
||||
MODULE/NOMARCHY lines (amd cpu/gpu, laptop, ssd, fingerprint, IR cam,
|
||||
NPU) and printable system.nix snippets.
|
||||
- **Next suggestion:** #55 fingerprint menu or #56 human rebuild errors.
|
||||
|
||||
## 2026-07-10 — #57 live Install Nomarchy affordance
|
||||
- **Task:** NEXT #57 — durable live-ISO install surface (not only toast).
|
||||
- **Did:** `xdg.desktopEntries.nomarchy-install` (Terminal=true) on live
|
||||
HM; Tools › Install Nomarchy self-gated on `command -v nomarchy-install`;
|
||||
welcome toast wording updated. Closed #57.
|
||||
- **Verified:** **V1** — live config eval exposes entry name/exec;
|
||||
`downstream-template-home` rebuilds with menu gate. **V2 pending:**
|
||||
ISO rebuild + smoke that the .desktop appears in the session.
|
||||
- **Next suggestion:** #58 `nomarchy-detect-hw` CLI.
|
||||
|
||||
## 2026-07-10 — #63 generated Waybar logo + powermenu
|
||||
- **Task:** NEXT #63 — reverse parity: generated bar lacked whole-swap
|
||||
logo → menu and power icon → power menu.
|
||||
- **Did:** `custom/nomarchy` (left, Nomarchy.ttf U+F000) + `custom/powermenu`
|
||||
(right, U+F011 → `nomarchy-menu power`) in generated settings/style.
|
||||
Fixed Nix `\uf000` pitfall (no `\u` escapes — use literal UTF-8).
|
||||
Whole-swaps already had both; no JSON/CSS edits. Closed #63.
|
||||
- **Verified:** **V2** — `THEME=tokyo-night` theme-shot: left monogram N,
|
||||
right power glyph, accent styling; config modules-left/right correct.
|
||||
Crop paths under `/tmp/theme-shot-tn2-*.png`.
|
||||
- **Next suggestion:** product path #55 fingerprint menu (or #57 live install).
|
||||
|
||||
## 2026-07-10 — #60 name-agnostic system-battery scan
|
||||
- **Task:** NEXT #60 — align charge-limit / menu / waybar / doctor /
|
||||
installer chassis with battery-notify’s type=Battery + !scope=Device
|
||||
|
||||
354
agent/JOURNAL.md
354
agent/JOURNAL.md
@@ -19,6 +19,19 @@ Template:
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-11 — QA sweep (queue empty but #76)
|
||||
- **Task:** QA sweep — NEXT only has #76 `[blocked:hw]`; no other
|
||||
actionable items.
|
||||
- **Did:** option-docs (88 opts) + template-sot green; HM generation has
|
||||
What changed? / doctor float / first-boot unit; rotated JOURNAL.md
|
||||
41→18 entries (tail → JOURNAL-ARCHIVE). No product code change.
|
||||
- **Verified:** **V2** — `nix flake check --no-build`; rebuilt green:
|
||||
doctor, first-boot, what-changed, clamshell-logind, dock-audio,
|
||||
windowrule-syntax, battery-notify, zram-swap, nightlight-geo.
|
||||
- **Pending:** #76 V3 hibernate on Nomarchy hardware; #86/#87 V3 dock QA.
|
||||
- **Next suggestion:** HARDWARE-QUEUE pass by human, or promote LATER
|
||||
wallpapers split / triage PROPOSED.
|
||||
|
||||
## 2026-07-11 — #87 dock audio sink priority
|
||||
- **Task:** NEXT #87 — default audio follows dock plug/unplug.
|
||||
- **Did:** WirePlumber `90-nomarchy-dock-audio` (HDMI/DP session prio
|
||||
@@ -299,344 +312,3 @@ Template:
|
||||
and 3 (Look & Feel menu) remain under #79.
|
||||
- **Next suggestion:** #79 slice 2 — the timer/hook (V2 runNixOSTest).
|
||||
|
||||
## 2026-07-10 — #78 Omarchy migrant doc (docs/OMARCHY.md)
|
||||
- **Task:** BACKLOG #78 (promoted from PROPOSED) — Omarchy→Nomarchy
|
||||
one-pager (`VISION § F`).
|
||||
- **Did:** New `docs/OMARCHY.md`: leads with the config-model shift
|
||||
(imperative dotfiles → declarative flake + menu, rollback via
|
||||
generations), then install (ISO/`nomarchy-install` or MIGRATION.md),
|
||||
a familiar-bindings table, theming (`SUPER+T`/`nomarchy-theme-sync`),
|
||||
packages (home.packages / `nix shell`, no AUR), update+rollback
|
||||
(`nomarchy-pull`/`-rebuild`/`-home`, boot-menu generations,
|
||||
`nomarchy-doctor`). Added to `docs/README.md` map + VISION § F ✓.
|
||||
- **Verified:** V0 (docs). Grounded Nomarchy side in code: pulled real
|
||||
binds from `keybinds.nix`; confirmed all 7 cited commands, the `nsearch`
|
||||
alias, and the named slugs (gruvbox/rose-pine/nord) exist. Kept
|
||||
Omarchy-side claims to known facts (Arch, dotfiles, pacman/AUR).
|
||||
- **Pending:** none.
|
||||
- **Next suggestion:** NEXT head #76 `[blocked:hw]`; last open PROPOSED is
|
||||
auto time-of-day theme pair (`§D`, `[big]` — needs splitting).
|
||||
|
||||
## 2026-07-10 — #77 doctor hibernate/sleep section (V2 PASS)
|
||||
- **Task:** BACKLOG #77 (promoted from PROPOSED by Bernardo) — read-only
|
||||
hibernate section in nomarchy-doctor (`VISION § C`, #76 follow-on).
|
||||
- **Did:** Added a hibernate/sleep row group to `nomarchy-doctor.sh`: resume
|
||||
device on cmdline (+ `resume_offset` for a swapfile), disk swap ≥ RAM,
|
||||
zram active, previous-boot suspend/hibernate error. Self-gates (`skip` on
|
||||
swap=0); only ok/warn/skip → never fails the sheet. Added `hibernate` to
|
||||
the `checks.doctor` probe list.
|
||||
- **Verified:** **V2 PASS** — `checks.doctor` VM test green (fresh build,
|
||||
exit 0; asserts the hibernate row renders + healthy run still 0). **V1** —
|
||||
ran on this box's real LUKS+@swap layout: all three `ok` rows render
|
||||
(resume set, swap 34G ≥ RAM, zram 16G) and the sheet reaches its verdict.
|
||||
**V0** bash -n + flake check.
|
||||
- **Gotcha (fixed + MEMORY):** the doctor runs `set -euo pipefail`; my first
|
||||
cut aborted before the verdict because a no-match `grep` inside `$(…)` and
|
||||
a `cond && action` both trip set -e. Fixed with `|| true` / `|| echo 0` and
|
||||
an `if`. First VM run caught it (exit 1, no verdict) — the test earned its keep.
|
||||
- **Pending:** none — fully agent-verifiable (read-only checks, no V3).
|
||||
- **Next suggestion:** NEXT head is #76 `[blocked:hw]`; remaining PROPOSED
|
||||
(Omarchy doc §F, auto time-of-day theme §D) await triage.
|
||||
|
||||
## 2026-07-10 — QA sweep (clean) + VISION-gap pass → 3 PROPOSED
|
||||
- **Task:** Bernardo — QA/drift sweep, then a VISION-gap pass with proposals.
|
||||
- **Did (sweep):** Fanned out two subagents (Bernardo OK'd spawning for
|
||||
efficiency): nomarchy-runner ran the deterministic checks + `bash -n`/
|
||||
`py_compile` (all PASS; the 4 "needs-args" scripts pass via their flake
|
||||
derivations); nomarchy-scout hunted fuzzy drift (dead code, stale refs,
|
||||
TODOs, changed-area contradictions, count/version) — **all clean**.
|
||||
Spot-checked scout's count claim myself: 24 theme JSONs / 24 previews /
|
||||
README "24 presets" — consistent. Eval sweep green. **No fixes needed.**
|
||||
- **Did (VISION):** Verified candidate gaps against the tree before
|
||||
proposing (killed two false gaps — nomarchy-rebuild/home already tail logs
|
||||
+ point at doctor on failure = §A shipped; `nvd diff` = §B covered; System
|
||||
› Firmware menu already exists). Filed 3 **PROPOSED** (verified open):
|
||||
doctor hibernate/sleep section (§C, top Day-2 pick, #76 follow-on),
|
||||
Omarchy migrant one-pager (§F), auto time-of-day theme pair (§D, `[big]`).
|
||||
- **Verified:** V0 (agent-notes/docs only). Sweep evidence above.
|
||||
- **Pending:** none. Proposals await Bernardo's triage into a tier.
|
||||
- **Next suggestion:** if a PROPOSED is promoted, the doctor hibernate
|
||||
section is the cleanest next build; else NEXT #76 stays `[blocked:hw]`.
|
||||
|
||||
## 2026-07-10 — Icon overrides: user-facing docs (OVERRIDES.md)
|
||||
- **Task:** Bernardo asked whether the session's features need user docs.
|
||||
- **Did:** Hibernation already covered (README swapfile line, MIGRATION.md
|
||||
runbook, discoverable Power-menu row) — no gap. Icons had one: the only
|
||||
doc was the template comment. Added an "Icon pack" subsection to
|
||||
`docs/OVERRIDES.md` § Appearance — `nomarchy-theme-sync set icons "<name>"`,
|
||||
the known-packs table, the ~1 GiB/opt-in rationale, and that the choice is
|
||||
sticky across `apply` (presets carry no icon field; verified `deep_merge`).
|
||||
- **Verified:** command path confirmed (`cmd_set` writes any dotted key;
|
||||
`icons` is a schema key). **Built all 4 packs and listed real theme dirs**
|
||||
to fix the examples — caught Qogir using capital `Qogir-Dark`/`Light`
|
||||
(lowercase would silently fall back to hicolor). Docs-only (V0).
|
||||
- **Pending:** none.
|
||||
- **Next suggestion:** NEXT #76 `[blocked:hw]`; LATER/QA-sweep next.
|
||||
|
||||
## 2026-07-10 — Icon themes: opt-in cross-pack overrides (no default bloat)
|
||||
- **Task:** LATER "per-theme icon overrides / more icon packs". Recon found
|
||||
papirus is already ~1 GiB and ships only Papirus/Dark/Light (no free
|
||||
variety); real variety needs extra packs at ~hundreds of MB each. Bernardo
|
||||
chose the **opt-in, no-default-bloat** shape (over shipping packs).
|
||||
- **Did:** `theme.nix` resolves `nomarchy.theme.iconThemePackage` from a
|
||||
small `iconPacks` registry (papirus·tela·qogir·reversal·numix, by name
|
||||
prefix). Default themes name `Papirus-*` → resolves to the *plain* papirus
|
||||
derivation (no symlinkJoin, identical closure); only a theme naming another
|
||||
pack's set symlinkJoins that one pack in. `stylix.nix` uses it
|
||||
(mkDefault). Opt-in note in `templates/downstream/home.nix`; ROADMAP §
|
||||
Icon themes updated (incl. the deliberate no-default-packs decision).
|
||||
- **Verified:** **V1** — HM activationPackage builds (exit 0). Eval proofs:
|
||||
default `iconThemePackage` = plain `papirus-icon-theme-*` (zero delta);
|
||||
with `icons="Tela-dark"` → `nomarchy-icon-themes` symlinkJoin (papirus+tela)
|
||||
and name flows, **without building tela**. All 5 pack attrs exist in the
|
||||
pinned nixpkgs. `template-sot` + `option-docs` + `flake check` green.
|
||||
- **Pending:** none. No default visual change (identical papirus), so no
|
||||
screenshot needed; the opt-in render is the downstream user's to see.
|
||||
- **Next suggestion:** NEXT still #76 `[blocked:hw]`; LATER/QA-sweep next.
|
||||
|
||||
## 2026-07-10 — #76 slice 3: hibernate VM test (V2 PASS) → #76 agent-complete
|
||||
- **Task:** BACKLOG #76 slice 3 — the mandatory V2 hibernate test + V3 queue.
|
||||
- **Did:** Added `checks.hibernate` (flake.nix), modeled on nixpkgs'
|
||||
hibernate.nix but wired to Nomarchy's #76 risk: imports oom.nix (zram
|
||||
default-on), disk swap at lower priority + explicit `boot.resumeDevice`,
|
||||
systemd-initrd. Test drives hibernate→power-off→resume→crash: ramfs marker
|
||||
survives resume, a crash-boot loses it (real resume, not a survivor), and
|
||||
asserts zram@100 + disk-swap<100 so the image lands on disk not volatile
|
||||
zram. Queued the V3 laptop steps (real LUKS+@swap+offset resume + no-swap
|
||||
notify) in HARDWARE-QUEUE. Collapsed #76 to a `[blocked:hw]` stub; design
|
||||
record → ROADMAP § "Hibernation + zram by default".
|
||||
- **Verified:** **V2 PASS** — `nix build .#checks.x86_64-linux.hibernate`
|
||||
built the driver fresh and exited 0 (all assertions held). `nix flake
|
||||
check --no-build` green.
|
||||
- **Pending:** only V3 (dev box / laptop) — #76's last check; close on PASS.
|
||||
- **Next suggestion:** #76 is now blocked:hw; NEXT head falls to LATER/
|
||||
PROPOSED triage or a QA sweep — pick per LOOP.md orientation next session.
|
||||
|
||||
## 2026-07-10 — #76 slice 2: Hibernate notify-on-failure
|
||||
- **Task:** BACKLOG #76 remaining slice 2 — per the settled "keep row, notify
|
||||
on failure" call.
|
||||
- **Did:** `modules/home/rofi.nix` power menu Hibernate arm now runs
|
||||
`systemctl hibernate 2>/dev/null || notify-send "Hibernate" "…see
|
||||
docs/MIGRATION.md"`. On success the call blocks until resume, so the notify
|
||||
only fires on a genuine failure (e.g. swap=0 no-swap machine). Row stays
|
||||
unconditional (no hiding).
|
||||
- **Verified:** **V1** — `nix build …homeConfigurations.nomarchy.activationPackage`
|
||||
green (rebuilds `nomarchy-menu.drv`; `writeShellScriptBin` runs bash -n at
|
||||
build). Control-flow proof on the arm extracted from the built script:
|
||||
failing `systemctl` → notify fires; succeeding → no notify. `nix flake
|
||||
check --no-build` green.
|
||||
- **Pending:** slice 3 = the V2 hibernate→resume VM test + V3 laptop
|
||||
(Hibernate→power off→resume on the LUKS+@swap machine; plus confirm the
|
||||
no-swap notify surfaces in a real session). Both remain open on #76.
|
||||
- **Next suggestion:** slice 3 — add a `checks.*` hibernate VM test (as far
|
||||
as QEMU allows) and queue the V3 laptop steps in HARDWARE-QUEUE.
|
||||
|
||||
## 2026-07-10 — #76 slice 1: MIGRATION.md hibernation runbook
|
||||
- **Task:** BACKLOG #76 remaining slice 1 — docs runbook for enabling
|
||||
hibernation on an existing machine (per the settled "docs not tool" call).
|
||||
- **Did:** Added § "Enabling hibernation on an existing machine (no reinstall)"
|
||||
to `docs/MIGRATION.md`: create `@swap` subvol (subvolid=5) + `mkswapfile`
|
||||
(NOCOW), read `map-swapfile -r` offset, wire `fileSystems."/swap"` +
|
||||
`swapDevices` + `resumeDevice` + `resume_offset` into system.nix. Flagged
|
||||
the mount as required on the hand-edit path (installer gets it from
|
||||
disko-gen hardware-config). Notes zram-priority reservation, no-LUKS
|
||||
variant, `swap=0` opt-out. Worked example = this dev machine.
|
||||
- **Verified:** **V0** — read-only commands run live against this machine's
|
||||
real LUKS(`cryptroot`)+btrfs(`@`)+`/swap/swapfile` layout (RAM 31G, fsuuid,
|
||||
`findmnt SOURCE`, `mkswapfile` flags, zram@100 vs swapfile@-1 confirms the
|
||||
design intent). `nix flake check --no-build` green.
|
||||
- **Pending:** slice 2 — Hibernate row notify-on-failure (V1/V2); then the
|
||||
V2 hibernate VM test + V3 laptop.
|
||||
- **Next suggestion:** slice 2 (menu notify-on-failure).
|
||||
|
||||
## 2026-07-10 — #76 hibernation design calls (no commit yet → this bookkeeping)
|
||||
- **Task:** BACKLOG #76 design slice — Bernardo made the open calls.
|
||||
- **Did:** Recon showed the hibernation half is **already built for new
|
||||
installs** (installer defaults swap=RAM hibernation-ready `@swap` swapfile;
|
||||
`patch-template.py` writes swapDevices/resumeDevice/resume_offset; Power
|
||||
menu Hibernate row + LUKS/hyprlock handling exist). Settled 3 calls:
|
||||
(1) swap sizing = **exactly RAM** (no change); (2) migration = **docs
|
||||
runbook in MIGRATION.md**, not a tool; (3) no-swap Hibernate = **keep row,
|
||||
notify on failure**. Folded into BACKLOG #76 (design ✓, re-sliced remaining:
|
||||
MIGRATION.md runbook + notify-on-failure menu) and Decisions.
|
||||
- **Verified:** **V0** — `nix flake check --no-build` green (docs-only).
|
||||
- **Pending:** two remaining slices below; V2 hibernate VM test + V3 laptop.
|
||||
- **Next suggestion:** slice 1 — `docs/MIGRATION.md` hibernation-enable runbook
|
||||
(V0), then slice 2 — Hibernate notify-on-failure (V1/V2).
|
||||
|
||||
## 2026-07-10 — #76 zram slice: compressed-RAM swap default
|
||||
- **Task:** BACKLOG #76 (`[big]`) — split; took the low-risk zram-default slice.
|
||||
- **Did:** `zramSwap` on by default in `modules/nixos/oom.nix` (zstd, 50% RAM,
|
||||
priority 100) as the memory-pressure layer before earlyoom, following the
|
||||
earlyoom mkDefault precedent (no toggle). High priority keeps day-to-day
|
||||
paging in zram so a disk swapfile stays reserved for #76's hibernate image.
|
||||
Added `checks.zram-swap` runNixOSTest (imports oom.nix). Split #76 in
|
||||
BACKLOG → remainder is the hibernation half (swapfile/resume/installer).
|
||||
- **Verified:** **V2** — `nix build .#checks…zram-swap` PASS: /dev/zram0 active
|
||||
in /proc/swaps, `[zstd]` comp_algorithm, priority 100. **V1** full distro
|
||||
toplevel builds. **V0** flake check --no-build green.
|
||||
- **Pending:** hibernation half of #76 still open (needs hibernate→resume VM
|
||||
test + V3 laptop). No V3 for zram (under-load tuning is secondary).
|
||||
- **Next suggestion:** #76 hibernation half — design default swapSize + the
|
||||
resume/installer wiring; it's the boot-critical, V2-hibernate + V3 part.
|
||||
|
||||
## 2026-07-10 — #41 hardware-confirmed: OpenFile portal floats (V3 close)
|
||||
- **Task:** BACKLOG #41 — final on-hardware confirmation (Bernardo reported PASS).
|
||||
- **Did:** #41 already out of NEXT + portal rule shipped
|
||||
(`hyprland.nix` xdg-desktop-portal-gtk float/center). Bernardo verified the
|
||||
GTK OpenFile file-picker floats on real hardware; dropped the "OpenFile not
|
||||
re-probed / optional residual" caveats in HARDWARE-QUEUE — #41 fully closed.
|
||||
- **Verified:** **V3** (Bernardo, Latitude). No code change. Bookkeeping only;
|
||||
QA-sweep guards run green this session: `nix flake check --no-build`,
|
||||
option-docs/template-sot/theme-sync-validate builds, contrast 24×7.
|
||||
- **Pending:** none for #41. NEXT head is #76 (hibernation + zram, `[big]`).
|
||||
- **Next suggestion:** split #76 — take the low-risk **zram-default** slice
|
||||
(V2-testable headlessly) before the boot-critical hibernate/resume work.
|
||||
|
||||
## 2026-07-10 — Close #41 GTK portal float rule
|
||||
- **Task:** BACKLOG #41 residual (GTK file-chooser portal class).
|
||||
- **Did:** Added float+center for `xdg-desktop-portal-gtk` /
|
||||
`.xdg-desktop-portal-gtk-wrapped` (desktop + libexec name from package).
|
||||
Polkit already PASS on Latitude. Removed #41 from NEXT; only #20 remains.
|
||||
- **Verified:** **V0** windowrule-syntax check path unchanged; class from
|
||||
package `xdg-desktop-portal-gtk.desktop` / community configs. SoftGL
|
||||
still cannot materialize portal dialogs.
|
||||
- **Pending:** optional hardware spot-check OpenFile floats (HARDWARE-QUEUE).
|
||||
- **Next suggestion:** #20 is `[human]` only — or LATER/PROPOSED triage.
|
||||
|
||||
## 2026-07-10 — Product calls: charge live, identity, btop, NVIDIA skip
|
||||
- **Task:** Bernardo decisions on remaining PROPOSED.
|
||||
- **Did:** (1) Instant charge-limit: udev GROUP=users on threshold,
|
||||
menu/powermgmt live sysfs + state, oneshot reads live theme-state +
|
||||
AC re-apply. (2) Look & Feel already had Theme/wallpaper/night light;
|
||||
added Reset wallpaper (auto). (3) NVIDIA first-class deferred past v1
|
||||
(HARDWARE.md). (4) Identity retunes: white L-steps, lumon subtext,
|
||||
hackerman surface+UI warn/bad, matte-black subtext, miasma bad.
|
||||
(5) Hand `btop.theme` for 9 identity/whole-swap slugs from palette map.
|
||||
- **Verified:** **V0** contrast 24×7; **V1** battery-charge-limit VM
|
||||
(udev restart). **V3** live charge write on real laptop (HARDWARE-QUEUE).
|
||||
- **Next suggestion:** only #20/#41 blocked, or Decisions.
|
||||
|
||||
## 2026-07-10 — Summer pair polish + status CSS + preview recapture
|
||||
- **Task:** finish agent-able PROPOSED theme leftovers.
|
||||
- **Did:** summer-day/night — JSON hierarchy (night subtext/muted/overlay
|
||||
ladder; day overlay≠muted); waybar CSS tokens track JSON roles; font
|
||||
13px both; day battery 25/10; VPN pill + full status states
|
||||
(.recording/.available/.on/.activated/battery warn). Recaptured
|
||||
executive-slate + neon-glass `preview.png` via theme-shot desktop
|
||||
(480×270). Closed those PROPOSED lines.
|
||||
- **Verified:** **V0** contrast 24×7 + wholeswap; **V2** theme-shot
|
||||
summer-day/night/executive-slate/neon-glass — viewed bar crops +
|
||||
previews. Identity taste retunes stay PROPOSED.
|
||||
- **Next suggestion:** only blocked NEXT (#20/#41) or product Decisions.
|
||||
|
||||
## 2026-07-10 — #74 matrix flags + #75 V2 install (default arm)
|
||||
- **Task:** NEXT #74 unattended matrix · #75 SoT V2 install after ISO.
|
||||
- **Did:** `NOMARCHY_TEST_SWAP_GB` / `NOMARCHY_TEST_NO_LUKS` drive
|
||||
`tools/test-install.sh` go.sh + first-boot LUKS skip; nixpkgs OVMF
|
||||
fallback. Full offline install V2 (SWAP=2 LUKS) after live ISO rebuild
|
||||
with starter packages — first-boot themed Boreal, no red banner.
|
||||
Closed #74/#75. Other matrix arms scripted (not full-ISO re-run).
|
||||
- **Verified:** **V2** — install powered off ~460s; first-boot.png
|
||||
viewed (`/tmp/nomarchy-vm-75/first-boot.png`): themed wallpaper +
|
||||
waybar (logo, clock, modules), doctor glyph, no autogen banner.
|
||||
- **Next suggestion:** NEXT only #20 [human] + #41 [blocked:hw].
|
||||
|
||||
## 2026-07-10 — Loop batch land #64–#73 (parallel worktrees)
|
||||
- **Task:** agent-actionable NEXT #64–#73 via worktree agents; land on main.
|
||||
- **Did:** #64 MIGRATION snapshots · #65 real-uid chown · #66 theme-state
|
||||
fail-closed reader · #67/#68 theme fidelity+ANSI · #69/#70 audit+import
|
||||
tools · #71 IR portal docs · #72 template-sot check · #73 MOTD/first-boot
|
||||
fingerprint+doctor tips. Agents did not push; parent cherry-picked
|
||||
(stripped agent BACKLOG races). Closed #64–#73.
|
||||
- **Verified:** **V0/V1** — theme-contrast 24×7 pass; template-sot green;
|
||||
bash -n install; flake check --no-build green.
|
||||
- **Next suggestion:** #74 unattended matrix + #75 V2 install (KVM).
|
||||
|
||||
## 2026-07-10 — Promote agent-actionable PROPOSED → NEXT #64–#75
|
||||
- **Task:** Bernardo: bump non-hw/non-human PROPOSED categories 1+2.
|
||||
- **Did:** **#64** MIGRATION snapshots · **#65** installer chown ·
|
||||
**#66** mkFlake theme-state errors · **#67** theme fidelity nits ·
|
||||
**#68** #52 residual ANSI · **#69** audit identity exemptions ·
|
||||
**#70** import-pipeline hierarchy · **#71** IR portal docs (a) ·
|
||||
**#72** template SoT CI · **#73** hardware hints residual · **#74**
|
||||
unattended install matrix · **#75** SoT V2 install. Breadcrumbs in
|
||||
PROPOSED; actionable items sit above #20/#41 in NEXT.
|
||||
- **Verified:** V0 (backlog only).
|
||||
- **Next suggestion:** queue head **#64** (docs) or batch #67/#68 themes.
|
||||
|
||||
## 2026-07-10 — PROPOSED cleanup (stale exam residue)
|
||||
- **Task:** Bernardo: clean stale PROPOSED items after A/B/C + #52 ship.
|
||||
- **Did:** Rewrote PROPOSED to open work only — dropped #52 shipped
|
||||
high-ROI bullets, neon-glass quarantine, empty/shipped installer
|
||||
audit sections, template seed drift (keys already present), soft
|
||||
gaps fixed by #50, and “no action” kanagawa/boreal notes. Kept
|
||||
product day-2, installer follow-ups, theme polish residuals, tooling.
|
||||
- **Verified:** V0 (backlog hygiene); spot-checked template keys,
|
||||
latte/mocha #52 fixes, usbutils, package exports.
|
||||
- **Next suggestion:** triage the lean PROPOSED list or HARDWARE-QUEUE.
|
||||
|
||||
## 2026-07-10 — Pending closeout: #14, #57 V2, #41 slice
|
||||
- **Task:** pending V2/CI/float leftovers after A/B/C batch.
|
||||
- **Did:** **#14 closed** — first scheduled lock bump landed
|
||||
`8fded63` (2026-07-06 Mon 05:20 UTC) as `nomarchy-bump` /
|
||||
`chore(lock): scheduled upstream bump` (Actions token push works).
|
||||
**#57 V2** — `checks.live-install-entry` asserts live HM gen has
|
||||
`nomarchy-install.desktop` (Name/Terminal/Exec) + installer bin +
|
||||
Tools menu gate in `nomarchy-menu`. **#41 slice** — float/center rules
|
||||
for hyprpolkitagent + pinentry-qt from package app-id strings;
|
||||
`tools/capture-float-classes.nix` harness (softGL empty clients);
|
||||
residual GTK portal stays NEXT `#41 [blocked:hw]`. HARDWARE-QUEUE
|
||||
float confirm steps added.
|
||||
- **Verified:** **V2** live-install-entry green; windowrule-syntax green.
|
||||
SoftGL class capture inconclusive (empty clients). **V3** float confirm
|
||||
+ fingerprint/#60 still HARDWARE-QUEUE. **#20** still `[human]`.
|
||||
- **Next suggestion:** Bernardo: #20 KVM runner, or HARDWARE-QUEUE pass.
|
||||
|
||||
## 2026-07-10 — #55 fingerprint menu + #56 human rebuild errors
|
||||
- **Task:** NEXT #55 (System › Fingerprint) + #56 (rebuild failure UX).
|
||||
- **Did:** #55 — System row self-gated on fprintd-list; enroll/list/verify/
|
||||
delete-all terminal flows; Use for login writes
|
||||
`settings.fingerprint.pam` (hardware.nix default from stateFile);
|
||||
HARDWARE.md §5 + HARDWARE-QUEUE V3 enroll. #56 — sys-update /
|
||||
sys-rebuild / home-update tee last 40 lines + nomarchy-doctor pointer;
|
||||
theme-sync run_switch notify/die text. Closed #55/#56.
|
||||
- **Verified:** **V1** — HM template rebuild (menu + theme-sync);
|
||||
option-docs green; failure-footer shell smoke. **V3 pending:** real
|
||||
fingerprint enroll (queue). **V2 pending:** forced bad sys-rebuild in
|
||||
VM (footer text pure/logic covered).
|
||||
- **Next suggestion:** queue was A–C; remaining NEXT is blocked items
|
||||
(#14/#20/#41) or PROPOSED triage.
|
||||
|
||||
## 2026-07-10 — #58 nomarchy-detect-hw CLI
|
||||
- **Task:** NEXT #58 — post-install re-probe package (HARDWARE.md §8).
|
||||
- **Did:** `pkgs/nomarchy-detect-hw` wrapping installer’s hardware-db;
|
||||
human report + snippets + `--raw` protocol; overlay + systemPackages;
|
||||
HARDWARE.md §8 updated. Closed #58.
|
||||
- **Verified:** **V1** — package builds; ran on this AMD laptop: correct
|
||||
MODULE/NOMARCHY lines (amd cpu/gpu, laptop, ssd, fingerprint, IR cam,
|
||||
NPU) and printable system.nix snippets.
|
||||
- **Next suggestion:** #55 fingerprint menu or #56 human rebuild errors.
|
||||
|
||||
## 2026-07-10 — #57 live Install Nomarchy affordance
|
||||
- **Task:** NEXT #57 — durable live-ISO install surface (not only toast).
|
||||
- **Did:** `xdg.desktopEntries.nomarchy-install` (Terminal=true) on live
|
||||
HM; Tools › Install Nomarchy self-gated on `command -v nomarchy-install`;
|
||||
welcome toast wording updated. Closed #57.
|
||||
- **Verified:** **V1** — live config eval exposes entry name/exec;
|
||||
`downstream-template-home` rebuilds with menu gate. **V2 pending:**
|
||||
ISO rebuild + smoke that the .desktop appears in the session.
|
||||
- **Next suggestion:** #58 `nomarchy-detect-hw` CLI.
|
||||
|
||||
## 2026-07-10 — #63 generated Waybar logo + powermenu
|
||||
- **Task:** NEXT #63 — reverse parity: generated bar lacked whole-swap
|
||||
logo → menu and power icon → power menu.
|
||||
- **Did:** `custom/nomarchy` (left, Nomarchy.ttf U+F000) + `custom/powermenu`
|
||||
(right, U+F011 → `nomarchy-menu power`) in generated settings/style.
|
||||
Fixed Nix `\uf000` pitfall (no `\u` escapes — use literal UTF-8).
|
||||
Whole-swaps already had both; no JSON/CSS edits. Closed #63.
|
||||
- **Verified:** **V2** — `THEME=tokyo-night` theme-shot: left monogram N,
|
||||
right power glyph, accent styling; config modules-left/right correct.
|
||||
Crop paths under `/tmp/theme-shot-tn2-*.png`.
|
||||
- **Next suggestion:** product path #55 fingerprint menu (or #57 live install).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user