Files
gronod 2bdd6b0291
macOS CI / build-and-test (pull_request) Failing after 9m52s
macOS CI / package (pull_request) Skipped
ci: do not manually re-sign UI test runner; keep app re-sign with entitlements
The M7 U1 workflow re-enabled CI, but manually re-signing *Runner.app
with codesign --options runtime stripped the xctrunner entitlements
that xcodebuild generates for the UI test runner. The hardened ad-hoc
runner then rejected XCTest at dyld load time.

- Remove the *Runner.app loop from .gitea/workflows/macos.yml.
- Keep xattr -cr and codesign --options runtime on ICCery.app only,
  explicitly passing Resources/ICCery.entitlements.
- Update M7-MEGAPLAN.md and M7-RISK-REGISTER.md to match.
- Append PROP-M7-CI-RUNNER-SIGN-FIX to PROPOSED_CHANGES.md.

Generated with Devin
2026-09-10 02:33:35 +01:00
..

ICCery Rewrite Specification

Product: ICCery — printer ICC/ICM profiling frontend for ArgyllCMS
Source analysed: git.i3omb.com/gronod/ICCery v0.8.5 (main, merge #229)
Related: gronod/argyllcms (fork of ArgyllCMS 3.5.0), gronod/ICCery-CPU (TargetPrint)
Current stack (do not reuse): Tauri v2 + Rust host + vanilla JS + Three.js
Licence: ICCery GUI is proprietary EULA; ArgyllCMS binaries are AGPLv3 and must remain subprocess-isolated (stdin/stdout/stderr only — never link)

This folder is a complete functional specification of the existing application so it can be reimplemented in a different stack under the same name, using the same graphical assets (CMY ice-cream-cone wordmark).

How to use these documents

Read in this order if you are implementing:

  1. 01-overview.md — product, wizard, platforms
  2. 02-architecture.md — process isolation, modules, events
  3. 03-ipc-and-process-manager.md — spawn / stdin / kill contract
  4. 04-argyll-binaries.mdevery Argyll CLI invocation
  5. 05-argyll-fork.md-u JSON protocols, instlist, -Y l, Windows pipe fix
  6. Wizard stages: 06070809151617
  7. Print (critical): 1011-print-macos.md121314
  8. 18-gamut-viewer.md
  9. 21-ui-reference.md — every control id
  10. 24-issues-invariants.md — bugs that must not be repeated
  11. 25-rewrite-notes.md — stack-agnostic idiosyncrasies
  12. 26-v2-mac-ticket-plan.mdreviewed Gitea milestone/ticket plan for the macOS SwiftUI rewrite (executable; supersedes the 2026-09-08 draft)

Non-goals of the original (do not reintroduce)

  • Display calibration wizard (dispwin / dispread) — won't-fix (#90)
  • i18n (en/de/fr/ja) — won't-fix (#96); Argyll diagnostics are English-only
  • Linking against Argyll as a library (AGPL contamination)

Source map (legacy Tauri tree)

Area Path
Wizard HTML src/index.html
Frontend modules src/js/*.js
Styles src/styles/main.css
Logo src/assets/ICCery-logo.svg
Rust host src-tauri/src/
Print backends src-tauri/src/print/{mod,macos,windows,unix}.rs
Argyll sidecars src-tauri/argyll/<platform>/ (not in git; npm run fetch-argyll)
Bundled sRGB gamut src/assets/sRGB.gam

Analysed at 2026-09-08 from Gitea (109 ICCery issues, 13 Argyll-fork issues, 3 ICCery-CPU issues) plus a full source read of v0.8.5.