Skip to content

Agent-mode DOM-level tests for the ledger-v2 decision controls (incl. a11y) #32

Description

@ryandmonk

Follow-up from #31 (recorded at merge closeout, not a merge blocker).

The ledger-v2 decision surface — the rediscovery report's Restore / Never-rediscover buttons, the conflict rows' Keep nested / Restore top-level, tombstone removal in the Ownership panel, and per-fact freshDelta Accept — is pinned at the composer-core and agent layers (every ledger transition and refusal), but not at the rendered-DOM layer. The repo has no agent-mode browser harness: demo mode ships a v1 contract, so the v2 UI never renders in the existing Playwright suites (e2e/composer-prod-smoke.spec.ts is demo-mode only).

Wanted:

  • an agent-mode Playwright project (or an equivalent DOM-level harness) that boots the local agent against a temp copy of apps/composer/demo-project, drives a real rediscovery (which migrates the v1 ledger and surfaces the demo's own info-card restructure conflicts), and exercises each decision control end to end;
  • assertions that every report class renders distinguishably (data-testids already exist: rediscovery-report, deletions-awaiting, conflicts-awaiting, entry-ledger, per-id action buttons);
  • axe / keyboard coverage for the new controls (the existing e2e/a11y.spec.ts targets the exhibit only);
  • double-click serialization observed at the UI level (the ref lock in apps/composer/app/state.tsx is currently code-reviewed, not DOM-tested).

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions