aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-11 04:38:14 -0500
committerCraig Jennings <c@cjennings.net>2026-06-11 04:38:14 -0500
commitcfec6e44d5664ce6d970c505c63d230ac5f4522b (patch)
treee26d7367291a584044af1fbb25cc56c8b9f1ea31
parent19015c77c7d059d7bbc65270c6985f6cbc2330a3 (diff)
downloadarchsetup-cfec6e44d5664ce6d970c505c63d230ac5f4522b.tar.gz
archsetup-cfec6e44d5664ce6d970c505c63d230ac5f4522b.zip
chore(todo): velox restow-conflict note on per-host task; file processed handoffs
-rw-r--r--assets/outbox/2026-06-10-1526-from-.emacs.d-handoff-screenshot-crash.org18
-rw-r--r--assets/outbox/2026-06-10-1812-from-rulesets-handoff-archsetup-roam-units.org15
-rw-r--r--assets/outbox/2026-06-10-1816-from-rulesets-handoff-migrate-memories.org19
-rw-r--r--todo.org11
4 files changed, 57 insertions, 6 deletions
diff --git a/assets/outbox/2026-06-10-1526-from-.emacs.d-handoff-screenshot-crash.org b/assets/outbox/2026-06-10-1526-from-.emacs.d-handoff-screenshot-crash.org
new file mode 100644
index 0000000..d67ca1d
--- /dev/null
+++ b/assets/outbox/2026-06-10-1526-from-.emacs.d-handoff-screenshot-crash.org
@@ -0,0 +1,18 @@
+* screenshot.py --launch likely crashed Hyprland (2026-06-10 15:15)
+
+While capturing a throwaway Emacs frame for theme-studio bevel work on ratio, the screenshot harness's --launch mode (create a headless output, render the app there, capture, tear down) appears to have crashed Hyprland.
+
+Timeline, from instance dirs and pid start times:
+- 15:14 — screenshot.py --launch 'emacs -Q --eval ...' --layout floating ran and returned a PNG (the Emacs window never appeared in it; the capture shows only waybar on the headless output).
+- 15:15:32 — a new Hyprland instance dir appeared (first restart).
+- 15:15:40 — a second new instance dir; the surviving Hyprland pid (1171040) started 15:15:39. So the compositor died, and its first respawn died too, within 8 seconds.
+- The session's original instance (02:08) socket was gone afterward. All Wayland windows from before 15:15 died with it.
+
+The machine was otherwise idle (Craig away, only the Claude session active), so the headless-output create/teardown is the prime suspect — possibly interacting with the strix kernel (6.18.25-1-lts-strix) or the floating-layout window move. A second --launch attempt a minute later failed differently (stale HYPRLAND_INSTANCE_SIGNATURE in the session env), so the crash path was only exercised once.
+
+What this asks of archsetup:
+1. Check Hyprland logs / coredumpctl around 2026-06-10 15:15 on ratio for the crash signature.
+2. Review the --launch teardown ordering in the screenshot harness (output removal while a client window is mid-map seems like the risky window, given the captured PNG shows the launched app never mapped).
+3. Until understood, treat --launch as unsafe on a live session; the other modes (--full, --window, --active) don't touch outputs and stayed fine.
+
+The .emacs.d session paged Craig at the time and avoided --launch for the rest of the day. Happy to provide the exact command and PNG (/tmp/emacs-bevel-ref.png) if they help.
diff --git a/assets/outbox/2026-06-10-1812-from-rulesets-handoff-archsetup-roam-units.org b/assets/outbox/2026-06-10-1812-from-rulesets-handoff-archsetup-roam-units.org
new file mode 100644
index 0000000..1255fb6
--- /dev/null
+++ b/assets/outbox/2026-06-10-1812-from-rulesets-handoff-archsetup-roam-units.org
@@ -0,0 +1,15 @@
+#+TITLE: New systemd user units — roam KB git auto-sync (consider dotfiles adoption)
+#+DATE: 2026-06-10
+
+* What happened
+
+The org-roam KB moved from the ~/sync/org Syncthing share to a git repo (git@cjennings.net:roam.git, checkout ~/org/roam) — rulesets agent-knowledge-base spec, decision D8.
+
+* New units on this machine
+
+~/.config/systemd/user/roam-sync.{service,timer} — every 15 minutes: commit local roam edits, pull --rebase, push. Canonical copies live in rulesets at scripts/systemd/, and the script is scripts/roam-sync.sh (bats-tested). A monthly roam-hygiene timer is being added in the same change set.
+
+* Asks
+
+1. Consider adopting the unit files into the stow dotfiles so they reach other machines automatically.
+2. Each other personal machine needs a one-time setup: clone git@cjennings.net:roam.git to ~/org/roam, then copy + enable the units (cp ~/code/rulesets/scripts/systemd/roam-sync.* ~/.config/systemd/user/ && systemctl --user daemon-reload && systemctl --user enable --now roam-sync.timer). Note: Syncthing will have already replaced each machine's ~/sync/org/roam with a symlink pointing at ~/org/roam, so Emacs there is broken on the old path until the clone lands. The work machine deliberately gets no clone.
diff --git a/assets/outbox/2026-06-10-1816-from-rulesets-handoff-migrate-memories.org b/assets/outbox/2026-06-10-1816-from-rulesets-handoff-migrate-memories.org
new file mode 100644
index 0000000..25ca602
--- /dev/null
+++ b/assets/outbox/2026-06-10-1816-from-rulesets-handoff-migrate-memories.org
@@ -0,0 +1,19 @@
+#+TITLE: One-time guided memory sweep — promote durable facts to the agent KB
+#+DATE: 2026-06-10
+
+* What this is
+
+The shared agent knowledge base is live: Craig's org-roam at ~/org/roam, now a git repo (git@cjennings.net:roam.git). The new global rule ~/.claude/rules/knowledge-base.md carries the full contract: query commands, write schema, the work/personal boundary, and inclusion criteria.
+
+This handoff asks for the one-time Phase 1.5 sweep in this project (agent KB spec, rulesets).
+
+* What to do (once, next session)
+
+1. Read this project's harness memory dir (~/.claude/projects/<encoded-cwd>/memory/).
+2. Classify each fact against knowledge-base.md's inclusion criteria: KB-worthy (durable, cross-project or cross-machine value) / stays local (project-scoped, or already encoded in a rules file) / stale-delete.
+3. Propose the batch to Craig for approval, then write approved facts as one-node-per-fact files under ~/org/roam/agents/ per the rule's schema (pull first, commit + push after).
+4. Reply to rulesets' inbox with counts (promoted / kept local / deleted).
+
+Work-classified projects don't write to the KB — if that's this project, the sweep is a no-op; just reply saying so.
+
+Worked example: rulesets promoted 3 of its 6 memories (a notify pattern, the pdftools venv, the gpg-agent SSH TTL trap) and kept the rest local as rule-encoded or project-scoped.
diff --git a/todo.org b/todo.org
index 027dda5..67de890 100644
--- a/todo.org
+++ b/todo.org
@@ -318,6 +318,9 @@ velox keeps laptop-specific configs (foot font, pypr scratchpad sizing for 2256x
Spec: [[file:docs/PLAN-per-host-overrides.org][docs/PLAN-per-host-overrides.org]] — gated on review before implementation.
+*** 2026-06-11 Wed @ 04:40:00 -0500 AI Response: Second restow-conflict instance on velox
+The roam-units rollout hit this again: =make restow hyprland= on velox aborted on three real files (foot.ini font size 12, the velox-tuned pypr config.toml, an older waybar config). The roam systemd units were linked manually to unblock; everything else velox should have picked up from recent dotfiles work (mic-toggle, quick-capture, airplane-mode hardening, ranger plugin) is still NOT stowed there — velox's tree stays partially stale until this mechanism ships. That raises this task's practical urgency: velox can no longer cleanly receive dotfiles changes at all.
+
*** 2026-05-26 Tue @ 10:21:08 -0500 AI Response: Spec written, gated on review
Surfaced by a HiDPI scaling failure: a per-app =QT_SCALE_FACTOR=1.5= in the shared =Zoom.desktop= (meant for velox) made Zoom open enormous on ratio. Reverted that patch to plain =/usr/bin/zoom %U=; the durable fix is this mechanism. Proposed approach: a per-host stow tier (=ratio/=, =velox/=) stowed as =common + hyprland + $(uname -n)=, with the existing =conf.d/*.conf= glob as the first clean tenant — move =local.conf= out of the shared =hyprland/= tier into per-host tiers so each machine gets its own (HiDPI monitor scale + =env = QT_SCALE_FACTOR/GDK_SCALE= on velox, minimal on ratio). XWayland apps don't scale via the compositor (=force_zero_scaling=true=), so toolkit env vars set in =conf.d= are the right layer — kills per-app =.desktop= hacks. Open question in the spec: whole-file configs with no include directive (waybar JSON, pypr toml) need a separate strategy. Full design + 5 open questions for Craig in the spec.
@@ -767,12 +770,8 @@ CLOSED: [2026-06-10 Wed]
:END:
Shipped 2026-06-10 as dotfiles commit =2054da4=: =dotfiles-validate= in =common/.local/bin/= (11 unit tests). Extracts commands from hypr exec/bind-exec lines, waybar exec/on-click/on-scroll values, and systemd user-unit Exec* lines, then verifies each resolves. First run found 4 real orphans — see the follow-up task below.
-*** TODO Fix the 4 orphaned references dotfiles-validate found :quick:
-- =hyprland.conf:206= tor-browser (Ctrl+Alt+W bind, binary not installed on ratio)
-- =hyprland.conf:208= virtualbox (Super+V bind, binary not installed on ratio)
-- =common/.config/systemd/user/emacs.service:7= ExecStart points at =~/.local/bin/emacs= (doesn't exist; emacs is =/usr/bin/emacs=)
-- =minimal/.config/systemd/user/emacs.service:7= same dangling ExecStart
-Decide per item: install the binary, repoint, or drop the reference.
+*** 2026-06-11 Thu @ 00:44:41 -0500 All 4 orphaned references fixed; validator fully clean
+Both emacs.service units repointed to /usr/bin/emacs (dotfiles =cd15d9b=), and per Craig's call the tor-browser and virtualbox keybinds were dropped rather than backed by installs (dotfiles =e4cb4c2= — Ctrl+Alt+W and Super+V now free). dotfiles-validate: 102 references checked, all resolve.
** TODO [#B] Test security + functionality together
:PROPERTIES: