<feed xmlns='http://www.w3.org/2005/Atom'>
<title>archsetup, branch main</title>
<subtitle>Builds a full dev workstation from a bare Arch Linux install.
</subtitle>
<id>https://git.cjennings.net/archsetup/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/archsetup/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/'/>
<updated>2026-08-01T03:45:08+00:00</updated>
<entry>
<title>docs: keep the timeline face's design history, not its engine</title>
<updated>2026-08-01T03:45:08+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-08-01T03:45:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=f487561cfa340b87b6595180a4acb8872fb538a3'/>
<id>urn:sha1:f487561cfa340b87b6595180a4acb8872fb538a3</id>
<content type='text'>
Six prototypes from the world-face work, kept as the record of how the design got to where it is. The first five are self-contained; prototype 6 and the option-A pages load the engine, so they read here but do not run here.

The engine stays out on purpose. It carries the list of places I travel to, with coordinates, and this repo is published — a design record is not worth publishing that for. The README says how to copy the modules in locally to run prototype 6, and gitignore keeps such a copy from being committed by accident.

Dropping the prototype test target with it: the engine and its tests now live in one place, so the suite runs once rather than twice over identical files.
</content>
</entry>
<entry>
<title>chore(todo): archive resolved work and move the wolf config out of the tree</title>
<updated>2026-07-29T11:27:35+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-29T11:27:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=5fe4b7d28ab78c46b9ca850e6f7ef0bca14702c3'/>
<id>urn:sha1:5fe4b7d28ab78c46b9ca850e6f7ef0bca14702c3</id>
<content type='text'>
Three finished subtrees move into Resolved: the runpm reboot, the caffeine readability fixes, and the relaunch-logging task that its own instrument superseded.

The encrypted wolf config now lives outside this repo. Leaving it untracked in the working tree was the wrong resting place, because one "git add -A" would put a live key into a repo that cgit still serves anonymously. The importer cannot read an encrypted config anyway, so keeping it here bought nothing.
</content>
</entry>
<entry>
<title>docs(todo): record the lock-chain regression and the watch collision</title>
<updated>2026-07-29T10:59:09+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-29T10:59:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=b8e3ae2b96aece445d563e63bb6fee53800859a9'/>
<id>urn:sha1:b8e3ae2b96aece445d563e63bb6fee53800859a9</id>
<content type='text'>
The night watch and the screen-lock watchdog fight over the session lock. The watch kills hyprlock by design to reveal its kiosk, and the watchdog reads that SIGTERM as a crash and relaunches. That is the root cause of the lockdead screens, and it retires both earlier theories: the AMD parameter was live throughout, and nothing ever crashed.

Also files the renderer regression that dropped the wrapper out of lock_cmd, and the "SCREEN OFF" label that reads as a status report rather than the action its stage performs.

Three gradings corrected after review. Two claimed a security carve-out for what is really an availability problem, which inflated them past what the matrix gives. A third reached [#C] and wrote [#B] beside it, which overrides the letter instead of fixing the input. Each correction is recorded in its own task body rather than quietly applied, so the reasoning can be argued with.

The reboot task's claim that amdgpu.runpm=0 was the root cause is marked superseded for the same reason.
</content>
</entry>
<entry>
<title>docs(todo): close the reboot and caffeine fixes, file four findings</title>
<updated>2026-07-29T02:37:55+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-29T02:37:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=2d9dcc942fc16b8e5bcbe0a6eced5a71f639ae29'/>
<id>urn:sha1:2d9dcc942fc16b8e5bcbe0a6eced5a71f639ae29</id>
<content type='text'>
The 2026-07-28 reboot cut the session short before two finished tasks could be closed. amdgpu.runpm=0 is confirmed live in /proc/cmdline, and the caffeine readability work shipped, so both close now.

Four new entries. Desktop settings didn't survive a session restart. Timer presets should start in one click. hyprlock still exits mid-lock, and its watchdog relaunch left no durable trace. The wireguard gpg convention is inert: the importer globs *.conf only and carries no gpg call, so the stated promise that it decrypts at import is false. That last one is why the newly encrypted wolf config stays untracked for now.

The hyprlock grading first read "some users sometimes", which the matrix maps to P3 rather than the [#B] written beside it. The frequency row was the wrong input. On a one-user machine, twice in three days is frequent, so I corrected the input rather than the letter.

Also corrected an earlier claim that night light "has likely never worked" from the config. It launches fine by hand and survives. It loses a race against compositor readiness at session start, and nothing relaunches it.
</content>
</entry>
<entry>
<title>docs: archive resolved publish-lock decision</title>
<updated>2026-07-27T18:54:53+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-27T18:54:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=8342b74a696addf631bad5d811cfdac8ca722035'/>
<id>urn:sha1:8342b74a696addf631bad5d811cfdac8ca722035</id>
<content type='text'>
I moved the completed coordination decision into the resolved work log.
</content>
</entry>
<entry>
<title>docs: record repository-scoped publish-lock decision</title>
<updated>2026-07-27T18:38:24+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-27T18:38:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=4241d23fc4fb7d59d2f0fa4b6c1e4e3549bb8480'/>
<id>urn:sha1:4241d23fc4fb7d59d2f0fa4b6c1e4e3549bb8480</id>
<content type='text'>
I chose one repository-scoped lock for sessions sharing a clone. It protects reconcile through commit without blocking ordinary edits.
</content>
</entry>
<entry>
<title>docs(todo): archive refactor and desktop feature batch</title>
<updated>2026-07-25T20:01:04+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-25T20:01:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=41e1507358726bcb4cee7dc2ea13b549836d78e8'/>
<id>urn:sha1:41e1507358726bcb4cee7dc2ea13b549836d78e8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor(prototypes): merge casting widgets into Dupre kit</title>
<updated>2026-07-25T20:00:56+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-25T20:00:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=2c416f5361ed10cd73eb72eb5062261b2e73c18f'/>
<id>urn:sha1:2c416f5361ed10cd73eb72eb5062261b2e73c18f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor(test): share runner and scenario contracts</title>
<updated>2026-07-25T20:00:44+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-25T20:00:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=d52da959bc416e09bc0f3e54994563bd80e19c64'/>
<id>urn:sha1:d52da959bc416e09bc0f3e54994563bd80e19c64</id>
<content type='text'>
</content>
</entry>
<entry>
<title>docs(specs): record shipped settings and network follow-ups</title>
<updated>2026-07-25T19:59:21+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-25T19:59:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=d25711a61172ffb7b622a6a834ed17fdf52a54de'/>
<id>urn:sha1:d25711a61172ffb7b622a6a834ed17fdf52a54de</id>
<content type='text'>
</content>
</entry>
</feed>
