Skip to content

[Slice 18] Large-report artifact packaging and visual acceptance gate #130

Description

@EmersonBraun

Parent PRD

#99

What to build

Make report delivery practical for enterprise-sized repositories. Keep small reports self-contained, split large reports into local offline-readable artifacts, and add deterministic plus perceptual acceptance checks that prevent regressions like the current unreadable agentskit-os report.

Type

AFK

Scope

  • Add configurable automatic artifact selection with a default single-file threshold of 5,000,000 bytes.
  • Keep small output as one offline HTML file.
  • For larger output, write an atomic report directory containing an index HTML, manifest and local JavaScript data chunks for overview, levels and findings.
  • Preserve file:// compatibility; do not require a server or network request.
  • Include artifact/schema/configuration/source hashes and generation metadata in the manifest.
  • Add a visual acceptance command/test covering 1440×900, 1600×1000, 1920×1080 and 2048×1320, light/dark or configured themes, first-screen containment, readable graph controls and grouped findings.
  • Preserve last-known-good output on failed generation.

Non-goals

  • Do not add hosted storage, telemetry, Archify dependency or a general-purpose diagram editor.
  • Do not claim visual quality from DOM/unit tests alone.
  • Do not change canonical snapshot or reconciliation semantics.

Acceptance criteria

  • Output mode is deterministic and configurable; identical inputs choose the same artifact layout and hashes.
  • A report below the threshold is a single offline HTML file; a report above it is a directory with a loadable index and manifest.
  • The large agentskit-os case loads from file:// without external assets, fetches or network access, and exposes all report levels and findings through explicit controls.
  • Failed rendering never replaces the last-known-good report or leaves a partially committed artifact directory as current.
  • Manifest hashes bind the exact snapshot, reconciliation report, configuration and generated artifact files.
  • Visual checks detect horizontal overflow, unreadable clipping, missing controls, excessive first-screen density and a findings page that grows linearly with every duplicate diagnostic.
  • The visual test records screenshots/evidence and reports a truthful pending/failed/passed status; automated checks do not masquerade as human visual review.
  • Existing single-file consumers and current CLI/MCP report paths remain compatible.
  • Full typecheck, tests and build pass.

Verification

Run:

pnpm typecheck
pnpm test -- --run
pnpm build

Then run the complete dogfood workflow in agentskit-os, generate the report, open it offline, inspect the screenshots, and confirm that tracked source files are unchanged.

Blocked by

User stories addressed

  • User stories 21, 22, 41, 42, 64, 69, 70, 71, 72 and 73

Definition of done

Small projects retain a frictionless single-file report, large projects receive a navigable offline artifact, and the release gate can detect both functional and visible regressions before delivery.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions