Validate the native analysis and VHD creation workflows #5
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#5
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
Context
The confirmed scope is a native Swift app for macOS 15+ on Apple Silicon, all external FAT32/exFAT disks including fixed media, and IODD mini/newer image-capable devices. Fixed VHD creation requires a valid container and verified complete-file contiguous allocation. Current work is planning and ticket publication only; implementation is a later effort. The public volume-operation API against disposable images is the confirmed main testing boundary.
Type: prototype
Mode: HITL
Presentation requirements
Follow Apple’s macOS Human Interface Guidelines and the accepted operation specifications. Redesign the interface against those guidelines before requesting workflow approval. Use platform-appropriate window, sidebar, toolbar, table, inspector, sheet, progress, keyboard and accessibility conventions. The agreed macOS 15 minimum remains in place; native controls follow the running system’s appearance.
Question
Does a concrete native macOS workflow make analysis, IODD eligibility, defrag/compaction, and fixed VHD creation understandable without concealing authorization or allocation failures?
Use the prototype skill to make a disposable, fixture-driven SwiftUI/AppKit sketch or an appropriately low-fidelity artifact. Include external drive selection, real extent counts, an accessible allocation map/table, operation preview, largest-free-run versus total-free-space explanation, VHD capacity input, and authorization/progress/cancellation/recovery/remount states. Test a fragmented-but-eligible ISO, an ineligible VHD, a stale plan, insufficient contiguous space, and a recovery-required outcome.
Use the resolved Define fixed VHD creation and allocation failure behavior as the capacity, guest-content, destination, free-run failure, progress, and creation-outcome contract. Obtain feedback on exact MiB/GiB input versus complete host allocation, a footer requiring another cluster, an uninitialized guest disk, destination collisions, separately requested compaction and renewed creation preview, measured estimates, and safe-stop outcomes. These are presentation checks of the agreed creation policy, not a replacement for its resolution.
Use the resolved Choose the filesystem engine and recoverable mutation contract as the access/cancellation/recovery contract. Obtain feedback on full-device offline analysis, renewed stale previews, Stop before/after commit, declared versus verified IODD detachment, recovery-bundle import and ambiguous evidence, partial batch outcomes, and remount failure separate from file success. These now-specific presentation questions graduate the retained map's recovery-presentation fog into this existing ticket.
Use the resolved Define analysis, defrag, and compaction success criteria as the analysis, Defrag All, compaction, preview and outcome contract. Obtain feedback on the default fragmented-file filter versus full-volume batch scope, proportional mixed map cells and complete textual extent detail, partial/stale analysis, adjustable Compact thresholds and count/allocated-byte caps, a VHD-derived target free run, per-operation backup acknowledgement, and staged/capped/cancelled work with verified file moves but no free-run growth. Show a small logical file on a large host cluster and preserved read-only file attributes. These are presentation checks of the accepted policy, not a replacement for its resolution.
Link the artifact rather than pasting it into the issue. Obtain live user feedback; a prototype ticket cannot be resolved by an agent approving its own sketch. This is a decision aid, not the production application.
Blocked by
Record ownership
This Forgejo issue governs the live implementation prerequisite. The original local planning question and its history are retained; the implementation publication index links both records. This HITL decision remains open until the user resolves it. Publication does not resolve the original decision or approve production disk writes.
Prototype checkpoint — awaiting live workflow feedback
Claimed by phg for the current wayfinder session. The presentation question remains open.
Review evidence: Interactive native workflow prototype, captured on prototype/native-workflow, commit
48f5e4a1c8bfdd68a7a22b734c11e9f934cb3afd. Download the standalone HTML and open it in a browser; it has no installation or server requirement. The T3 thread also displays it interactively.The artifact is a disposable HTML state/workflow sketch for the native Swift application. All storage, authorization, progress, timing and verification outcomes are synthetic in-memory fixtures. The artifact uses the accepted engine, creation and analysis/compaction resolutions as its policy inputs. Actual native controls, filesystem/worker implementation and hardware qualification belong to later work.
The ten guided cases cover:
Review verification used T3's HTML preview to exercise the guided buttons and inspect rendered state at desktop/light and narrow/dark widths. Additional fixture checks covered exact 1.5 GiB → 1536 MiB conversion, rejection of 1.1 GiB and FAT32 4 GiB requests, destination collision, authorization denial, known active hardware drives blocking access despite a declaration, intact-bundle recovery with renewed preparation/authorization, and a read-only host volume. The narrow page stayed within its 360 px width. These checks concern this sketch's presentation and transitions, and provide no filesystem or hardware qualification evidence.
Presentation frontier for user feedback
Recommendation: retain the proposed presentation in each area, subject to phg's actual review. Resolution and the map's Decisions so far await that live exchange and the final shared-understanding check.
HIG redesign checkpoint — current review artifact
The user required a macOS Human Interface Guidelines redesign before answering the workflow questions. That requirement is now recorded in this ticket and the parent map's Notes. The earlier sketch is retained as history; the revised artifact is the current presentation proposal.
Captured on prototype/native-workflow, commit
4e3e88b0b4f1ce175bda6e7a6e54e49db3452215; the published branch was verified against that commit. The T3 thread also shows the interactive redesign.The presentation now uses a macOS volume sidebar, unified title/toolbar, app menus, sortable/resizable file columns, optional inspector, scoped modal sheets and a consistent bottom progress/status area. System typography, light/dark appearance, active/inactive selection, keyboard navigation, sheet focus, Escape, meaningful button titles and trailing primary actions replace the earlier custom presentation. Walkthrough and simulation controls are outside the app window.
Apple guidance consulted: Designing for macOS, Sidebars, Toolbars, Lists and tables, Sheets, Modality, Alerts, Progress indicators, Accessibility, and System fonts.
The agreed macOS 15 minimum remains the baseline. Production uses native SwiftUI/AppKit controls, system authorization and file choosers, adopting the running system's appearance. The browser sketch's menu/window chrome, SVG icons and authorization transition are design aids rather than production implementations.
All ten guided cases were exercised after the redesign. Additional checks covered actual keyboard row selection, column sorting/resizing, menu focus and Escape, modal parent isolation and focus, preparation gating, complete VHD footer extent detail, actual destination collisions, failed-but-verified rollback outcomes, light/dark appearance and narrow rendering. Inventory, statistics and map retain one labelled before-operation snapshot while a job runs; final results use the fresh verified fixture state. No production filesystem or hardware qualification was performed.
Live workflow feedback and the final shared-understanding check remain pending. This is review evidence, not a resolution comment; the ticket and map remain open.
Resolution — native workflows accepted
On 13 October 2026, phg answered “accept all” to the five remaining workflow questions after requiring and reviewing the macOS Human Interface Guidelines redesign. This is the live human feedback resolving this prototype decision.
Accepted evidence: HIG workflow prototype, commit
4e3e88b0b4f1ce175bda6e7a6e54e49db3452215on prototype/native-workflow. Download the standalone HTML. Design notes and acceptance verdict are captured in commit17d962a0f46dc49669d7314bb94d4525756dbf19; the reviewed HTML is unchanged.Accepted presentation decisions
Native interface direction
Follow Apple’s macOS Human Interface Guidelines using a volume sidebar, unified title/toolbar and app menus, a sortable/resizable file table, optional inspector, scoped modal sheets, inline validation and stable progress/Stop/outcome presentation. Preserve keyboard operation, accessible textual allocation detail and system appearance. Review harness controls remain outside the product interface.
The eventual native Swift app uses SwiftUI/AppKit system controls, SF Symbols, system authorization and file choosers. The agreed macOS 15 minimum remains; the running system supplies its native appearance. The HTML is disposable, synthetic in-memory workflow evidence, not production control code or filesystem/hardware qualification evidence. Existing supported-volume, engine/recovery, creation and analysis/compaction resolutions remain authoritative for operation semantics.
Handoff
This ticket is resolved. No new planning question emerged from the acceptance. Set validation gates and the implementation handoff is the remaining decision and becomes unblocked when this ticket closes. It will set the final independent verification, fault/hardware matrix, release prerequisites, performance expectations and staged implementation plan. IODD Tool specification remains open until that decision is resolved; the current authorization remains planning and specification only.