Files
felhom.eu/documentation/tests/golden-0.209.0-2026-08-08/README.md
T
admin dd55a3f98c
gates / gates (push) Successful in 33s
correct the vouch state: the operator vouched 0.208.0 DURING this session
Recorded on arrival as 0.207.0, re-read from live hub_settings at the end and it is 0.208.0 — the
operator acted while the session ran. The ask is therefore 0.208.0 -> 0.209.0, not 0.207.0 ->
0.209.0, and STATUS.md plus the golden evidence now say so.

Caught only because the state was re-read rather than carried forward from the arrival note. A fact
recorded at the start of a long session is a fact about the start of the session.
2026-08-08 09:25:25 +02:00

4.8 KiB

Golden 0.209.0 — baked, published, round-trip verified, NOT VOUCHED (2026-08-08)

Why this bake exists, and why it supersedes last night's. The G-1 session released controller v0.209.0 (R-247), which made golden_currency_gate.py correctly red and refused the push — no golden carried the newest release. The honest answer to that gate is the bake it asks for, not --no-verify; the gate's own docstring says the cost of a trip is "one bake, which is the operation the project wants to be routine anyway".

⚠ UPDATED at the end of the session, because the fact changed under it. On arrival the vouched golden was 0.207.0; while this session ran, the operator vouched 0.208.0. Re-read from live hub_settings rather than assumed — which is why the table below reads 0.208.0 → 0.209.0 and not 0.207.0 → 0.209.0.

Where it ran

The drill VM on DooPlex (/mnt/5_hdd/felhom.eu/drill/drill.qcow2, snapshot virgin) — the accepted Tier-2 exception for bakes. Canonical §4.0 launch line, cold-booted, restored to virgin afterwards and the snapshot list re-read. Liveness via ps -eo comm | grep -c qemu-system-x86, never pgrep -f.

The inputs

host drill-pve, pve-manager/9.2.2
template debian-13-standard_13.6-1_amd64.tar.zst — listed with pveam available on the day; checksum verified on download
build script felhom-agent/configs/build-golden.sh v3.0.0, clean tree at 6981450 (git status --porcelain empty)
controller baked gitea.dooplex.hu/admin/felhom-controller:0.209.0, built and pushed from a clean tree at fcffaf5

The token never crossed a shell

scp file → file into a 0600 file, read by a runner script inside the VM.

systemctl show golden-bake -p Environment -p ExecStart | grep -c -F "$(cat /root/.gitea-token)"  → 0

The 404 pre-gate, with a control

felhom-golden/0.208.0/golden.tar.zst → 200   ← the control: the URL SHAPE is right
felhom-golden/0.209.0/golden.tar.zst → 404   ← the pre-gate: nothing to overwrite

Acceptance markers — grepped verbatim against this run's log

marker count verbatim
storage driver 1 docker OK (overlay2; data-root /var/lib/docker)
mount points — rootfs and mp0, no mp1 2 INFO: including mount point rootfs ('/') in backup · INFO: including mount point mp0 ('/var/lib/felhom') in backup
upload 1 [golden] upload OK (HTTP 201)
excluding 0
FATAL 0
mp1 0

Result=success, ExecMainStatus=0. Archive 626 MB.

The publish, and the round trip — the published BYTES

GOLDEN_VERSION=0.209.0
GOLDEN_SHA256=c9c4bcd6d9f53dcaf3c7a56ffce1c401864a5564af4eca8ff5efd8d5eae818ff
size 656 697 956 B — identical to what the bake reported
sha256 c9c4bcd6…e818ff — hashed independently on DooPlex; identical
./etc/felhom-controller-image read OUT of the downloaded archive gitea.dooplex.hu/admin/felhom-controller:0.209.0

The delivered artifact saying which controller it will start — not a claim about what was built.

The vouch, awaiting the operator

MinAgent read from the golden's controller CHANGELOG.md header, not assumed: ## v0.209.0 — … — MinAgent 0.127.0.

field now (live hub_settings) after why
golden_version 0.208.0 (vouched during this session) 0.209.0 the only field that moves
agent_version 0.127.0 0.127.0 already ≥ MinAgent 0.127.0 — checked
min_agent 0.127.0 0.127.0 equals the declared MinAgent; not above agent_version (the R-216 shape hub v0.97.0 holds)

Hub → Configuration → Day-0 artifacts → Golden 0.209.0 → Save. The R-120 gate sits on that save and refuses a golden older than the newest controller the fleet reports. Reversible — re-select the previous value and Save; no package is deleted by a bake.

Teardown

pct destroy 9100 --purge · token, runner, build script and in-VM log shred -u'd, /root residue clean · poweroff · qemu confirmed gone (0) · qemu-img snapshot -a virgin restored.

Token-leak grep on the log COMMITTED here, and a 0 is evidence only because the grep was shown to work:

grep -c -F "<token>" bake.log                       → 0
grep -c -F "<token>" <copy with the token appended> → 1   ← the control; copy then shredded

What this does and does not change

Does: golden_currency_gate.py is green; the push it was blocking can proceed.

Does NOT: a fresh Day-0 install still lands on 0.208.0. The gate checks the BAKE, not the vouch — R-242's untouched half, demonstrated again here: the gate flips green on the presence of this directory, with no vouch anywhere near it.