BMAD-METHOD/scripts
Caleb c52c89ddf5 feat(epic-execute): UI contract - ui: harness schema, preflight, test-id planning
Frontend analog of the API/DB contract harness: declare UI user-flow contracts
and validate readiness to run them. Per-story Playwright flow execution is the
next increment.

Harness (contract-harness.sh):
- New ui: section (driver, base_url, tests_dir, selector_strategy, roles, flows)
  in the schema + scaffold template
- _ui_preflight checks the browser driver (Playwright/Cypress, presence only),
  the tests directory, and that each declared role has a session seed
- Role-seed commands now feed prerequisite inference, so their env vars and
  executables are checked like any other harness command

Design phase (design-phase.sh):
- Frontend lens now requires a stable data-testid on every interactive element
  and a per-AC user_flow with an allowed/forbidden expectation
- Frontend schema gains components[].test_ids and a structured user_flows shape
- Critic enforces test-ids + user-flow expectations; validate_domain_completeness
  warns (advisory) when interactive components lack a data-testid

data-testid is adopted incrementally - the lens requires it on the components a
story touches, with accessible role/label fallback for pre-existing ones. The
"credentials" piece is separate: ui.roles seeds for permission-based checks.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 05:28:36 -05:00
..
epic-execute-lib feat(epic-execute): UI contract - ui: harness schema, preflight, test-id planning 2026-06-04 05:28:36 -05:00
epic-chain.sh feat(scripts): port memory-safe execution and reliability improvements from revive-dev 2026-04-12 11:52:39 -05:00
epic-execute.sh feat(epic-execute): UI contract - ui: harness schema, preflight, test-id planning 2026-06-04 05:28:36 -05:00
uat-validate.sh feat(scripts): port memory-safe execution and reliability improvements from revive-dev 2026-04-12 11:52:39 -05:00