<feed xmlns='http://www.w3.org/2005/Atom'>
<title>archsetup/configs, 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-07-08T13:22:04+00:00</updated>
<entry>
<title>fix(maint): add timeline_slack key to the snapshot thresholds</title>
<updated>2026-07-08T13:22:04+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-08T13:22:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=f109acb9e0bf20345dcabfd72a0e0206cf112b67'/>
<id>urn:sha1:f109acb9e0bf20345dcabfd72a0e0206cf112b67</id>
<content type='text'>
This pairs with the maint probe change: the snapper grade now warns at summed limits + snapshots.timeline_slack. Slack 2 absorbs the hourly create/:45-cleanup timer gap that kept the card amber most of every hour. I installed it on both hosts.
</content>
</entry>
<entry>
<title>fix(maint): raise pacman cache warn threshold to 20GB</title>
<updated>2026-07-08T13:02:07+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-08T13:02:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=ca197d2ce7d524f64fd2aee79b71eb0145e5d28d'/>
<id>urn:sha1:ca197d2ce7d524f64fd2aee79b71eb0145e5d28d</id>
<content type='text'>
The 10GB threshold sat below the keep-3 steady state on both hosts (ratio 12.6GB, velox 10.8GB after pruning), so the warning persisted with nothing left to clean. paccache keeps three versions per package and never expires by age, which puts the honest ceiling near 17-19GB. At 20GB the metric stays quiet in steady state but still fires within about two months if the paccache timer dies.

I installed it on both hosts and the warning cleared on each.
</content>
</entry>
<entry>
<title>feat: Phase 6 threshold keys (update guard, session-critical, quarterly)</title>
<updated>2026-07-08T04:15:41+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-08T04:15:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=f73ad21eb50bcd7a68bfd9a8a4f82547479f579b'/>
<id>urn:sha1:f73ad21eb50bcd7a68bfd9a8a4f82547479f579b</id>
<content type='text'>
[updates] guard_patterns is the live-update guard's pattern set (mesa/hyprland/wayland runtime plus both hosts' vulkan drivers); [curation.session_critical] is the KILL lever's denylist; timeline_quarterly completes the snapper set-config key set.
</content>
</entry>
<entry>
<title>feat: Phase 5 threshold keys (network, backups, services)</title>
<updated>2026-07-08T03:35:18+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-08T03:35:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=d9212888bc454635b18c99da7f6a7de3776a1d21'/>
<id>urn:sha1:d9212888bc454635b18c99da7f6a7de3776a1d21</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: Phase 4 threshold keys (logs, memory, power)</title>
<updated>2026-07-08T03:00:49+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-08T03:00:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=ee1b5552552b231cec88114a1ceaa6cf344d6551'/>
<id>urn:sha1:ee1b5552552b231cec88114a1ceaa6cf344d6551</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: Phase 3 threshold keys, arch-audit dep, btrfs scrub timer</title>
<updated>2026-07-08T02:32:04+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-08T02:32:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=e6b9a0a54355d489ba6bbeb5c742965444128307'/>
<id>urn:sha1:e6b9a0a54355d489ba6bbeb5c742965444128307</id>
<content type='text'>
The thresholds TOML gains packages.keyring_warn_days, the [security] cve_min_warn floor, [systemd] expected_timers_extra, and two curation tables: kept_orphans (deliberate keeps the orphan count skips) and qkk_known (fnmatch paths for -Qkk mismatches that are config knowledge, like the resolver symlink and the pacman-contrib file this script edits itself).

The installer now pulls arch-audit (the console's CVE source) and enables btrfs-scrub@-.timer on btrfs installs. Ratio had the scrub timer enabled out-of-band, so a fresh install would have warned "missing" forever on the console's maintenance-timers check. The todo Phase 3 task closes as a dated log entry.
</content>
</entry>
<entry>
<title>feat: storage threshold keys + close build Phase 2</title>
<updated>2026-07-08T01:51:12+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-08T01:51:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=747a9df22615927adbffb332cbcab721672b98e2'/>
<id>urn:sha1:747a9df22615927adbffb332cbcab721672b98e2</id>
<content type='text'>
The TOML gains the Phase 2 storage bands (btrfs unallocated floor, SMART wear/temp, fstrim staleness, top-consumers scan knobs). Collectors shipped in dotfiles; installed copies refreshed on ratio and velox.
</content>
</entry>
<entry>
<title>feat: seed maintenance-thresholds.toml + close build Phase 1</title>
<updated>2026-07-08T01:12:39+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-08T01:12:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/archsetup/commit/?id=d434ba874d3b449142e1cb08f001cac67bb4064a'/>
<id>urn:sha1:d434ba874d3b449142e1cb08f001cac67bb4064a</id>
<content type='text'>
The TOML carries every severity value the console and the system-health-check workflow grade against (the workflow's hard-won numbers: the 10 GB cache trigger, the 35/60-day scrub bands, the snapper TIMELINE limits from the 2026-05-26 /home lesson) plus the shipped curation defaults. Canonical home is configs/ here. Installer wiring stays Phase 13, so for now the file is hand-copied to ~/.config/archsetup/ on ratio.

Phase 1 of the build landed in dotfiles (43a39ac): maint package skeleton, two-layer thresholds engine, capability probe, and the status contract with three pilot collectors, 48 tests. The todo phase task flips to its dated log entry.
</content>
</entry>
</feed>
