Skip to content

[S0-03] Add repeatable Electron core-journey verification harness #27

Description

@dkritarth

Outcome

Give agents a repeatable way to launch Vellum in isolated state and verify critical user behavior. Harness supplements, not replaces, manual/live visual inspection.

Dependencies

Blocked by #26. Audit must reveal actual seams and failure modes first.

Scope

  • Choose smallest maintainable Electron E2E approach compatible with current stack.
  • Isolate test DB and paper files from personal data.
  • Cover app boot, preload bridge, Library empty state, opening a seeded real-like PDF, reader visibility, and one persisted state round trip.
  • Document how agent captures screenshots and console output.
  • Keep external ACP calls out of deterministic CI; retain separate signed-in smoke procedure.

Acceptance criteria

  • One command launches isolated packaged/dev app and runs critical smoke flow.
  • Failure produces actionable screenshot, trace/log, and non-zero exit.
  • Test never reads or mutates normal data/.
  • Console errors fail verification unless explicitly allowlisted with rationale.
  • README/AGENTS command is accurate on clean checkout.
  • CI can run deterministic portion without personal credentials.

Live verification

Run harness twice from clean state, deliberately break one assertion to show failure evidence, restore it, then confirm green run. Also manually inspect resulting app once.

Required PR evidence

PR must use Closes #27, remain focused on this issue, and include:

  • failing test or reproducible baseline before behavior changes;
  • focused and full automated results;
  • npm test, npm run typecheck, npm run build, and git diff --check;
  • exact live Electron steps and observed results;
  • screenshots for visible UI changes when tooling permits;
  • console errors/warnings and unresolved limitations;
  • real-paper or signed-in ACP evidence where applicable.

Mocks prove code paths only. They never prove Electron integration, persistence across restart, PDF rendering, or signed-in ACP behavior.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:electronElectron main, preload, IPC, or live app workarea:uxUser-facing workflow or interfacephase:0-stabilizationPhase 0: prove and repair core journeystatus:blockedDo not start; dependency or phase gate remains open

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions