Files
felhom.eu/REPORT.md
T

3.0 KiB
Raw Blame History

REPORT — SMART-coverage capability upgrade + R-50 island-bridge SPIKE (2026-07-25)

Overwritten per the standing rule. felhom.eu's share of the SMART-coverage task (docs) + the R-50 spike. (Code for the SMART fix is in felhom-agent v0.95.0 + felhom-controller v0.171.0.)

Baseline → commits

felhom.eu 770ee5abe2d90f (capability-map) → 1d65f44 (island-bridge spike + ROADMAP).

Capability map — disk-health row upgraded (evidence)

documentation/architecture/00-capability-map.md: the "Lemez-egészség felügyelet" row moved IMPLEMENTED → PROVEN-LIVE (healthy path + delivery). With agent v0.95.0 + controller v0.171.0 the card on 9201 shows both real disks with real verdicts + model labels ("AirDisk 512GB SSD" → Rendben, "TOSHIBA MQ04ABF100" → Rendben) — reversing the 2026-07-24 "Nincs adat on a raw UUID" state. Corrected the earlier "virtualized demo hardware" note (it is a real N100).

R-50 island-bridge SPIKE — BLOCKED empirically; design half source-grounded

documentation/audits/SPIKE-island-bridge-2026-07-25.md (+ ROADMAP R-50 → "SPIKED (partial)").

  • Probe 1 (drill env health): ABSENT. qm list on felhom-pve is EMPTY (no nested drill PVE VM qm300); pct list shows only guest 9201; no 2f4b00/drill config. The throwaway drill appliance was torn down. Per the hard drill-only rule, probes 38 (bridge / NIC hot-add / island bind / F1 replay / survival) were NOT run — felhom-pve networking, guest 9201, and the live agent's listen_addr were left UNTOUCHED. No live GO/NO-GO.
  • Source-grounded findings delivered (read-only):
    • Address plan: recommend link-local 169.254.253.1/30.2/30 — structurally uncollidable with any customer LAN (RFC-3927 is neither routed nor DHCP'd), vs an obscure RFC-1918 /30's small residual risk.
    • F1 root cause: the LAN literal is baked in TWO places to move atomically — agent bind (config.go:229felhom-host-install.sh:2226/2162) + guest dial (provision/backhalf.go:129bootstrap.json endpoint).
    • NEW finding — the dnsmasq trap (CONFIRMED in source): LANResolverConfig.WithDefaults (config.go:208210) derives the DNS listen-address from listen_addr, so moving the bind to the island silently kills LAN DNS → the spec MUST set lan_resolver.host_ip = LAN IP explicitly.
    • Pin: leaf-DER-SHA256 based (address-independent) → no cert re-issue expected (source-asserted; empirically unproven without the drill env).
    • Provisioning inventory (file:line), cluster-parity (SDN on Peti's 2 nodes), and an implementation skeleton recorded.
  • Remaining: a rebuilt drill VM to validate probes 38 before any production spec. STOP — implementation is a future task.

Observations

  • The island-bridge spike could not fulfill its empirical half; the honest outcome (env gone → STOP, no production improvisation) is recorded, and the source analysis gives the future task a real head start.