Files
felhom-agent/REPORT.md
T
2026-10-16 10:10:21 +02:00

2.9 KiB

REPORT — v0.158.1: the internal data place, partitions as places, add_internal_place (2026-10-16)

Written in ASD-STE100 Simplified Technical English. Design read first: felhom.eu architecture/16-storage-physical-identity.md (§5–§7, §9, §13), 03-host-agent.md. Task: storage identity build B. v0.158.0 is superseded (security review) — do not vouch it.

What changed

  • configs/felhom-internal-place (bundle): the ruled size rule, the only lvcreate/mkfs of a system-disk volume; fails closed on any failed read. Run by the installer (1.33.0 step 5b) and by the new signed op.
  • internal/localapi/internalplace.go: the record → mount at /mnt/belso by fs-UUID like a drive, kind internal; never takes a household drive's /mnt/belso; eject/decommission/format refused.
  • internal/signedjobs/internalplace.go: add_internal_place (operator key, no parameters).
  • internal/storage/partitions.go: each part of a free disk listed (empty / filesystem / in_use, formattable); a data-bearing part's wipe id binds disk id + part number + fs-UUID (durable_device.go).
  • configs/felhom-mkfs-guarded.sh: every mount of every node outside /mnt/felhom-drives refuses (kernel mount table); an unlistable disk refuses; NO exemption for a sibling claiming to be Felhom's own (0.158.0 had one — removed).
  • Sudoers FELHOM_INTERNALPLACE (^(plan|create) 0$); capability manifest + injection cases.

Tests and red-proofs

configs/test_felhom_internal_place.py (13), configs/test_felhom_mkfs_guarded.py (8 — first tests of the wrapper; the 0.158.0 wrapper and the old one measured against them), internalplace_test.go (9), internalplace (signedjobs, 4), partitions_test.go (3), partition_durable_test.go (4), the sudo rule widened → caught. Every new test seen failing first. agent_gates.py: green.

Release and delivery

release-agent.sh 0.158.1: sha256 20264df6…84b76a1, bundle c23c3d35…cb1c41b. The bundle ADDS a path, so boxes on an older wrapper refuse it (R16): a step bundle 0.158.1-step1 (sha fd968ee1…5c2eb9, the 0.156.1 bundle with only felhom-os-apply replaced) was published, then per box: agent_update 0.158.1 → step bundle → bundle 0.158.1. Done on Tester 1, demo-hp, the N100. Vouched by the operator (with golden 0.318.0).

Live proof

A fresh one-disk install (512 GB VM, installer 1.33.0): the place made (213 GiB), mounted by the agent, registered by the controller; nothing of it in a whole-box copy; same-disk internal vs sys_drive: same disk, proven; partitions listed, formatted, used. Evidence: felhom.eu audits/storage-identity-buildB-2026-10-15/live/.

Observations

  1. FILED: R-1093 — an empty part asks for the typed confirmation: the probe reads the PTTYPE a partition inherits from its disk.
  2. NOT-A-FINDING: the step bundle was needed and is the documented route (R-880); the first 0.158.0 bundle jobs were refused by R16 as designed, nothing changed on the boxes.