84 lines
5.2 KiB
Markdown
84 lines
5.2 KiB
Markdown
# REPORT — R-165: the `mp1` merge, built and proven at the bake (2026-08-03)
|
||
|
||
**Overwritten** per the standing rule. The prior contents (hub v0.89.0 / R-167, 2026-08-02) have their
|
||
durable record in `hub/CHANGELOG.md` and `CONTEXT.md` S-11/S-12.
|
||
|
||
**Companion:** `felhom-agent/REPORT.md` holds the full session detail — probes, variant evidence, the
|
||
bake transcript, red-proofs and teardown. **This file covers what changed in THIS repo, and the CI
|
||
verification for all three.**
|
||
|
||
> **Scope, stated first.** The merge is **built and green through Phase 5**. **Phases 6–7 — reinstalling
|
||
> the two demo boxes from the merged golden and proving one end to end — were NOT done, and nothing
|
||
> was wiped.** The golden is therefore deliberately **unvouched**. Remaining work: **R-178**.
|
||
|
||
---
|
||
|
||
## 1. What changed in `felhom.eu`
|
||
|
||
**No hub change; no hub version bump.** This repo changed in two places, one of them forced.
|
||
|
||
**`scripts/felhom-host-install.sh` — forced by a census, not planned.** `step_grows` computed **two**
|
||
volume sizes and the install call passed both, so it had to change with the agent or every install
|
||
would have provisioned a half-sized box. It now computes ONE total, summing the old 80/20 split
|
||
(`226` = the previous `184 + 42`), so **a standard appliance keeps exactly the 250 G it had** — it is
|
||
simply no longer split by a wall. **The size still comes from the physical disk**: `step_grows`
|
||
already read the thin pool's real free space, and the merge only collapsed its two outputs into one.
|
||
That is the answer to the task's §8.2 — no row needed filing. `--sysdata-grow` is deprecated but still
|
||
honoured, because the agent **folds** a hand-passed value in rather than dropping it.
|
||
|
||
**Documentation**, per the coupling rule — see §3.
|
||
|
||
## 2. The bake, as this repo's audit trail records it
|
||
|
||
`documentation/audits/SPIKE-r165-phase0-2026-08-03.md` (new) holds P1, P2 and P3 with method,
|
||
measurement and ruling, including the teardown of every probe artefact at all three layers. The
|
||
headline measurements:
|
||
|
||
- **P1 PASS** — a real pre-merge archive restore-tests clean, `mount_parity: ok`, 84 s, `mountParity`
|
||
untouched.
|
||
- **P2** — all three variants boot and reboot 3/3; they are separated by **scoping**, not mechanics.
|
||
The container's view of `/mnt` is 8.0K under V-a and V-c, and **17.9M — Docker's entire data-root —
|
||
under V-b**. The operator chose **V-c**.
|
||
- **P3** — the four retargeted golden assertions, run against a deliberately wrong shape: **8/8**.
|
||
|
||
## 3. Documentation coupling
|
||
|
||
| File | Change |
|
||
|---|---|
|
||
| `documentation/architecture/07-backup-architecture.md` | **S-1: the contract changed in the same session.** New **§7.5.1** — the ceiling §7.5 describes no longer exists for a box built from golden ≥ 0.192.0, the bulkhead's replacement (B2) is recorded, and **R-175 is FIXED here**: the bound is restated as a function of `mp1` and scoped to split-layout boxes, naming all three real shapes |
|
||
| `documentation/architecture/00-capability-map.md` | new row — **IMPLEMENTED, not PROVEN-LIVE**, with the missing leg named (no box reinstalled, R-178) and the bake cited as the evidence it is |
|
||
| `documentation/backlog/OPEN-ITEMS.md` | **R-165** → shipped-not-yet-proven-live; **R-163 CLOSED** (its ceiling no longer exists); **R-175 CLOSED**; **R-176** (a) answered by P1, (b) **withdrawn** — every node is reinstalled, not migrated; **R-178 NEW** |
|
||
| `CONTEXT.md` | **S-13** (the variant, chosen on measurement; B2's floor; pruning rejected with its reason; no migration exists) and **S-14** (prove first, then vouch) |
|
||
| `STATUS.md` | rewritten section in plain language; the *Waiting on you* item cleared — both questions are answered; **two older entries trimmed** so the page did not grow |
|
||
| `scripts/CHANGELOG.md` | the host-install change, with why it was forced |
|
||
|
||
## 4. CI — run ids and conclusions
|
||
|
||
Checked by **PULL**, matching `head_sha` to each commit — CI mails only on failure, so an unchecked
|
||
green is an assumption.
|
||
|
||
**Every commit in this session, across all three repos, is green.**
|
||
|
||
| Repo | Commit | Task id | Run # | Conclusion |
|
||
|---|---|---|---|---|
|
||
| `felhom-controller` | `4be6467` (v0.192.0, the B2 floor) | 39 | 15 | **success** |
|
||
| `felhom-agent` | `cd6e267` (v0.120.0 + golden 3.0.0) | 41 | 3 | **success** |
|
||
| `felhom-agent` | `4bb84fc` (REPORT) | 43 | 4 | **success** |
|
||
| `felhom.eu` | `7406ac7` (phase-0 audit) | 40 | 21 | **success** |
|
||
| `felhom.eu` | `e3525e6` (host-install one grow) | 42 | 22 | **success** |
|
||
| `felhom.eu` | `14d8c00` (docs + registers) | 44 | 23 | **success** |
|
||
|
||
## 5. `--no-verify`
|
||
|
||
**Not used anywhere.** Every push in this session ran its repo's `.githooks/pre-push` and passed.
|
||
|
||
## 6. What remains — R-178
|
||
|
||
1. Reinstall **demo-hp** from golden 0.192.0 through the real installer path; prove claim → deploy an
|
||
app → back up → restore; show `df` proving one filesystem and a recovery unit landing on it.
|
||
2. Only then reinstall **demo-felhom** (it carries the PBS-DR/offsite tier, so it is the box whose
|
||
backup chain a reinstall actually disturbs).
|
||
3. **Then** vouch golden 0.192.0 in the hub, and flip the capability-map row to PROVEN-LIVE.
|
||
4. Re-run P1's restore-test against agent v0.120.0 — one command, turns a sound inference into an
|
||
observation.
|