Files
lightcraft/plan/execution-plan.md
T
Andrew FrahnandClaude Opus 5.5 6cbc0eb5a9 Phase 0: configurable brand, MIT licence, plan/ and Immich tracker
- brand.toml is the only place the product name lives; every crate and app
  reads it through dac-brand (env vars with legacy fallback, settings folder
  with copy-only migration, default library, preset extensions, i18n {app})
- cargo xtask brand check|test, run|install|package, docs, rename-crates,
  deny and immich; packaging files are templates rendered from brand.toml
- icons regenerated from brand/icon.svg; upstream branding removed
- MIT licence (segment and fetch stay Apache-2.0); cargo deny licence policy
- clean-room rules in AGENTS.md/CLAUDE.md; docs/upstream-merge.md
- plan/ rebuilt and committed; parity tracker reopens Classic rows, adds
  PLAN.md section 2 rows and the IMM Immich section; plan/immich.md and a
  pinned Immich test server

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-10 10:30:06 +11:00

2.6 KiB
Raw Blame History

Execution plan

Summary of PLAN.md §6. The detailed phase plans are copied here (phase-0.md … phase-4.md); the root PLAN_phase_*.md files are the working copies. Estimates are agent-hours and show relative size; every phase ends with an exit gate checked by tests or measurement.

Phase Scope Estimate Depends on Detail
0 Fork, brand config (brand.toml), MIT licence, plan/, tracker with Classic and Immich rows, Immich test server 12–22 h — phase-0.md
1 Classic shell (modules, panels, keymap), catalog v4 (500k+ photos), engine split, full-resolution zoom, net / credentials, Immich connect / link / import / external library 50–85 h 0 phase-1.md
2 Image quality: camdb, lens profiles, CR3 and other raws, profiled noise reduction, cms 110–180 h 1 phase-2.md
3 Output modules: shared text / PDF / layout, Print, Map, Slideshow, Book, Web; Immich shared links 72–124 h 1 phase-3.md
4 Workflow: tethering, publish services, plugins, round trips, actions, people, catalog migration; Immich publish, two-way sync, people, search, MCP 60–105 h 1 phase-4.md
5 AI masks, HDR editing and output, video 100–200 h 1–2 PLAN.md §6
6 1.0 hardening: performance, fuzzing, packaging, docs 30–50 h all PLAN.md §6

Phases 2, 3 and 4 run in parallel after Phase 1.

Tracker mapping

Phase Tracker rows it closes (docs/parity.md)
0 none directly; adds the rows (KEYC-MODULES and LRC-WEB-* / LRC-MAP-REVGEO reopened, LRC-SHELL-* / LRC-CAT-* and others added, IMM-*)
1 KEYC-MODULES, KEYC-PANELS, KEYC-VIEWS, LRC-SHELL-, LRC-CAT-, LR-VIEW-ZOOM, IMM-CONNECT, IMM-LINK, IMM-IMPORT, IMM-EXTLIB
2 LR-PROF-CAMERACOLOR, LR-IMP-FORMATS, LR-IMP-CAMERA-COVERAGE, LR-EDIT-OPTICS-PROFILE, LRC-DEV-SOFTPROOF
3 LRC-MAP-, LRC-BOOK-, LRC-SS-, LRC-PRINT-, LRC-WEB-*, KEYC-MODULE-OUTPUT, IMM-SHARELINK
4 LRC-LIB-TETHER, LRC-LIB-PUBLISH, LRC-SHELL-PLUGINS, LRC-AUTO-ACTIONS, LRC-LIB-PEOPLE, IMM-PUBLISH, IMM-SYNC, IMM-PEOPLE, IMM-SEARCH, IMM-MCP
5 Q. HDR, R. Video, P. Enhance, AI rows in K. Masking

Working rules

  • Pick work from the tracker's "Top gaps"; update the row in the same commit that lands the feature.
  • cargo xtask ci must be green before merging; cargo xtask parity --write refreshes the summary.
  • Product name only via brand::; prose says "the app".
  • Clean-room rules (PLAN.md §4.2) apply to every phase.