Milestone 5 — Profile generation, verification & installation plus M5 bugfixes (#23–#27, #50, #52) #54

Merged
gronod merged 4 commits from milestone/m5-profile into develop 2026-09-09 14:22:11 +01:00
Owner

Summary

Merge the completed Milestone 5 profile, verification, and installation work into develop.

What's included

  • M5 feature work from PR #51 (feat/23-colprof):
    • colprof argv builder, typed configuration, and progress parsing.
    • applycal / iccgamut post-profile chain.
    • profcheck verification with JSON + legacy text parsing.
    • Verification history store, CSV export, drift alerts, and Swift Charts trend view.
    • ColorSync profile installation.
    • ProfileWorkflowViewModel, Stage4View, Stage5View, DriftChartView.
    • M5 mock fixtures and Milestone5UITests.
  • M5 bugfix work from PR #53 (feat/52-m5-bugfixes):
    • ProcessManager hardening: termination handlers before run(), runCaptured Box hand-off, pipe write-end close.
    • Stage 3 chartread prompt stream, classifier ordering, and UI repair.
    • Handheld fixture UI test unskipped.
    • Profile installer, verification/drift, Stage 5, and applycal guard fixes.

Verification

xcodebuild test -scheme ICCery -destination 'platform=macOS' ARCHS='arm64 x86_64' ONLY_ACTIVE_ARCH=NO

Result: 20 UI tests passed, 0 failures; Core suite passed. Sidecar codesign -dvv verified.

Branches

  • Head: milestone/m5-profile
  • Base: develop

Refs #23 #24 #25 #26 #27 #50 #52

## Summary Merge the completed Milestone 5 profile, verification, and installation work into `develop`. ### What's included - M5 feature work from PR #51 (`feat/23-colprof`): - `colprof` argv builder, typed configuration, and progress parsing. - `applycal` / `iccgamut` post-profile chain. - `profcheck` verification with JSON + legacy text parsing. - Verification history store, CSV export, drift alerts, and Swift Charts trend view. - ColorSync profile installation. - `ProfileWorkflowViewModel`, `Stage4View`, `Stage5View`, `DriftChartView`. - M5 mock fixtures and `Milestone5UITests`. - M5 bugfix work from PR #53 (`feat/52-m5-bugfixes`): - ProcessManager hardening: termination handlers before `run()`, `runCaptured` `Box` hand-off, pipe write-end close. - Stage 3 chartread prompt stream, classifier ordering, and UI repair. - Handheld fixture UI test unskipped. - Profile installer, verification/drift, Stage 5, and `applycal` guard fixes. ### Verification ```bash xcodebuild test -scheme ICCery -destination 'platform=macOS' ARCHS='arm64 x86_64' ONLY_ACTIVE_ARCH=NO ``` Result: **20 UI tests passed, 0 failures; Core suite passed.** Sidecar `codesign -dvv` verified. ### Branches - Head: `milestone/m5-profile` - Base: `develop` Refs #23 #24 #25 #26 #27 #50 #52
gronod added the
Priority
High
2
Project/ICCery-v2Feature/BackendFeature/UI
labels 2026-09-09 14:22:06 +01:00
gronod added 4 commits 2026-09-09 14:22:08 +01:00
Add the Stage 4/5 native workflow: deterministic colprof/applycal/iccgamut
and profcheck argv builders, verification history with CSV export and drift
analytics, user/system ColorSync profile installation, and the matching
SwiftUI views and fixture-driven tests. All Argyll interaction remains
AGPL-isolated via ProcessManager subprocesses.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Hardens ProcessManager finalisation, ensures stdout/stderr pipe write-ends
close after spawn, sets termination handlers before run(), and fixes the
runCaptured continuation hand-off for fast exits. Resolves the Stage 3
prompt stream being dropped and the handheld fixture UI not advancing,
unskips and repairs the handheld UI test, and fixes averaging panel
accessibility. Includes the selected #52 profile, verification, and
artefact-gating fixes.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
gronod merged commit 629a1fce1d into develop 2026-09-09 14:22:11 +01:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gronod/iccery-v2-mac#54