gates / gates (push) Successful in 6m39s
A fresh one-disk install (512 GB VM, installer 1.33.0, agent 0.158.1 + golden 0.318.0 vouched): data volume 100 GiB, data area 213 GiB registered as the default drive with no press, Jellyfin with no extra step, nothing of the area in a whole-box copy; partitions formatted and used; the honest backup offer on a VM; /mnt/sys_drive never offered (no box had it). 16 §13 build B status; capability map D15; poster facts (drawing needs a refresh, STATUS); the backup page HU+EN now that it is true; REPORT-storage-identity-buildB-2026-10-16.md. Claude-Session: https://claude.ai/code/session_012qRErfCoiTkvDK9N5XHbzb
79 lines
4.7 KiB
Markdown
79 lines
4.7 KiB
Markdown
# REPORT — storage identity, build B: the one-disk data area and partitions (2026-10-15 → 16)
|
||
|
||
Brief: „Storage identity, build B — the data area on one-disk boxes (D3, with the space check) and partitions as places
|
||
(D5)". Design: `documentation/architecture/16-storage-physical-identity.md` §5–§7, §9 (§13 = what was built).
|
||
Evidence: `documentation/audits/storage-identity-buildB-2026-10-15/` (README, SPACE-CHECK, live/). Method: endpoint level
|
||
(no browser on DooPlex) and the VM console for the Proxmox install.
|
||
|
||
## 1. The space check, as approved (operator, 2026-10-16)
|
||
|
||
| Disk | Thin pool | Data volume | Reserve | Data area |
|
||
|---|---|---|---|---|
|
||
| 256 GB | ≈ 140 GiB | 50 GiB | 16 GiB | ≈ 42 GiB |
|
||
| 512 GB | 349–383 GiB | 100 GiB | 35–38 GiB | ≈ 182–213 GiB |
|
||
| 1 TB | ≈ 800 GiB | 130 GiB | 48 GiB | ≈ 590 GiB |
|
||
| 2 TB | ≈ 1,720 GiB | 130 GiB | 48 GiB | ≈ 1,510 GiB |
|
||
|
||
Measured: the heaviest box uses 18 GB of its data volume; the whole catalog needs ≈ 74 GB; a whole-box copy's snapshot used
|
||
12 MB. A disk below ≈ 230 GB gets no data area (less than 20 GiB left).
|
||
|
||
## 2. A fresh one-disk install
|
||
|
||
Scratch VM on demo-hp, 512 GB disk, the public ISO, the published installer 1.33.0, customer Tester4: data volume **100 GiB**,
|
||
data area **213 GiB**, registered as the default drive by itself. **Jellyfin installed with no extra step** (domain and
|
||
subdomain only; on 0.314.0 the same request was refused for the missing media path). A whole-box copy holds nothing of the
|
||
data area.
|
||
|
||
## 3. Partitions — what the household can do now
|
||
|
||
- See each part of a free disk; format an empty part; use a part that has a filesystem; use the free part of a disk whose
|
||
other part is already a drive.
|
||
- Cannot: format a part while another part of the same disk is in use (the safety net refuses it — on purpose); create,
|
||
delete or resize a part (installer only, D5). An empty part still asks for the typed confirmation (R-1093).
|
||
|
||
## 4. Versions and what waits on the operator
|
||
|
||
| Component | Version | State |
|
||
|---|---|---|
|
||
| agent | 0.158.1 (0.158.0 superseded — security review) | vouched by the operator; on the three test boxes with bundle 0.158.1 (through the step bundle `0.158.1-step1`) |
|
||
| controller | 0.318.0 | released; the global floor 0.318.0 / MinAgent 0.158.1 (set by the operator) |
|
||
| installer | 1.33.0 | published (tag `installer-v1.33.0`, `manifests/webpage.yaml`) |
|
||
| golden | 0.318.0 | baked by CC (`documentation/tests/golden-0.318.0-2026-10-16/`), vouched by the operator |
|
||
|
||
Waits on the operator: discard the two unclaimed scratch registrations (ids 40, 41) and delete Tester4; Tester 1's dashboard
|
||
password in the credentials file does not open Tester 1 (the checks ran on the scratch box instead); the poster drawing.
|
||
|
||
## 5. Rows
|
||
|
||
Rows before: 178 · after: 176 · opened 2 (R-1093, R-1094) · closed 4 (R-1068, R-1079, R-1082, R-1084).
|
||
(Earlier in this session's build B part 1: R-1087, R-1088 opened; R-1088 was closed by another session.)
|
||
|
||
## 6. Claims in the brief that were wrong
|
||
|
||
1. „A one-disk scratch VM (200 GB)": under the approved sizes a 200 GB disk gets no data area (15 GiB < 20). Rebuilt at 512 GB.
|
||
2. „Format the empty part, use the other" works only in that order: since the security review, a part next to an in-use part
|
||
cannot be formatted.
|
||
3. „Run after build A is released": build A's agent was never vouched; the vouch needed a fresh golden (the hub refused
|
||
agent 0.158.1 next to golden 0.313.0) — CC baked golden 0.318.0 on the operator's word.
|
||
4. The installer's design text (installer creates, agent mounts) holds, but the size rule and the only mkfs live in ONE root
|
||
helper from the agent's bundle, run by both the installer and the signed job — so the installer makes the area only when
|
||
the vouched agent carries that helper.
|
||
|
||
## 7. Fixed without a row (security review of agent 0.158.0)
|
||
|
||
The root mkfs wrapper briefly trusted a sibling mount the agent itself could make; the data-area helper read a failed `lvs`
|
||
or `blkid` as „empty". Both fixed in 0.158.1, each test seen failing against 0.158.0; 0.158.0 marked „do not vouch".
|
||
|
||
## 8. Documents
|
||
|
||
`16` §7 (ruled sizes), §13 (build B status); capability map **D15** (PROVEN-LIVE) + detail; `OPEN-ITEMS` / `CLOSED-ITEMS`;
|
||
`STATUS`; the OMV guide's second-disk line; the backup page (HU + EN); **system poster: facts file updated, drawing needs a
|
||
refresh** (line added to STATUS).
|
||
|
||
## 9. Teardown
|
||
|
||
Machine: scratch VM 342 switched off the household way and destroyed; Tester 1's scratch disk removed. Host: helper scripts
|
||
removed. Hub: build A's three per-customer floors cleared; two unclaimed registrations and Tester4 left for the operator.
|
||
Secrets: the phrase, the dashboard password and the setup code lived only in private scratch files (shredded at the end);
|
||
none in any commit (scanned).
|