This project runs explicit conformance checks for the standards and contracts used by WineBot.
- OpenAPI 3.1 and JSON Schema for API contract documents.
- HTTP semantics (RFC 9110) for method behavior, status codes, and content headers.
- mDNS/DNS-SD naming rules (RFC 6762/6763) for discovery service type formatting.
- OCI image metadata and annotation conventions for container artifacts.
- Sigstore/cosign signing and verification checks in release workflows.
- SBOM/provenance generation requirements in release workflows.
- WCAG 2.1 AA and ARIA baseline checks for dashboard accessibility.
- Internal Input Pipeline Conformance Policy for mouse/keyboard delivery and control arbitration:
policy/input-pipeline-conformance-policy.md
openapi-spec-validatorto validate the generated OpenAPI document.pytestfor executable conformance assertions against API, CLI, and workflow policy.playwright+ UX/a11y suites for user-facing behavior and accessibility regressions.
tests/test_conformance_openapi.pytests/test_conformance_http_semantics.pytests/test_conformance_runtime_policy.pytests/test_conformance_cli_contract.pytests/test_conformance_mdns.py
Input pipeline conformance is validated across:
tests/e2e/test_comprehensive_input.pytests/e2e/test_input_quality.pytests/test_policy.pytests/test_input_lifecycle_regression.pytests/test_ui_accessibility.pytests/e2e/test_ux_keyboard_accessibility.pytests/e2e/test_zz_dashboard_ux_compliance.py
These suites are included in scripts/ci/test.sh and run in CI.
- Keep OpenAPI strict and machine-validated on every change.
- Keep response/version/security headers stable to avoid agent breakage.
- Treat Docker health checks and
/healthAPI contract as a single invariant. - Require signed, provenance-enabled release artifacts.
- Keep accessibility and keyboard support in e2e gating for interactive mode.
- Treat input delivery, human-priority arbitration, and UI non-occlusion as release gates.