Inspect the complete allocation map #10

Closed
opened 2026-10-11 19:10:41 +00:00 by phg · 1 comment
Owner

Parent

IODD Tool specification

What to build

Display an aggregated allocation map and highlight every extent of a selected file without truncating large-file coverage.

Acceptance criteria

  • A successful Analyze snapshot drives a full-volume allocation map, native file selection, and complete selected-file highlighting.
  • Aggregation preserves the meaning of free, allocated, and fragmented ranges at the available display resolution.
  • The map uses all snapshot extents rather than a fixed per-file cluster cap and does not create a UI element for each physical cluster.
  • An accessible text summary and keyboard-operable file table provide equivalent useful information.
  • Independent known layouts verify summary/range behavior at cluster boundaries and for files larger than the original display limits.
  • The map consumes the shared snapshot contract and works with any supported analyzer, including exFAT when that sibling slice lands.
  • Selection and snapshot changes cannot leave stale highlighting on a different image.

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.

## Parent [IODD Tool specification](https://git.s1q.dev/phg/iodd-tool/issues/7) ## What to build Display an aggregated allocation map and highlight every extent of a selected file without truncating large-file coverage. ## Acceptance criteria - [ ] A successful Analyze snapshot drives a full-volume allocation map, native file selection, and complete selected-file highlighting. - [ ] Aggregation preserves the meaning of free, allocated, and fragmented ranges at the available display resolution. - [ ] The map uses all snapshot extents rather than a fixed per-file cluster cap and does not create a UI element for each physical cluster. - [ ] An accessible text summary and keyboard-operable file table provide equivalent useful information. - [ ] Independent known layouts verify summary/range behavior at cluster boundaries and for files larger than the original display limits. - [ ] The map consumes the shared snapshot contract and works with any supported analyzer, including exFAT when that sibling slice lands. - [ ] Selection and snapshot changes cannot leave stale highlighting on a different image. ## Blocked by - [Analyze a FAT32 image](https://git.s1q.dev/phg/iodd-tool/issues/8) ## Validation contract Completion requires the applicable independently checked software evidence in [Set validation gates and the implementation handoff](https://git.s1q.dev/phg/iodd-tool/issues/6). 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.
phg self-assigned this 2026-10-13 09:45:31 +00:00
Author
Owner

Resolution — complete proportional allocation map implemented

Implemented on implement/iodd-tool-spec-7, implementation commit 4cb855f, integration merge a44758f, with independent exFAT projection validation added at cd50bd8.

The full-volume proportional map preserves exact allocation/free/unknown totals, directory/system pinned ownership, complete fragmented/selected-file intersections and accessible range summaries. Display resolution never changes measured totals. Selection is bound to the current snapshot and clears on stale storage or a new analysis.

Validation: the integrated 37-test public-operation suite passes with Xcode27.0/27A266a and Swift6.4, including independent FAT32 and exFAT map/allocation oracles at multiple resolutions, a36391-cluster selected file,10001 extents and boundary/partial/stale cases. Full-image before/after hashes remain unchanged; independent non-repairing filesystem checks agree. Native macOS26.6.2/25G83 checks exercised all four table columns, keyboard selection, the final mixed map range, accessible owner paths, complete extents and stale removal. The arm64 release build and plist validation pass.

Reproducible evidence and native screenshot. Baseline/current-stable runtime qualification and final distribution remain in the later release gate; they are not inferred from this slice.

## Resolution — complete proportional allocation map implemented Implemented on [implement/iodd-tool-spec-7](https://git.s1q.dev/phg/iodd-tool/src/branch/implement/iodd-tool-spec-7), implementation commit [4cb855f](https://git.s1q.dev/phg/iodd-tool/commit/4cb855ffdbcf1bff5827e41d38e105d47896b343), integration merge [a44758f](https://git.s1q.dev/phg/iodd-tool/commit/a44758f3a37bd84044d46f1cba48639f38d7d1d6), with independent exFAT projection validation added at [cd50bd8](https://git.s1q.dev/phg/iodd-tool/commit/cd50bd86e3699c973915a0216136db4f04814d85). The full-volume proportional map preserves exact allocation/free/unknown totals, directory/system pinned ownership, complete fragmented/selected-file intersections and accessible range summaries. Display resolution never changes measured totals. Selection is bound to the current snapshot and clears on stale storage or a new analysis. Validation: the integrated 37-test public-operation suite passes with Xcode27.0/27A266a and Swift6.4, including independent FAT32 and exFAT map/allocation oracles at multiple resolutions, a36391-cluster selected file,10001 extents and boundary/partial/stale cases. Full-image before/after hashes remain unchanged; independent non-repairing filesystem checks agree. Native macOS26.6.2/25G83 checks exercised all four table columns, keyboard selection, the final mixed map range, accessible owner paths, complete extents and stale removal. The arm64 release build and plist validation pass. [Reproducible evidence and native screenshot](https://git.s1q.dev/phg/iodd-tool/src/commit/cd50bd86e3699c973915a0216136db4f04814d85/docs/validation/allocation-map.md). Baseline/current-stable runtime qualification and final distribution remain in the later release gate; they are not inferred from this slice.
phg closed this issue 2026-10-13 10:32:45 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
phg/iodd-tool#10
No description provided.