The Phase 1 (#183) quality plumbing already covers detection,
extraction, capture, and lp emission — this change proves the Epson
path end-to-end with recorded fixtures.
- CupsParserTests: replace the synthetic cupsPrintQuality listing with
the recorded XP-55 line (301 302 *303 308 304 305 307 — driver order,
308 between 303 and 304); assert all seven ids enumerate unsorted,
the * default is 303, all seven PPD labels resolve, and EPIJ_Qual
wins detection over OutputMode/Resolution (R11).
- CupsOptionsFilterTests: captured EPIJ_Qual + canonical quality keys
survive the filter (roster verified complete post-#183 — no source
change needed; EPIJ_Quality kept as harmless alias, R16).
- LpArgsTests: explicit quality 305 emits -o EPIJ_Qual=305.
- PrintSessionViewModelTests + UI lpoptions fixture: recorded
seven-choice line feeds the picker; Stage 2 picker lists all seven
entries in driver order (new UI test).
Devin-AI: Devin <devin@cognition.ai>
Co-authored-by: Devin <devin@cognition.ai>
- BUILD-PLAN: M11 row (issues 183/180/181/186) above Later/#16; source
line names milestone id 34; note line points at
milestone/m11-print-settings from 736fd08; #16 not an M11 exit gate
- README: M10 row reflects shipped state (milestone 32 closed); new M11
row in flight on milestone/m11-print-settings; branch taxonomy names
the announced integration branch
- .gitignore: /set-version.sh is a local-only developer helper, never committed
- AGENTS.md: gitea MCP issue_write/issue_read expose dependency methods
(add_dependency, block_issue, list_dependencies, ...) — replaces the
raw REST notes now that the MCP build supports them
- scripts/version.sh resolves ICCERY_RELEASE_TAG / MARKETING_VERSION /
CURRENT_PROJECT_VERSION from RELEASE_TAG env or `git describe`; tag
builds hard-fail when the tag's X.Y.Z != project.yml MARKETING_VERSION
- build number = `git rev-list --count HEAD` (Apple: macOS
CFBundleVersion must monotonically increase, no per-version reset)
- tag ships as a bundled ICCeryReleaseTag resource — a generated
Info.plist can't carry custom keys (INFOPLIST_KEY_* allowlist, and
ProcessInfoPlistFile runs after script phases); About shows
"tag (marketing)", e.g. v2.0.0-pre2-grok (2.0.0)
- DMG named ICCery-<tag>-<build>.dmg for tagged/described builds
- CI twins: fetch-depth 0 + RELEASE_TAG env + stamped test builds