Repository navigation
test(conformance): implement or retire the internal 20-scenario conformance matrix #749
Copy link
Copy link
Closed
Labels
area:testingConformance kit, contract fixtures, nightly matrixConformance kit, contract fixtures, nightly matrixcode-reviewFiled from the 2026-09-30 code reviewFiled from the 2026-09-30 code reviewenhancementNew feature or requestNew feature or requestpriority/p2Meaningful improvement, ship soonMeaningful improvement, ship soonsize/m1-2 days, multiple files1-2 days, multiple files
Description
Part of #710.
Summary
What reads as a 20-scenario matrix of adapters and scenarios is only a list of names, so the README overstates what is verified. Two scenario lists also invite drift.
Evidence
tests/conformance/suite.py:20-52declares 20CONFORMANCE_SCENARIOS, andtests/conformance/suite.py:118-145holdsKNOWN_LIMITATIONSexemptions for adk, crewai, llamaindex and agent_framework. The exemptions use names such asgateway_identity_observedandjwt_token_refreshed, which aren't public scenarios.- No test runs any of the 20 scenarios. Their only user,
tests/conformance/test_transport_exemptions.py:53-155, checks only that the exemption table agrees with itself and with the adapter flags. - The shipped plugin runs a different list of 4 scenarios (
conformance/suite.py:196-223). README.md:127-140publishes an exemptions table for scenarios that never run.CONTRIBUTING.md:290-302presents the kit as the bar every adapter must meet.
Steps
- Pick one:
- parametrise adapters × scenarios over the simulator using the shipped harness, with each exemption becoming a strict xfail; or
- delete the names that have no test body.
- Unify the internal and public scenario names.
- Generate the README table from the executable suite.
Done when
- Every scenario name has an executable body, or has been removed.
- An exemption exists only for a scenario that runs for that adapter. Amended 2026-10-05: a transport-level exemption may be an asserted-inverse test (the test asserts the exempt behaviour) instead of a strict xfail.
-
EveryAmended 2026-10-05:KNOWN_LIMITATIONSkey is a public scenario name.KNOWN_LIMITATIONSkeys may be internal scenario names, provided each one is inCONFORMANCE_SCENARIOSand has an executable body. Promoting them into the public plugin is out of scope here. - The README table is generated from, or tested against, the executable suite.
References
- Source: TEST-04, FW-05 (scenario names) (code review 2026-09-30, at commit
11b806b) - Related: conformance: wire the Phase 2–2.8 scenario bodies as their features land #444
- Retired scenarios tracked in test(conformance): restore the 13 retired scenarios once their surfaces are verified #991.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area:testingConformance kit, contract fixtures, nightly matrixConformance kit, contract fixtures, nightly matrixcode-reviewFiled from the 2026-09-30 code reviewFiled from the 2026-09-30 code reviewenhancementNew feature or requestNew feature or requestpriority/p2Meaningful improvement, ship soonMeaningful improvement, ship soonsize/m1-2 days, multiple files1-2 days, multiple files
Activity
test(conformance): map each scenario to the tests that run it (#749)
tbolis-at-mulesoft commentedon Oct 5, 2026
Amended Done-when (maintainer decision): exemptions may be asserted-inverse tests rather than strict xfails, and
KNOWN_LIMITATIONSkeys may stay internal scenario names as long as each has an executable body. The 13 scenarios retired here are tracked in #991 until their surfaces are verified.test(conformance): load the CrewAI example by path in the README test (…
tbolis-at-mulesoft commentedon Oct 6, 2026
Fixed by #992 (merged as e394475).
test(conformance): retire 13 body-less scenarios, pin README (#749) (#…