Files
felhom.eu/documentation/backlog
admin 37515cda7c docs(R-117 Part 1): a health check issues no block I/O — and narrow one R-116 claim
Two record items, banked before any Go file is opened.

1. CLAUDE.md gains a standing rule beside the seam-wiring rule: a health check
   issues no block I/O. A probe that touches a wedged device enters
   uninterruptible sleep, survives SIGKILL, and cannot be recovered until the
   device returns or the host reboots — so `systemctl restart` hangs too. A
   timeout protects the caller's control flow and nothing else. Liveness is
   decided from /proc and kernel state.

   Measured in the R-117 spike §6.3: D state 3m50s after kill -9; a buffered
   write with no fsync blocked too (O_CREAT needs journal access); statfs and
   getdents returned HEALTHY on a namespace that EIOs every byte.

   Repeated as a one-line pointer in felhom-agent/CLAUDE.md, because health
   checks are written in that repo and felhom.eu/CLAUDE.md does not load in an
   agent-only session — a standing rule that does not load where it binds is the
   inert-seam shape applied to a rule.

2. The R-116 row gains the clause the spike recommended but did not apply. Its
   verdict stands and every input to the pairing fix is configuration-derived.
   But the over-correction window's degraded:false was read off a drive whose
   bind was dead, so it evidences "the gate did not over-fire", not "the drive
   was healthy". The two RETURNED lines remain a genuine positive observable, so
   rule 3 is still satisfied. Nothing else about the row changed.
2026-07-30 12:10:10 +02:00
..

documentation/backlog/

OPEN-ITEMS.md is the register of open work and the file to read first — it holds only what is open, one row per item, every row with a state and an owner. ROADMAP.md is the full history and reasoning behind the R-n IDs, including shipped and killed items; an ID is minted there, and a new instance of an existing item attaches to that ID rather than getting its own.

The rest of this folder: verified-LIVE findings with implementable fix plans that are not yet implemented. Preserved here (instead of on git branches) per the trunk-based, no-branches rule — the fix itself is implemented later directly on main, during a normal/supervised session.

  • FIX-M18-NOTES.md — dump re-validation runs every 5 min (perf). FIXED in controller v0.62.0 @ f8afe5c (2026-06-14). (was on the deleted felhom-controller branch fix/m18-dump-validation-cache.)

  • FIX-M19-NOTES.mdderiveStackName misattribution edge (low-incidence correctness). FIXED in controller v0.62.0 @ 6bab68b (2026-06-14). (was on the deleted branch fix/m19-stackname-crossref.)

  • FOLLOWUP-golden-default-controller-tag.md — the golden bakes a stale controller (:0.43.0 when queued; had rotted again to :0.85.1 by resolution). FIXED in felhom-agent @ ceca355 (2026-07-03): build-golden.sh v2.0.0 makes the controller tag a MANDATORY argument (a required arg cannot rot) and golden 0.98.3 was baked + clean-room-validated (bake → first-boot-current → self-manage → app deploy, on the drill VM — no supervised touch of live guests needed) + published + vouched. Evidence: ../audits/DRILL-golden-098-2026-07-03.md.

Related: the live-drive fixspec (../audits/live-drive-fixspec-2026-06-14.md) carries the deferred supervised items F9 (HDD provisioning/guest-attach), F20-BUG2 (durable_id scheme), F20-BUG3 (async mkfs) — to be implemented in the agent/golden supervised session.