Skip to content

ci(uat): Mermaid render smoke in the UAT release-gate tier #237

Description

@hartsock

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions