aboutsummaryrefslogtreecommitdiff
path: root/todo.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-14 22:40:57 -0500
committerCraig Jennings <c@cjennings.net>2026-06-14 22:40:57 -0500
commit4490074a2ebaa903e5db06f7f388174785a927ec (patch)
treed559bc52b0d2b155a1b0d16692b6c904bbe6a88c /todo.org
parent8661faa4ce8f62dce05bd5aaf29948194a8c01d3 (diff)
downloadarchsetup-4490074a2ebaa903e5db06f7f388174785a927ec.tar.gz
archsetup-4490074a2ebaa903e5db06f7f388174785a927ec.zip
chore(todo): close package-inventory tasks, regrade CI/CD
I marked the two package-inventory tasks DONE. Both are satisfied by scripts/package-inventory, now covered by characterization tests and a make package-diff target. I demoted the CI/CD pipeline task to C, since a full VM install per commit isn't realistic active backlog.
Diffstat (limited to 'todo.org')
-rw-r--r--todo.org33
1 files changed, 21 insertions, 12 deletions
diff --git a/todo.org b/todo.org
index ff4165c..23d6fef 100644
--- a/todo.org
+++ b/todo.org
@@ -14,6 +14,9 @@ Four levels, matching the Emacs config (=org-highest-priority ?A=, =org-lowest-p
Rule of thumb: A = dated-and-must; B = the active backlog; C = parking lot; D = untriaged. Fixing the undated A/B tasks means either dating them or demoting to C.
* Archsetup Open Work
** TODO [#B] Scrolling layout: frame fit + wrap-around :hyprland:
+:PROPERTIES:
+:LAST_REVIEWED: 2026-06-13
+:END:
Disabled 2026-06-12 (bind and cycle entry points removed; Super+Shift+S reassigned to whole-desktop screenshot). The layout needs real work before it earns its chord back:
- What fits in each frame: column/frame sizing so windows land at usable widths instead of arbitrary slices.
- Wrap-around: navigating past the last frame should wrap to the first (and vice versa).
@@ -399,15 +402,15 @@ Add kernel parameter: ~rtc_cmos.use_acpi_alarm=1~ (will become systemd default)
Consider: ~acpi_mask_gpe=0x1A~ for battery drain, suspend-then-hibernate config
See Framework community notes on logind.conf and sleep.conf settings
-** TODO [#B] Build CI/CD pipeline that runs archsetup on every commit
+** TODO [#C] Build CI/CD pipeline that runs archsetup on every commit
:PROPERTIES:
-:LAST_REVIEWED: 2026-05-21
+:LAST_REVIEWED: 2026-06-13
:END:
Core automation infrastructure - enables continuous validation
** TODO [#B] Fix install errors surfaced by the 2026-05-11 VM test run
:PROPERTIES:
-:LAST_REVIEWED: 2026-05-21
+:LAST_REVIEWED: 2026-06-13
:END:
Errors logged during the VM install. Status as of the 2026-05-11 18:36 run (=test-results/20260511-183643/archsetup-output.log=) after the =48c9439= fontconfig/dconf fix: 7 → 6.
- refreshing font cache — RESOLVED in =48c9439= (now installs =fontconfig= before calling =fc-cache=).
@@ -430,32 +433,38 @@ Root cause was in =retry_install=: =last_exit_code=$?= ran AFTER =if eval ...; t
** TODO [#B] Generate recovery scripts from test failures
:PROPERTIES:
-:LAST_REVIEWED: 2026-05-21
+:LAST_REVIEWED: 2026-06-13
:END:
Auto-create post-install fix scripts for failed packages - makes failures actionable
-** TODO [#B] Create package inventory system
+** DONE [#B] Create package inventory system
+CLOSED: [2026-06-14 Sun]
:PROPERTIES:
-:LAST_REVIEWED: 2026-05-21
+:LAST_REVIEWED: 2026-06-13
:END:
-*** TODO [#A] List all packages archsetup would install (including dependencies)
-*** TODO [#A] List all packages currently installed on live system
-*** TODO [#A] Generate diff showing what's in archsetup vs what's on system
+Satisfied by =scripts/package-inventory= (the same script that closes "Automate the inventory comparison" above). It lists archsetup's declared packages, lists the live system's packages, and prints the diff in both directions. Design note: it compares explicit-vs-explicit (=pacman -Qqe= against declared =pacman_install=/=aur_install=), which is the meaningful comparison — the original "including dependencies" framing was superseded, since transitive deps are pulled automatically and listing full closures would only add noise.
+*** 2026-06-14 Sun @ 22:13:48 -0500 Listed archsetup's declared packages — package-inventory extraction (pacman_install/aur_install + for-loop lists)
+*** 2026-06-14 Sun @ 22:13:48 -0500 Listed live-system packages — package-inventory via pacman -Qqe / -Qq / -Qqen / -Qqem
+*** 2026-06-14 Sun @ 22:13:48 -0500 Generated archsetup-vs-system diff — package-inventory, both directions, AUR/official split
** TODO [#B] Establish monthly review workflow
:PROPERTIES:
-:LAST_REVIEWED: 2026-05-21
+:LAST_REVIEWED: 2026-06-13
:END:
+The diff engine now exists (=scripts/package-inventory= / =make package-diff=), so what remains here is the cadence, not the tooling: a scheduled prompt to run the diff and act on it. Subtasks 1-2 are the recurring human judgment the engine feeds; subtask 3 is the automation to schedule it.
*** TODO [#A] For packages in archsetup but not on system: determine if still needed
*** TODO [#A] For packages on system but not in archsetup: decide add or remove
*** TODO [#A] Schedule monthly package diff review
-** TODO [#B] Automate the inventory comparison
+** DONE [#B] Automate the inventory comparison :test:solo:
+CLOSED: [2026-06-14 Sun]
:PROPERTIES:
-:LAST_REVIEWED: 2026-05-21
+:LAST_REVIEWED: 2026-06-13
:END:
Make package diff a runnable script instead of manual process
+Resolved 2026-06-14: the runnable script already existed — =scripts/package-inventory= (built 2026-02-06) extracts archsetup's declared packages and diffs them against the live system (=--summary= / =--archsetup-only= / =--system-only= / full report). This pass added the missing coverage: 7 characterization tests in =tests/package-inventory/= pinning the extraction and both diff directions behind injectable =PKGINV_ARCHSETUP= / =PKGINV_PACMAN= seams, plus a =make package-diff= target for discoverability. Full unit suite green (26 tests, 3 suites).
+
** TODO [#B] Complete security education within 3 months
:PROPERTIES:
:LAST_REVIEWED: 2026-05-21