v0.172.0 fixup 2: drop import/* from the carry-list

Found on the demo-hp live leg: with import, import/paperless and import/calibre
in the carry-list, the derived skeleton RE-CREATES a per-drive drop-zone on every
drive forever — the dead lookalike the canonical root exists to remove, and one
that is never backed up (class: excluded).

Not a zero-removals violation: nothing deletes what an existing box has. Both
demo boxes' old drop-zones were verified to hold zero files before the change.
This commit is contained in:
2026-07-26 08:22:13 +02:00
parent 4773809334
commit 8fadbd9891
4 changed files with 61 additions and 10 deletions
+11 -2
View File
@@ -75,12 +75,21 @@ picker paths, and the system drive is deliberately not a registered StoragePath.
`{{if .System}}` would have failed at render for every share. `ShareRow` is now package-level and the
render test constructs the exact type the handler passes.
**Caught during the live deploy leg and fixed in the same version:** `EnsureImportRoot` ensured only
**Caught during the live legs and fixed in the same version (two things):**
1. The carry-list initially kept `import`, `import/paperless` and `import/calibre`, so the skeleton
would RE-CREATE a per-drive drop-zone on every drive forever — the exact dead lookalike this arc
removes, and one that is never backed up. Dropped from the carry-list. This is not a removal:
nothing deletes the dirs an existing box has (both demo boxes' old drop-zones were verified to hold
**zero files** first); they stop being maintained and stop appearing on fresh boxes.
`TestSkeletonNeverCreatesAPerDriveDropZone` pins it, and `TestUserdataSkeleton_List` was updated to
assert their absence.
2. `EnsureImportRoot` ensured only
the leaf, so `MkdirAll`'s intermediates left `<sysNS>/userdata` at `755 root:root` — the one userdata
root on the box outside the 2775/gid-1000 convention. Both the parent and the import dir now carry it
(`TestEnsureImportRoot_ParentCarriesTheConvention`).
Tests 915 → 950, all green. Red-proofs recorded in REPORT.md for Scenario B (classification),
Tests 915 → 951, all green. Red-proofs recorded in REPORT.md for Scenario B (classification),
C (determinism) and E (server-side share refusal). No destructive filesystem call was added anywhere
in this arc. **MinAgent unchanged.**