Files
felhom-controller/REPORT.md
T

43 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# REPORT — v0.318.0: the internal data place, partitions, an honest whole-box backup offer, sys_drive never offered (2026-10-16)
Written in ASD-STE100 Simplified Technical English. Design read first: felhom.eu `architecture/16-storage-physical-identity.md`
(§4–§6, §9, §13), `07-backup-architecture.md` §6, `09-update-architecture.md` (MinAgent). Task: storage identity build B
(operator rulings D3–D5; sizes ruled 2026-10-16). Agent counterpart: felhom-agent v0.158.1.
## 1. Baselines
controller `123d2d5` (v0.317.0) → `a43d042` + `36da408` = v0.318.0. MinAgent **0.157.0** (no new agent endpoint; the internal
place and the partitions appear only when agent ≥ 0.158.1 reports them).
## 2. What changed
- `web/internal_place.go`: an agent row of kind `internal` → GuestAttach on one tick, register on the next (kind internal,
default when the household has none, label in the box's language); `refuseInternalLifecycle` on eject/decommission/wipe.
- `web/backup_target_offer.go` (R-1084): `offerRelationFor` — proven different → the promise; unproven → `backup.target.offer_unproven`;
same disk → no offer; older agent → today's offer. The internal place is never offered.
- `web/attach_sources.go` (R-1082): `withoutSystemVolume` hides the system data volume by device.
- `web/agent_disk_handlers.go`, `storage_handlers.go`, templates: partitions in the wizards; a disk with a registered part offers
only its free parts (format only `formattable`, use only filesystem parts); `deviceBacksRegistered` refuses the whole disk (409).
- Locales: `storage.belso_tarhely`, `storage.belso_tarhely_magyarazat`, `storage_wizard.resz_n`, `err.web.belso_tarhely_eletciklus`,
`err.web.meghajto_hasznalatban_formazas`, `backup.target.offer_unproven`.
## 3. Tests and red-proofs
internal_place_test.go (5), stacks d4 (a media app's HDD_PATH lands on the internal place; the folder is never created so no
compose can run), r1084_offer_identity_test.go (6), r1082_sysdrive_hidden_test.go (3), partitions_test.go (5). Each was seen
failing by a compiling mutation (a non-compiling mutation was once read as „not caught" and redone). Four i18n parity
fixtures refreshed (diff = only the new lines). `go test ./...` and `controller_gates.py --fast`: green.
## 4. Live proof
Method: endpoint level (the dashboard requests) on a fresh one-disk scratch VM (512 GB, installer 1.33.0, golden 0.318.0):
the internal place registered as the default drive by itself; Jellyfin deployed with DOMAIN + SUBDOMAIN only → 202, healthy,
`/media` on the place; partitions: part 1 formatted, part 2 used, the whole disk refused (409); the backup offer on a VM
without the disk-failure promise; the attach list without `/mnt/sys_drive`. Tester 1, demo-hp and the N100 run 0.318.0 by the
floor. Evidence: felhom.eu `audits/storage-identity-buildB-2026-10-15/live/`.
## 11. Observations
1. FILED: R-1094 — the whole-disk refusal sentence says „Csak a szabad részét formázhatod", untrue while another part is mounted.
2. FILED: R-1093 — an empty part asks for the typed confirmation (the agent's probe reads the parent's partition table).