Compact external storage #23
Labels
No labels
needs-info
needs-triage
ready-for-agent
ready-for-human
wayfinder:grilling
wayfinder:map
wayfinder:prototype
wayfinder:research
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
phg/iodd-tool#23
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
IODD Tool specification
What to build
Integrate the agreed small-file compaction workflow with the production external-storage adapter. Validate preservation and actual free-run outcomes using disposable virtual volumes and controlled failures.
Acceptance criteria
Blocked by
Validation contract
Completion requires the applicable independently checked software evidence in Set validation gates and the implementation handoff. A closed policy decision does not establish that implementation tests have passed. Use disposable images/virtual volumes and controlled faults; no hardware-trial or performance gate applies.
Scope
This ticket belongs to the later implementation effort. All planning decisions are resolved; current work covers tracker and documentation updates. The parent specification indexes the authoritative product and software-validation contracts. Forgejo governs live updates; retained local files record the handoff.
A feature-gated Compact core milestone is integrated and pushed on
implement/iodd-tool-spec-7atcc32d1fced51379036c90cdce7c4c130b194e261(candidate524b44a8f0fb7530ad2e463cd9b4dec9aac9fb05). The public retained host session now composes the existing reviewed Compact engine, with Codable results for the upcoming worker binding. Independent FAT32/exFAT tracers verify the literal largest free run growing from 10 to 12 clusters, two moves/1024 allocated bytes, full content/allocation/entry/directory metadata preservation, pinned ownership, sibling and partition-gap canaries, retained offline ownership and separate close/remount.Independent review passed 26 test functions / 68 expanded cases, including all 16 existing Compact groups and selected shared creation, freshness, batch Stop and recovery checks. Canonical arm64 app/worker release builds, plist and macOS 15 minimum checks passed; the integrated tree equals the reviewed candidate.
Ticket #23 remains open. This milestone does not enable native Compact or qualify production writes. The implementer has resumed the remaining policy/layout/fault/recovery/UI/native qualification; #21 owns the shared production worker and its independent per-operation gates.
Resolved on 381442f, pushed and remote-confirmed on implement/iodd-tool-spec-7. Its entire tree matches reviewed candidate
d514e5516f; all four native operation flags are enabled.Independent Standards and Spec reviews found no issues. Canonical arm64 builds, macOS 15 minimum/plist, Developer ID hardening/timestamps and strict component signatures passed. The public safety cohort passed 2 functions / 3 cases (exit 0, 7.268 seconds). The later capture helper's exit 1 remains preserved separately, followed by read-only inventory completion. Signed development archive SHA-256: 5e428352dfc9848836891840f2e6bb6d5eb35030f3025bbd603ba038341afabb (2,847,620 bytes).
The dated ledger and adjacent JSON retain earlier evidence and exact source/artifact bindings. Later d514 observations below supplement that snapshot. The older 95eac full 259-function PASS, fixture union and failed 8cb/7fc full runs retain their separate scope; no binary equivalence, original-cause or flake conclusion is inferred.
Compact retains the agreed objective, threshold, move/byte limits, bounded-search/no-benefit outcomes and separate preparation, backup, review and confirmation. Fourteen finite FAT32/exFAT policy cases passed independent content/allocation/metadata/free-map/pinned/sibling/outside checks and safe cleanup. Target-unmet and limited-search results describe measured outcomes, not impossibility.
Current 0dc FAT32/exFAT Create refusal → separately reviewed Compact → fresh analysis → NEW explicit Create joins passed on macOS 27; mounted exFAT joined on 15. Exact d514 repeated one mounted 15 join: five Compact commits / 20,480 allocated bytes reached the explicitly reviewed 4097-cluster target, followed by fresh analysis/backup/preparation and separate Create. Full six-file preservation and independent VHD/footer/guest-zero/EOF/extent/QEMU checks passed. Native close 0, both original mounts restored, normal Quit, raw exFAT check 0/input unchanged and detach completed. ROOT verified all 84 exact-d514 references.
Both 0dc macOS 27 modeled first-write report failures preserved original failed output, regular journal/registry/events and actual exported bundle BEFORE replay. Same-owner fresh renewal and explicit matched recovery restored pristine whole backings before safe close/check/Quit/detach. These errors followed real writes and successful actual cache ioctls.
Stop coverage combines public-provider boundary/fault cases and thin actual exFAT GUI Stop. The giant-FAT attempt issued ZERO Stop inputs and stays unqualified; its 2048-event close gap and old 13548 Finish gap stay unverified. The EX byte-cap oracle after verified close is not labelled held. Current-worker death is not inferred from historical worker-loss composition. The same d514 archive also passed macOS 27's six-file File → fresh All/safe-close case (315 references).
Final frozen suites on both supported runtimes, whole-integration review, complete app smoke, supported manual/Homebrew lifecycle, notarization/stapling, immutable DMG and clean-user Gatekeeper/cask distribution remain in #24. This closes the operation implementation, not final release. Physical IODD, 4K, power-loss and performance qualification are neither claimed nor added as prerequisites.