ods-pages

ods-conformance

Cross-framework conformance driver contract + parity scenarios for ODS.

Design: ../../docs/adr/0001-conformance-driver-contract.md (ADR-0001, accepted 2026-04-19).

What lives here

What does NOT live here

Phase A status (current)

Phase B will consolidate via JSON-RPC so Dart and TS share one scenario library over the wire.

Adding a scenario

  1. Pick a capability set (core always applies; add feature tags as needed — see src/capabilities.ts).
  2. Author the scenario in src/scenarios.ts — a Scenario object with name, spec, capabilities, and run(driver).
  3. Run npm test in Frameworks/react-web/ — vitest picks up the new scenario via the conformance test file and runs it against the React driver.
  4. Mirror to Dart when touching Flutter (Phase A sync is manual; Phase B fixes this).

Why this lives outside the renderer packages

Because it’s the contract, not any one renderer. When the ODS spec goes public and 3rd-party renderers appear, this package is what they pull to prove conformance. Keeping it framework-agnostic from day one is the bet.