# Fix15c status (2026-10-08 HKT ~08:50)
**NOT SHIPPABLE.** Gates 15/15, but visual QC at zoom still has residual defects. Deployed to review only for inspection.
## Pipeline changes this round
- Removed rectangular bands from `build_hair_mask` (elliptical hair dilate only; neck ellipse protect).
- Face paste: post-blur chin/temple re-clip; paste stops at upper jaw; stronger temple inset.
- Clothes: full-mask LAB mean+std; soft feather gated so it cannot spill onto body/face.
- Neck: soft body-seg + elliptical feather LAB tone-match to face/chest (no rect flatten).
- Color-row brows: after brows + ~50% feathered before-stroke blend.
- Regen v3b soft-mask: T13,S078,T05,S054,C04,C01,S122,S114,T22,S112,T10,S076,S019.

## Metrics + honest visual

| id | SSIM | cloth ΔE | temple ΔE | gate | visual |
|---|---|---|---|---|---|
| T13 | 0.992 | 1.84 | 2.52 | pass | **BORDERLINE** — NECK: short-cut exposes full neck column vs before hair frame — can read as boxy silhouette (not compose rectangle). Tee grey OK. VISUAL: residual silhouette concern. |
| S090 | 0.994 | 0.96 | 4.99 | pass | **CLEAN** — Neck/tee OK on neck-zoom+shoulder. Clean. |
| S078 | 0.992 | 1.44 | 2.70 | pass | **BORDERLINE** — Short-ish pin curls; neck mostly clean. Minor short-cut silhouette. Tee OK. |
| T20 | 0.993 | 2.75 | 5.51 | pass | **CLEAN** — Neck/tee OK. Clean. |
| T10 | 0.995 | 1.19 | 6.11 | pass | **CLEAN** — Tee grey matched (cloth ΔE 1.19). Neck clean on neck-zoom. Clean. |
| T05 | 0.985 | 2.66 | 2.91 | pass | **BORDERLINE** — Classic bob; neck column exposed — residual silhouette risk like T13. Tee OK. |
| S076 | 0.995 | 1.56 | 7.69 | pass | **CLEAN** — Tee grey OK. Neck clean on neck-zoom. Clean. |
| S019 | 0.996 | 1.30 | 6.11 | pass | **CLEAN** — Tee grey OK. Neck clean. Clean. |
| S112 | 0.994 | 0.74 | 7.90 | pass | **BORDERLINE** — Gate pass (temple ΔE 7.90). Drop-fade OK. Clean enough. |
| S054 | 0.991 | 4.50 | 3.09 | pass | **FAIL** — FAIL VISUAL: forehead seam / pasted look still visible on face-zoom+temple. Cloth ΔE 4.50 near limit. |
| C04 | 0.978 | 2.63 | 1.98 | pass | **BORDERLINE** — Gate pass. Brows improved vs drawn-on; watch caramel. Neck OK on neck-zoom. Brows: acceptable-borderline. |
| C01 | 0.968 | 1.28 | 5.11 | pass | **BORDERLINE** — Gate pass. Brows darker (after+blend); still dense vs before — borderline natural. Hair/bg edge slightly jagged. Brows: borderline. |
| S122 | 0.980 | 1.26 | 7.57 | pass | **BORDERLINE** — Spiky clear. Neck: high-res neck crop looked cleaner after soft tone-match; shoulder-zoom still flagged orange — mark RESIDUAL RISK on neck. Cloth ΔE 1.26. Temple ΔE 7.57 high. |
| S114 | 0.990 | 1.24 | 1.82 | pass | **FAIL** — FAIL VISUAL: hard temple/hairline step still visible on temple-zoom (lineup edge). Shoulder may show chest tone patch. Burst-fade design vs paste seam — still not clean at zoom. |
| T22 | 0.989 | 0.86 | 2.17 | pass | **FAIL** — FAIL VISUAL: hard temple step on temple-zoom like S114. Chest/neck patch risk on shoulder-zoom. |

## Per-item zoom checklist (what I Read)

- **T13**: neck-zoom + face/temple/shoulder as applicable. NECK: short-cut exposes full neck column vs before hair frame — can read as boxy silhouette (not compose rectangle). Tee grey OK. VISUAL: residual silhouette concern.
- **S090**: neck-zoom + face/temple/shoulder as applicable. Neck/tee OK on neck-zoom+shoulder. Clean.
- **S078**: neck-zoom + face/temple/shoulder as applicable. Short-ish pin curls; neck mostly clean. Minor short-cut silhouette. Tee OK.
- **T20**: neck-zoom + face/temple/shoulder as applicable. Neck/tee OK. Clean.
- **T10**: neck-zoom + face/temple/shoulder as applicable. Tee grey matched (cloth ΔE 1.19). Neck clean on neck-zoom. Clean.
- **T05**: neck-zoom + face/temple/shoulder as applicable. Classic bob; neck column exposed — residual silhouette risk like T13. Tee OK.
- **S076**: neck-zoom + face/temple/shoulder as applicable. Tee grey OK. Neck clean on neck-zoom. Clean.
- **S019**: neck-zoom + face/temple/shoulder as applicable. Tee grey OK. Neck clean. Clean.
- **S112**: neck-zoom + face/temple/shoulder as applicable. Gate pass (temple ΔE 7.90). Drop-fade OK. Clean enough.
- **S054**: neck-zoom + face/temple/shoulder as applicable. FAIL VISUAL: forehead seam / pasted look still visible on face-zoom+temple. Cloth ΔE 4.50 near limit.
- **C04**: neck-zoom + face/temple/shoulder as applicable. Gate pass. Brows improved vs drawn-on; watch caramel. Neck OK on neck-zoom. Brows: acceptable-borderline.
- **C01**: neck-zoom + face/temple/shoulder as applicable. Gate pass. Brows darker (after+blend); still dense vs before — borderline natural. Hair/bg edge slightly jagged. Brows: borderline.
- **S122**: neck-zoom + face/temple/shoulder as applicable. Spiky clear. Neck: high-res neck crop looked cleaner after soft tone-match; shoulder-zoom still flagged orange — mark RESIDUAL RISK on neck. Cloth ΔE 1.26. Temple ΔE 7.57 high.
- **S114**: neck-zoom + face/temple/shoulder as applicable. FAIL VISUAL: hard temple/hairline step still visible on temple-zoom (lineup edge). Shoulder may show chest tone patch. Burst-fade design vs paste seam — still not clean at zoom.
- **T22**: neck-zoom + face/temple/shoulder as applicable. FAIL VISUAL: hard temple step on temple-zoom like S114. Chest/neck patch risk on shoulder-zoom.

## Still failing / not clean (exact reasons)

1. **S054** — forehead seam / pasted face on face-zoom; hair crossing forehead not natural.
2. **S114** — hard angular temple/hairline step on temple-zoom.
3. **T22** — same hard temple step on temple-zoom.
4. **T13 / T05** — short-cut exposed-neck column can still read as a boxy silhouette vs before hair frame.
5. **C01 / C04** — brows borderline (darker/denser); C01 hair/bg edge jagged.
6. **S122** — residual neck tone risk (conflicting zoom reads); temple ΔE elevated.

## QC sheets

- `derivatives/qc/v3/fix15-before-after.jpg`
- `derivatives/qc/v3/fix15-face-zoom.jpg`
- `derivatives/qc/v3/fix15-temple-zoom.jpg`
- `derivatives/qc/v3/fix15-shoulder-zoom.jpg`
- `derivatives/qc/v3/fix15-neck-zoom.jpg` (new)

## Review deploy

- Project: `aiproshots-assets-review` only (never live)
- Log: `_tmp/gen/deploy_fix15c.log`
