ColorSync suppression engine — six layers (#14)
- ColorMatchingAttempts (Core): dlsym order Lock -> Mode -> NoLock and
modes AP_ApplicationColorMatching -> ApplicationColorMatching as data;
both AP_ print-settings keys; 2-arg (PMPrintSession, CFStringRef)
signature — never integer 1 (#188).
- ColorSyncSuppressor (app): layer 2 SPI via injectable dlsym resolver,
first 0 wins; layer 3 PMPrintSettingsSetValue both keys locked;
layer 4 driver bypass from lpoptions -l keys, unlocked; layer 5
NSPrintInfo.printSettings mirror; layer 6 PMPrintSettingsToOptions
(dlsym'd) -> filter -> captured cupsOptions + mediaType.
- CupsOptionsFilter (Core): drops com.apple.*, collate/copies/
job-sheets/pserrorhandler-requested, empty values, both AP_* keys;
keeps relevant + unknown non-com.* keys; extractMediaType prefers
MediaType then EPIJ_Medi.
- PrintPanelService: suppression runs between session binding and
runModal on the PM path; capture feeds PrintPropertiesResult.
Tests: filter fixtures + injected-resolver call-order/first-win/
mode-fallback/missing-symbol suites.
Generated with [Devin](https://devin.ai)
Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>