hub v0.143.0 (code): the kernel lane — the day-before household mail, the night instruction, the operator's kernel set (R-836, decision 172)
gates / gates (push) Successful in 2m47s

KernelDue / KernelNotify (09-20 h Budapest, one per 20 h, max 3, registered
address, only an accepted mail counts) / os_update.kernel {kver, tonight}
(no mail, no step) / layer kernel ingest + operator events / Approve kernel
set after every ring-0 box booted it healthily after a night stage / two
System page cells. 11 §5.11 written; §5.10 status corrected (proven).
Installer uninstall knows the two GRUB generators (unreleased).
Evidence: audits/kernel-lane-2026-10-07/ (red-proofs, boot timing).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
2026-10-07 15:34:14 +02:00
parent 0c5dbfbfc1
commit ab3b7ea2f4
29 changed files with 1453 additions and 11 deletions
+3 -1
View File
@@ -420,7 +420,9 @@ func main() {
if _, err := dataStore.BumpHostDesired(hostID); err != nil {
logger.Printf("[WARN] osupdates: bump desired for %s: %v", hostID, err)
}
}}
},
// R-836 (`09` §3 decision 172): the household's day-before kernel mail; no accepted mail → no kernel step.
KernelMail: dispatcher.SendKernelNotice}
if v := os.Getenv("OS_APPROVE_AFTER"); v != "" {
if d, derr := time.ParseDuration(v); derr == nil && d >= 0 {
osSvc.ApproveAfter = d