v0.17.14 — native mask-inpaint + layers_redraw + paste_back
Surgical 5-patch release closing the P0/P1 gaps surfaced by the parallel codex + superpowers review of the γ Scottish carousel workflow on 2026-04-25. The carousel's slide-4 mask-edit flow is now fully native — no out-of-band Python scaffolding required.
Patches
- P1
inpaint_artwork(mask_path=...)— native precision-mask path via OpenAI/v1/images/edits. Pass an RGBA PNG where alpha=0 marks pixels to edit and alpha=255 marks pixels to preserve. Gemini/ComfyUI fail loud (NotImplementedError with hint). Legacyregion=path unchanged. - P2
layers_redrawrecontract — opt-in viaoutput_layer_name=for non-destructive output;background_strategy=cream|white|sample_median|transparentto flatten alpha-sparse layers before redraw and stop hallucination of new content into empty regions;preserve_alpha=Trueto re-apply source alpha. Provider-aware api_key wiring closes the GOOGLE_API_KEY leak that was forcing the wrong env var into every provider. - P3
layers_paste_back— new MCP glue verb for the open-loop "edit one layer, paste back into source" flow that previously required manualImage.composite()in Python. Three blend modes (alpha / feathered / hard), pure PIL. - P4 Person-path quality gate — mirror v0.17.13
compute_quality_flagsinto the orchestrated pipeline's person loop. Same silent-success bug closed for symmetry. - P5
layers_compositenon-destructive — gate the legacyensure_alphawriteback behindforce_alpha_writeback=True. A preview call no longer mutates source layer files.
Review fixes (post-patch)
5 P1 + 5 P2 fixes from the double-review pass — z_index round-trip parity, bbox-from-mask (no more hardcoded {0,0,100,100}), paste_back RGB clamp against alpha=0 black-bleed, provider default rollback for legacy region path (silent billing flip averted), sample_median warning, redraw_merged aspect symmetry, HARD_THRESHOLD module constant, mask convention docstring simplification.
Stats
7 commits, 14 files changed. 35 new tests + 5 review-driven regression tests. 82/82 passing across the v0.17.14 surface.