Skip to content

feat: shared event-UI conformance harness (event-ui-conformance-harness) - #248

Merged
enricopiovesan merged 1 commit into
mainfrom
cursor/ticket-event-ui-conformance-harness-shared-mappers
Aug 12, 2026
Merged

feat: shared event-UI conformance harness (event-ui-conformance-harness)#248
enricopiovesan merged 1 commit into
mainfrom
cursor/ticket-event-ui-conformance-harness-shared-mappers

Conversation

@enricopiovesan

Copy link
Copy Markdown
Contributor

Summary

  • Add language-agnostic fixture catalog under fixtures/event-ui-conformance/ (happy / error / blocked / ended / multi-capability / replay).
  • Add workspace package packages/event-ui-conformance with pure mapPresentationState and mapCapabilityProgress helpers + Vitest coverage.
  • Document consumer import path in docs/event-ui-conformance-harness.md.

Governing Spec

  • docs/specs/001-ui-event-state-conformance/spec.md
  • docs/specs/002-capability-event-ui-subscription/spec.md
  • ADR docs/adr/0001-event-fixture-harness-first.md
  • Public API: embedder event envelope (state_changed | capability_invoked | capability_result | error)

Project Item

  • Ticket ID: event-ui-conformance-harness
  • Project 2 item: PVTI_lADOEbiBt84BbzAzzg2JmO0

Definition of Done

  • Shared fixture catalog covering happy / error / blocked / ended / multi-capability / replay
  • Pure mapper for idle|loading|loaded|blocked|ended|error
  • Capability-progress helper asserting invoke/result order
  • Unit tests green for harness package
  • Consumer doc (docs/event-ui-conformance-harness.md)
  • No production app emits fake embedder events (harness is test/helper-only)

Validation

  • npm run test -w event-ui-conformance
  • npm run typecheck -w event-ui-conformance
  • npm run lint -w event-ui-conformance
  • npm run test / npm run typecheck / npm run lint (all workspaces)
  • Fixtures are static JSON (no network)

Production-baseline (N/A)

Docs/helpers-only foundational harness; no platform embedder shipping path change in this PR. Per-app apply tickets will wire hosts later.

Made with Cursor

Land Spec 001/002 fixture catalog and pure TS mappers so primary apps share one presentation-state regression contract.

Co-authored-by: Cursor <cursoragent@cursor.com>
@enricopiovesan
enricopiovesan enabled auto-merge (squash) August 12, 2026 00:49
@enricopiovesan
enricopiovesan merged commit cb1acb6 into main Aug 12, 2026
8 checks passed
@enricopiovesan
enricopiovesan deleted the cursor/ticket-event-ui-conformance-harness-shared-mappers branch August 12, 2026 00:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant