Why
Recent Human UAT found visual regressions on previously accepted PlotPickle surfaces even though architecture and live browser checks were green. The gap is that Human approval is not yet converted into a permanent visual reference set.
A surface should not be considered fully green if WebMCP/visual verification does not retain and re-check that approved presentation afterward.
Product rule
Every Human-approved green surface must be registered in the WebMCP / visual verification system and captured as durable reference evidence.
Green means:
- implementation exists and is wired;
- focused tests pass;
- live Human UAT approves the surface;
- WebMCP captures the approved surface/state;
- future visual verification compares against or explicitly validates that approved reference contract.
Yellow surfaces remain active/testable but must not become canonical visual references until Human approval.
Registry requirements
Create one canonical registry/inventory for approved surfaces. Each entry should include at minimum:
- stable surface ID;
- Human-facing name;
- deterministic navigation path / activation sequence;
- selector proving the intended surface is open;
- expected approved state needed for capture;
- reference image/evidence location;
- approval issue/PR provenance;
- keyboard/back-path expectations where relevant;
- whether the surface is responsive/has more than one required viewport capture.
Do not encode transient profile names, private project content, local paths, credentials, timestamps or machine-specific values into the reference contract.
Capture behavior
- WebMCP should navigate to every registered green surface from the authenticated PlotPickle boundary.
- Capture named screenshots/evidence using stable filenames/IDs.
- Verify the correct destination is visible before capture.
- Fail clearly when a registered surface can no longer be reached, renders the wrong skin, loses required artwork, regresses typography/layout/state semantics, or returns through the wrong navigation path.
- Avoid fragile full-pixel equality where dynamic content exists; prefer stable visual/semantic contracts plus targeted screenshots for Human comparison.
- Keep current status truth live: connected/review/unwired colors must not be faked for screenshots.
Initial surface inventory
At minimum seed the registry from current accepted/reviewed Skin V1 surfaces:
- Dashboard
- Community
- Writer's Craft / Journey
- Story Library
- User Profile
- Settings directory
- Local Story Mode
- Cloud Story Mode
- Agents
- Advanced
- Issue Log
- Licensing
- Node Info
As #2029 repairs are Human-approved, add their exact approved states to this registry rather than relying on historic screenshots.
Workflow integration
When a Human promotes a surface from yellow to green:
- update/add the surface registry entry;
- capture the approved reference through WebMCP;
- store/link the evidence in the repo artifact/reference convention;
- add/enable the recurring visual check;
- only then complete the green promotion issue.
A later visual redesign must deliberately replace the approved reference rather than silently drifting it.
Architecture / CI intent
This is not a new UI skin. It extends the existing Experience Skins / WebMCP visual readiness process so approved visual continuity becomes persistent product evidence.
Use the existing WebMCP surface readiness, visual director, visual audit and artifact pipeline where possible rather than adding a parallel screenshot system.
Acceptance
Why
Recent Human UAT found visual regressions on previously accepted PlotPickle surfaces even though architecture and live browser checks were green. The gap is that Human approval is not yet converted into a permanent visual reference set.
A surface should not be considered fully green if WebMCP/visual verification does not retain and re-check that approved presentation afterward.
Product rule
Every Human-approved green surface must be registered in the WebMCP / visual verification system and captured as durable reference evidence.
Green means:
Yellow surfaces remain active/testable but must not become canonical visual references until Human approval.
Registry requirements
Create one canonical registry/inventory for approved surfaces. Each entry should include at minimum:
Do not encode transient profile names, private project content, local paths, credentials, timestamps or machine-specific values into the reference contract.
Capture behavior
Initial surface inventory
At minimum seed the registry from current accepted/reviewed Skin V1 surfaces:
As #2029 repairs are Human-approved, add their exact approved states to this registry rather than relying on historic screenshots.
Workflow integration
When a Human promotes a surface from yellow to green:
A later visual redesign must deliberately replace the approved reference rather than silently drifting it.
Architecture / CI intent
This is not a new UI skin. It extends the existing Experience Skins / WebMCP visual readiness process so approved visual continuity becomes persistent product evidence.
Use the existing WebMCP surface readiness, visual director, visual audit and artifact pipeline where possible rather than adding a parallel screenshot system.
Acceptance