diff --git a/DOCS/AI/ISOViewer/ISOInspector_PRD_TODO.md b/DOCS/AI/ISOViewer/ISOInspector_PRD_TODO.md index 6da4ddc4..ed14822d 100644 --- a/DOCS/AI/ISOViewer/ISOInspector_PRD_TODO.md +++ b/DOCS/AI/ISOViewer/ISOInspector_PRD_TODO.md @@ -163,6 +163,7 @@ Create a **Swift** library (`ISOInspectorKit`) and a **multiplatform SwiftUI app ### 🚧 In Progress +- [ ] **UI-245 β€” Adopt SwiftUI `.inspector` API on macOS.** Collapse the macOS `NavigationSplitView` to sidebar + content, move inspector content into `.inspector(isPresented:)` with a single `showInspector` binding (⌘βŒ₯I), and host `InspectorDetailView` (selection details + integrity) there. Selection should flip the inspector display mode without hiding the pane. Remove legacy `NavigationSplitViewVisibility` inspector plumbing on macOS; keep current iPad/iPhone fallbacks intact. - [ ] **T5.4 β€” Performance Benchmark (Lenient vs. Strict).** Harness delivery is archived in `DOCS/TASK_ARCHIVE/206_T5_4_Performance_Benchmark_macOS_Run/`, and the Linux baseline metrics live in `Documentation/Performance/2025-11-04-lenient-vs-strict-benchmark.log`. Execute the macOS 1 GiB rerun (`ISOINSPECTOR_BENCHMARK_PAYLOAD_BYTES=1073741824`) per the active checklist in `DOCS/INPROGRESS/next_tasks.md` to close the tolerance gate; the most recent summary and blockers are captured in `DOCS/TASK_ARCHIVE/207_Summary_of_Work_2025-11-04_macOS_Benchmark_Block/`. - [x] **T6.2 β€” CLI Corruption Summary Output.** _(Completed β€” see `DOCS/TASK_ARCHIVE/208_T6_2_CLI_Corruption_Summary_Output/` for the objective, implementation notes, and verification log covering strict vs. tolerant snapshot tests.)_ - [x] **T3.6 β€” Integrity Summary Tab.** _(Completed β€” see `DOCS/TASK_ARCHIVE/196_T3_6_Integrity_Summary_Tab/` for the release notes and follow-up checklist.)_ diff --git a/DOCS/INPROGRESS/next_tasks.md b/DOCS/INPROGRESS/next_tasks.md index 085e2338..685e5690 100644 --- a/DOCS/INPROGRESS/next_tasks.md +++ b/DOCS/INPROGRESS/next_tasks.md @@ -1,36 +1,12 @@ # Next Tasks Queue -_Last updated: 2025-11-19 (UTC). Maintainers should update this file whenever task priorities change or blockers are resolved._ +_Last updated: 2025-12-11 (UTC). Maintainers should update this file whenever task priorities change or blockers are resolved._ -## 0. FoundationUI Navigation Architecture (NEW) - -> **Note:** Tasks 240, 241, and 242 have been completed and archived to `DOCS/TASK_ARCHIVE/234_Resolved_Tasks_Batch/` (2025-11-19). See ARCHIVE_SUMMARY.md for details. - -1. **Task 243 – Reorganize NavigationSplitView: Selection Details & Integrity Summary in Inspector** _(Ready for implementation β€” `DOCS/INPROGRESS/243_Reorganize_Navigation_SplitView_Inspector_Panel.md`)_ - - Move Selection Details content (metadata, corruption, encryption, notes, fields, validation, hex) to third column (Inspector) - - Move Integrity Summary to Inspector panel with toggle button in Box Tree panel header - - Refactor ParseTreeDetailView into sub-components for better composability - - Add toggle UI in Box Tree panel to switch between Selection Details and Integrity Summary views - - Ensure responsive layout across macOS (3 columns), iPad (adaptive), iPhone (compact) - - Implement keyboard shortcuts (⌘βŒ₯I for inspector toggle) and VoiceOver labels - - Create 25-30 unit tests, 10-15 integration tests, 4+ UI snapshot tests - - Effort: ~4.5 days - - Ready: 2025-11-19 +_No active items in this queue. Select the next task per `DOCS/COMMANDS/SELECT_NEXT.md`._ --- -## 1. Automation & Quality Gates - -1. **Task A8 – Test Coverage Gate** βœ… _(Completed β€” `DOCS/INPROGRESS/A8_Test_Coverage_Gate.md`)_ - - `coverage_analysis.py --threshold 0.67` now runs in `.githooks/pre-push` after `swift test --enable-code-coverage` (macOS-only due to SwiftUI dependency) and blocks pushes on coverage failures. - - CI `coverage-gate` job executes the same workflow on macOS runners and publishes logs/reports under `Documentation/Quality/`. - - `todo.md` and the Execution Workplan have been updated to reflect the enforced gate and artifact locations. - -2. **Task A10 – Swift Duplication Detection** βœ… _(Completed β€” `DOCS/INPROGRESS/A10_Swift_Duplication_Detection.md`)_ - - `.github/workflows/swift-duplication.yml` runs `scripts/run_swift_duplication_check.sh` (Node 20 + `npx jscpd@3.5.10`) on PR/main pushes with 30-day artifact retention. - - Thresholds enforced: >1% overall duplication or β‰₯45-line clones fail the job; report saved as `swift-duplication-report.txt`. Pre-push runs the same gate and writes reports under `Documentation/Quality/`. - -## 2. UI Defects & Experience Fixes +## 1. UI Defects & Experience Fixes 1. **Bug #234 – Remove Recent File from Sidebar** _(Ready for implementation β€” `DOCS/INPROGRESS/234_Remove_Recent_File_From_Sidebar.md`)_ - Add the MRU removal affordance in the sidebar along with analytics/logging hooks described in the spec. @@ -38,7 +14,7 @@ _Last updated: 2025-11-19 (UTC). Maintainers should update this file whenever ta 3. **Bug #235 – Smoke tests blocked by Sendable violations** _(Resolved β€” `DOCS/INPROGRESS/235_Sendable_SmokeTest_Build_Failure.md`)_ - Strict-concurrency build now passes after sendable annotations and document-loading refactor; smoke filters are green. -## 3. Blocked but High Priority +## 2. Blocked but High Priority - **Task T5.4 – macOS 1β€―GiB Lenient-vs-Strict Benchmark** _(Blocked β€” see `DOCS/TASK_ARCHIVE/207_Summary_of_Work_2025-11-04_macOS_Benchmark_Block/blocked.md`)_ - Hardware requirement: a macOS host (Sonoma/Xcode 16.x) with the 1β€―GiB benchmark fixture accessible locally; Linux CI cannot execute this run. diff --git a/DOCS/INPROGRESS/243_Reorganize_Navigation_SplitView_Inspector_Panel.md b/DOCS/TASK_ARCHIVE/100_Declined_Tasks_243_245/243_Reorganize_Navigation_SplitView_Inspector_Panel.md similarity index 98% rename from DOCS/INPROGRESS/243_Reorganize_Navigation_SplitView_Inspector_Panel.md rename to DOCS/TASK_ARCHIVE/100_Declined_Tasks_243_245/243_Reorganize_Navigation_SplitView_Inspector_Panel.md index 833dd223..484d2935 100644 --- a/DOCS/INPROGRESS/243_Reorganize_Navigation_SplitView_Inspector_Panel.md +++ b/DOCS/TASK_ARCHIVE/100_Declined_Tasks_243_245/243_Reorganize_Navigation_SplitView_Inspector_Panel.md @@ -1,11 +1,13 @@ # Task 243: Reorganize NavigationSplitView – Move Selection Details & Integrity Summary to Inspector Panel -**Status**: New (Awaiting Planning & Decomposition) +**Status**: RESOLVED (declined 2025-12-17 β€” stakeholder prefers current 4-column layout) **Created**: 2025-11-19 (UTC) **Session ID**: `claude/reorganize-navigation-split-view-01DgfApqEpedTA17urnmfHFE` --- +> Decision: No implementation required. Stakeholder confirmed the existing layout (sidebar = files, content = box tree, detail = selection details, inspector overlay = integrity report) is acceptable; requested to keep it as-is. + ## πŸ“‹ FEATURE REQUEST ### Original Task (Russian) diff --git a/DOCS/INPROGRESS/244_NavigationSplitView_Parity_With_Demo.md b/DOCS/TASK_ARCHIVE/100_Declined_Tasks_243_245/244_NavigationSplitView_Parity_With_Demo.md similarity index 97% rename from DOCS/INPROGRESS/244_NavigationSplitView_Parity_With_Demo.md rename to DOCS/TASK_ARCHIVE/100_Declined_Tasks_243_245/244_NavigationSplitView_Parity_With_Demo.md index 070178cd..6b58c8c0 100644 --- a/DOCS/INPROGRESS/244_NavigationSplitView_Parity_With_Demo.md +++ b/DOCS/TASK_ARCHIVE/100_Declined_Tasks_243_245/244_NavigationSplitView_Parity_With_Demo.md @@ -1,5 +1,7 @@ # Task 244 – NavigationSplitView Parity with Demo +**Status**: RESOLVED (declined 2025-12-17 β€” stakeholder wants to retain current layout) + ## 🎯 Objective Refactor the app shell and parse tree experience so the three-column NavigationSplitView matches the clean NavigationSplitViewKit demo layout (no overlaid β€œframe” under the toolbar, single split view, stable column order, and inspector-only details/integrity). diff --git a/DOCS/INPROGRESS/245_Adopt_SwiftUI_Inspector_API_for_ISOInspectorApp.md b/DOCS/TASK_ARCHIVE/100_Declined_Tasks_243_245/245_Adopt_SwiftUI_Inspector_API_for_ISOInspectorApp.md similarity index 79% rename from DOCS/INPROGRESS/245_Adopt_SwiftUI_Inspector_API_for_ISOInspectorApp.md rename to DOCS/TASK_ARCHIVE/100_Declined_Tasks_243_245/245_Adopt_SwiftUI_Inspector_API_for_ISOInspectorApp.md index 8b5f7ed2..943d61c6 100644 --- a/DOCS/INPROGRESS/245_Adopt_SwiftUI_Inspector_API_for_ISOInspectorApp.md +++ b/DOCS/TASK_ARCHIVE/100_Declined_Tasks_243_245/245_Adopt_SwiftUI_Inspector_API_for_ISOInspectorApp.md @@ -1,5 +1,7 @@ # Task 245 – Adopt SwiftUI `.inspector` API for ISOInspectorApp +**Status**: RESOLVED (declined 2025-12-17 β€” stakeholder prefers current inspector approach) + ## 🎯 Objective Replace the custom inspector column plumbing with the native SwiftUI `.inspector` API on macOS, so the inspector behaves like the platform demo: a system-managed pane that can be shown/hidden independently of the main NavigationSplitView (sidebar + content), eliminating nested split views and layout insets. @@ -8,6 +10,13 @@ Replace the custom inspector column plumbing with the native SwiftUI `.inspector - SwiftUI’s `.inspector(isPresented:)` provides a native inspector pane on macOS that avoids layout fights and aligns with the NavigationSplitViewKit demo behavior. - Goal: Use `.inspector` to host `InspectorDetailView` while keeping the main split for sidebar + content only. The inspector becomes system-managed, and visibility toggles become simple bindings. +## πŸ“Œ Status Check (2025-12-17) +- macOS still uses a three-column `NavigationSplitView` (sidebar/content/detail) plus `.inspector` hosting only the integrity summary. The inspector is not the sole host for Selection Details + Integrity. +- `InspectorDetailView` does not exist in the codebase; inspector content is `IntegritySummaryView` only. +- Legacy inspector column state remains (`columnVisibility`, `NavigationSplitViewVisibility` binding). The `showInspector` binding defaults to `false` and only toggles Integrity, not a unified inspector. +- Selection handling (`handleIssueSelected`) does not adjust inspector display mode or ensure the inspector stays visible. +- iOS/iPadOS fallbacks are unaffected (still using the existing layout), but macOS parity with the `.inspector` demo is not met yet. + ## βœ… Success Criteria - macOS: `NavigationSplitView` contains only sidebar (recents) and content (box tree + filters); inspector is shown via `.inspector(isPresented:)`. - Inspector content is always `InspectorDetailView` (Selection Details / Integrity), not embedded in the main split columns. diff --git a/DOCS/INPROGRESS/A10_Swift_Duplication_Detection.md b/DOCS/TASK_ARCHIVE/237_Resolved_Tasks_Batch/A10_Swift_Duplication_Detection.md similarity index 100% rename from DOCS/INPROGRESS/A10_Swift_Duplication_Detection.md rename to DOCS/TASK_ARCHIVE/237_Resolved_Tasks_Batch/A10_Swift_Duplication_Detection.md diff --git a/DOCS/TASK_ARCHIVE/ARCHIVE_SUMMARY.md b/DOCS/TASK_ARCHIVE/ARCHIVE_SUMMARY.md index eb42a0a5..5c35911c 100644 --- a/DOCS/TASK_ARCHIVE/ARCHIVE_SUMMARY.md +++ b/DOCS/TASK_ARCHIVE/ARCHIVE_SUMMARY.md @@ -1762,3 +1762,23 @@ - **Summary:** - **Bug/Task #A8_Test_Coverage_Gate:** **Status**: RESOLVED - **Next steps:** None β€” all archived items are resolved and ready for verification. + +## 100_Declined_Tasks_243_245 +- **Archived files:** `243_Reorganize_Navigation_SplitView_Inspector_Panel.md`, `244_NavigationSplitView_Parity_With_Demo.md`, `245_Adopt_SwiftUI_Inspector_API_for_ISOInspectorApp.md` +- **Archived location:** `DOCS/TASK_ARCHIVE/100_Declined_Tasks_243_245/` +- **Archival date:** 2025-12-17 +- **Status:** βœ… Declined/Resolved (no implementation needed per stakeholder) +- **Summary:** + - Task 243: Declined; stakeholder prefers existing layout (sidebar, box tree, detail, integrity inspector overlay). + - Task 244: Declined; requested parity refactor not needed with current layout preference. + - Task 245: Declined; adoption of native `.inspector` API deferred/not required. +- **Next steps:** None β€” tasks closed as not needed. + +## 237_Resolved_Tasks_Batch +- **Archived files:** `A10_Swift_Duplication_Detection.md` +- **Archived location:** `DOCS/TASK_ARCHIVE/237_Resolved_Tasks_Batch/` +- **Archival date:** 2025-12-17 +- **Status:** βœ… All tasks COMPLETED +- **Summary:** + - Task A10 β€” Swift Duplication Detection: CI duplication gate and pre-push hook implemented using `jscpd` (Swift-only, ≀1% overall, <45-line clones), with workflow, wrapper script, artifacts, and documentation updates. +- **Next steps:** None β€” gate is live.