ISO train v1.25.0 code: OOB belt default appliance leg (F9) + apt no-subscription (Part2) + R-63 Lat2 console font + R-71 golden>=floor build gate
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NKSN3gSg4TKVBBqkwW2djR
This commit is contained in:
@@ -62,3 +62,22 @@ controller v0.115.0 + agent v0.82.0 the agent reports its version in the `X-Felh
|
||||
response header, so `Supports` decides by version comparison when the version is known and only
|
||||
falls back to the route probe for header-less (≤0.81) agents — capability detection is now explicit,
|
||||
not probe-inferred.
|
||||
|
||||
## 5. Every ISO build asserts golden ≥ the managed floor (the R-71 gate)
|
||||
|
||||
**Incident:** `DIAG-f10-demo-hp-offsite-2026-07-23.md` / R-71. A box installed from an ISO whose
|
||||
golden controller is BELOW the hub's managed floor boots below the floor, so the day-0 managed
|
||||
update fires within minutes of first boot — racing the offsite apply-bridge in exactly the window
|
||||
that burned demo-hp's one-time offsite credential (2 days unprotected). The gap is invisible at
|
||||
build time unless something checks it.
|
||||
|
||||
**Rule:** a build where the managed floor exceeds golden must **fail loudly, at build time**, not
|
||||
ship. `build-felhom-iso.sh` carries the assertion itself (`assert_golden_ge_floor`, gated on
|
||||
`FELHOM_ASSERT_GOLDEN` = the hub's `artifact_golden_version` and `FELHOM_ASSERT_FLOOR` = its
|
||||
`min_controller_version`); it prints both versions and `die`s on `golden < floor`. Resolve the two
|
||||
values operator-side before the build and pass them in — e.g. from the hub DB
|
||||
(`hub_settings.artifact_golden_version` / `min_controller_version`) or the operator artifacts UI —
|
||||
so the gate is enforced, not skipped (an unset input warns LOUDLY and does not silently pass). The
|
||||
fix for a tripped gate is never to lower the floor: **republish golden ≥ floor and vouch it**
|
||||
(rule 1), then rebuild. This gate composes with rule 1 — the manifest still leads the floor; this
|
||||
one stops an ISO from carrying a golden the floor has already outrun.
|
||||
|
||||
Reference in New Issue
Block a user