docs: STOP-2 done, 9100 destroyed — and a correction
STOP-2 applied by the operator in the right order: Day-0 Golden -> 0.153.0 (sha256 matches the bake), Agent/MinAgent 0.90.0 unchanged, global floor -> v0.153.0 saved last. Build guest 9100 destroyed. Agent 0.90.1's absence from the hub dropdown is CORRECT, not a defect: it was never published (Gitea 404; 0.90.0 returns 206) and felhom-pve runs 0.90.0. The v0.90.1 source is committed at 9596d5a, so R-39 is a build+publish away. CORRECTION: my earlier claim that the stored controller password was stale was WRONG. Values in ~/.config/credentials are single-quoted and my cut extraction kept the quotes, sending a 15-char string instead of the 13-char password. Re-tested stripped: 302 + session. The credential was always correct. Also records honestly that the reconstitute restored over an already-good state, so C6 still needs the destructive empty-the-trash drill.
This commit is contained in:
@@ -197,6 +197,26 @@ was deleted. Log retained beside its predecessor: `180:/mnt/5_hdd/felhom.eu/dril
|
||||
the hub*. I did **not** render the hub's golden **dropdown** — that is the password-gated operator
|
||||
UI, and it remains part of STOP-2.
|
||||
|
||||
## 4d. STOP-2 — hub saves: **DONE** (operator, 2026-07-20)
|
||||
|
||||
Both password-gated saves applied in the correct order and confirmed by screenshot:
|
||||
|
||||
| Setting | Value |
|
||||
|---|---|
|
||||
| Day-0 artifact — Golden | **0.153.0**, sha256 `15fdd191f3c660a60dc8651111053dd84281aeebc6c4c0f9ecdd3a87cb45a9d0` (matches the bake exactly) |
|
||||
| Day-0 artifact — Agent | 0.90.0 (unchanged) |
|
||||
| Min agent | 0.90.0 (unchanged — v0.153.0 declares no coupling) |
|
||||
| Managed-updates global floor | **v0.153.0**, source `DB (hub_settings)`, saved **last** ✓ |
|
||||
|
||||
**Agent 0.90.1 is absent from the dropdown — correct, not a defect.** It was built on the old
|
||||
Windows workstation but **never published**: `felhom-agent/0.90.1` in Gitea returns **404** (0.90.0
|
||||
returns 206), and felhom-pve reports `felhom-agent 0.90.0`. The hub lists only published versions.
|
||||
The v0.90.1 source IS committed (`9596d5a`, the R-39 `pvesm set --server` hotfix), so shipping it is
|
||||
a build+publish away — tracked under R-39, out of scope here.
|
||||
|
||||
Build guest **9100 destroyed** (`pct destroy 9100 --purge`, all three LVs removed); only 9201
|
||||
remains on the host.
|
||||
|
||||
## 5. NOT yet live-validated — remaining human/supervised work
|
||||
|
||||
- ~~**STOP-1**~~ — **DONE 2026-07-20, PASSED.** See §4b for the log ordering, timestamps and the
|
||||
@@ -205,11 +225,15 @@ UI, and it remains part of STOP-2.
|
||||
- ~~**Phase C**~~ — **DONE 2026-07-20.** Golden 0.153.0 baked, published, all gates green
|
||||
(§4c). `GOLDEN_SHA256=15fdd191f3c660a60dc8651111053dd84281aeebc6c4c0f9ecdd3a87cb45a9d0`.
|
||||
Housekeeping left for whoever is next at the host: `pct destroy 9100 --purge`.
|
||||
- **STOP-2 (Viktor, password-gated):** Day-0 manifest Golden → 0.153.0 (Agent 0.90.1 / MinAgent
|
||||
0.90.0 unchanged — the CHANGELOG's no-coupling declaration is the authority), then floor →
|
||||
v0.153.0 saved **LAST**. Watching the demo box wake during the manifest save banks the **R-23(a)**
|
||||
operator-UI save→apply evidence — log the timestamps if observed.
|
||||
- **Viktor's C6 customer-restore UI run** (note the empty-the-trash method).
|
||||
- ~~**STOP-2**~~ — **DONE** (§4d). Golden 0.153.0 + floor v0.153.0 saved in the right order.
|
||||
- **Viktor's C6 customer-restore UI run — STILL OUTSTANDING, and it is the one that matters.**
|
||||
The 2026-07-20 reconstitute restored over an ALREADY-GOOD state (11 assets before, 11 after): it
|
||||
proves the H4 window is closed and the operation is clean and non-destructive, but **nothing was
|
||||
ever lost in it**. C6 needs the destructive shape — delete photos, **empty the trash** (deleting in
|
||||
an app's own UI usually means trash, and a drill written that way merges 0 files, flashes success
|
||||
and proves nothing), then restore and verify the app's *content*, not the file count.
|
||||
- **The R-23(a) operator-UI save→apply evidence** was not captured: nobody was watching the demo box
|
||||
wake during the manifest save. Cheap to bank on the next manifest save.
|
||||
|
||||
## 6. Observations (out of scope, recorded not acted on)
|
||||
|
||||
@@ -228,3 +252,12 @@ UI, and it remains part of STOP-2.
|
||||
is asserted on the persist half only. That is the half the split could break; the tail is
|
||||
byte-identical code that was moved, not rewritten.
|
||||
- **R-29a (`estimate.go` gate finding)** remains open and was not touched.
|
||||
- **CORRECTION to an earlier claim in this session.** Mid-run I reported that the controller password
|
||||
in `180:~/.config/credentials` was **stale** and had been superseded by the customer-claim flow.
|
||||
**That was wrong.** The values in that file are single-quoted (`PASSWORD='…'`) and my
|
||||
`cut -d= -f2-` extraction kept the quotes, so a 15-character string with literal `'` on both ends
|
||||
was sent instead of the 13-character password. Re-tested with the quotes stripped: `302` + session
|
||||
cookie. The credential was correct the entire time; no rotation, no drift, nothing to reconcile.
|
||||
The lesson recorded in memory is the general one: **an auth failure is evidence about the bytes you
|
||||
sent, not proof about the stored secret** — a 2-character length discrepancy is this bug's
|
||||
signature, and it was stated confidently three times before being caught.
|
||||
|
||||
Reference in New Issue
Block a user