Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
4.0 KiB
REPORT — v0.172.1 released, vouched and delivered (2026-11-07, attended)
Plain words first. Since 2026-11-05 the N100 refused its nightly Proxmox updates. One GRUB package
(proxmox-grub) was in the wrong update group, and it pulled the main GRUB package with it. A safety check then
stopped the whole group. Agent 0.172.1 puts proxmox-grub with the other boot packages. The operator vouched it and
sent both signed jobs; all three test boxes run it.
| Built from | 39db030, release-agent.sh (gates green; tag v0.172.1 pushed) |
| Agent sha256 | 505a0594a2fb117f359e329a0b7ae2c7a6902b74c51f52c1883145f3c2ac72f8 |
| Bundle sha256 | 3e7acaee4500893bfaf567b1d427790ef89bf41f08cb6a1419ee528aeb40ddc3 |
| Re-checked | both downloaded again and hashed; the binary prints felhom-agent 0.172.1; the bundle's felhom-os-apply holds the fix |
| Bundle vs 0.170.0 | no path added or removed; only felhom-os-apply changed — no step bundle needed (R-880) |
| Test | test_ring0_pending_pve_leaves_proxmox_grub_out — red before the fix, green after; wrapper suite 149/149; go test -count=1 ./internal/osupdate/ ok |
| Design | felhom.eu/documentation/architecture/11-os-updates.md (the lanes, §5.4.2 bundle) |
Evidence. felhom.eu/documentation/audits/demo-check-2026-11-07/n100-pve-step-R6.txt: the three nights' refusals
and a read-only apt-get -s that shows proxmox-grub pulling grub-efi-amd64.
For the operator — deliver it (PowerShell, on the Windows machine)
- Hub → Configuration → Day-0 artifacts: vouch agent 0.172.1 (sha and bundle above).
- Check the key. The last word before the comment must be
…B63tlLw+(the pinned signerfelhom-op-1):Get-Content $HOME\.ssh\felhom-op-operational.pub - Set up (the hub key is the hub's global key, the
report-apione; it is asked, not typed on a line):cd $HOME\.ssh $Hub = "https://hub.felhom.eu" $Ver = "0.172.1" $Sha = "505a0594a2fb117f359e329a0b7ae2c7a6902b74c51f52c1883145f3c2ac72f8" $Bundle = "3e7acaee4500893bfaf567b1d427790ef89bf41f08cb6a1419ee528aeb40ddc3" $Key = "$HOME\.ssh\felhom-op-operational" $Boxes = "demo-felhom-8363b5", "demo-hp-bb76ea", "tester-1-d70be4" $s = Read-Host "Hub global key" -AsSecureString $HubKey = [System.Net.NetworkCredential]::new("", $s).Password - The agent (each box takes it in 4–15 min):
foreach ($b in $Boxes) { .\felhom-opsign.exe -op agent_update -host $b -key-id felhom-op-1 -key $Key -agent-version $Ver -sha256 $Sha -ttl 45m -upload $Hub -hub-key $HubKey } - Wait until the hub's System page shows agent 0.172.1 on all three (about 15 min). Then the root files:
foreach ($b in $Boxes) { .\felhom-opsign.exe -op agent_config_update -host $b -key-id felhom-op-1 -key $Key -agent-version $Ver -bundle-sha256 $Bundle -ttl 45m -upload $Hub -hub-key $HubKey } - Clean up:
Remove-Variable HubKey, s
Delivered (read back on each box): agent_update committed on demo-felhom 23:05, demo-hp 23:13, Tester 1 23:13 CET;
then BUNDLE DONE agent=0.172.1 written=1 same=30 self-check=ok and capability probe 77/77 on all three; the installed
felhom-os-apply holds the fix. The first operator run of step 4 failed: the operator's felhom-opsign.exe was from July,
before -bundle-sha256 existed; a fresh Windows build (/mnt/5_hdd/felhom.eu/build/opsign-2026-11-07/, sha256
4527edba…) worked. Note: the repo's own felhom-opsign.exe (June) is equally stale. pinned.day0_agent = 0.172.1 (D50).
Not yet observed: the N100's next nightly pve step. Positive observable: os-apply: DONE for layer=pve:9201, no R6.
Also in this session (no agent change)
- demo-hp: the whole-guest LOCAL tier had been refused by the space preflight for 9 days. With the operator's yes, the journal was shrunk to 500 MB (whole journal saved first, off-git on DooPlex) and the August test archive of guest 9100 removed: 9.5 GB → 14 GB free. Recorded under R-548 (the product half stays open).