Problem
The new UAT / live-integration tier (#192, uat.yml) is the release gate for live surfaces — app socket/MCP round-trips, TUI drives, npm/pip/Homebrew install smokes — yet it renders zero Mermaid (grep -i 'mermaid\|render' uat.yml is empty). A release could ship a broken renderer path (wrapper regression, resvg feature breakage, provenance-injection failure) without tripping the gate, even though diagram provenance is the project's headline differentiator.
Scope
Add a renderer smoke job (or steps in an existing job) to the UAT tier:
scrybe mermaid png on a small fixture → assert exit 0, PNG magic bytes, and scrybe mermaid extract/verify round-trips the embedded source + sha256.
scrybe render on a markdown file containing a fenced mermaid block → assert the produced HTML/SVG contains the Scrybe <metadata> provenance element.
- Via MCP:
mermaid_to_png through scrybe-mcp-server stdio → same assertions (exercises the shared scrybe-tools path the agents use).
Keep it fast (seconds, no browser, pure Rust) — this is a smoke, not conformance (#83) or fidelity (#77/#78).
Acceptance
UAT fails if any of the three render paths (CLI PNG, CLI render, MCP tool) stops producing provenance-bearing output.
Filed from the 2026-07-29 backlog scrub. HOOK PARITY note: uat.yml edits must keep the corresponding hook/docs cross-references per workspace policy.
Problem
The new UAT / live-integration tier (#192,
uat.yml) is the release gate for live surfaces — app socket/MCP round-trips, TUI drives, npm/pip/Homebrew install smokes — yet it renders zero Mermaid (grep -i 'mermaid\|render' uat.ymlis empty). A release could ship a broken renderer path (wrapper regression, resvg feature breakage, provenance-injection failure) without tripping the gate, even though diagram provenance is the project's headline differentiator.Scope
Add a renderer smoke job (or steps in an existing job) to the UAT tier:
scrybe mermaid pngon a small fixture → assert exit 0, PNG magic bytes, andscrybe mermaid extract/verifyround-trips the embedded source + sha256.scrybe renderon a markdown file containing a fenced mermaid block → assert the produced HTML/SVG contains the Scrybe<metadata>provenance element.mermaid_to_pngthroughscrybe-mcp-server stdio→ same assertions (exercises the shared scrybe-tools path the agents use).Keep it fast (seconds, no browser, pure Rust) — this is a smoke, not conformance (#83) or fidelity (#77/#78).
Acceptance
UAT fails if any of the three render paths (CLI PNG, CLI render, MCP tool) stops producing provenance-bearing output.
Filed from the 2026-07-29 backlog scrub. HOOK PARITY note: uat.yml edits must keep the corresponding hook/docs cross-references per workspace policy.