The conformance suite as your test harness¶
How-to. Use the same conversation fixtures the platform gates on to prove your own agent consumes Tatrman correctly.
The MCP surface ships with an executable test: a suite of declarative conversation fixtures that assert the observable path — which tools were called, what the governed result was, and what provenance came back — against a reference model. The platform's own reference agent must pass it; so can yours.
Availability
The suite and its reference runner ship with the standard (the tatrman repo, beside the surface contract). Fixture-schema finalization and the hand-authored core tier land in SV-P4·S5; until then this page describes the shape you will run against.
What a fixture asserts¶
A fixture pins one conversation turn and asserts what is observable, never the LLM's wording:
id: core/rls-denied-column
model: fixtures/models/pilot-mini # a reference model the suite ships
identity: { user: analyst_a, roles: [sales_read] }
turn: "Average salary by department last quarter"
expect:
calls: # expected tool-call set, order-free, with argument matchers
- tool: meta.search
- tool: query.run
result:
envelope: { ok: false }
error_code: column_denied
provenance:
pipelineWarnings_contains: [{ code: column_denied_mask, sourceService: validator }]
The assertion vocabulary covers: the expected tool-call set (with argument matchers), the governed
result shape (envelope fields, column sets, row-count bounds — never exact floats where engines may
differ), provenance codes in pipelineWarnings, and rejection assertions (the identity gate,
permission denials). Because each fixture is a real request/response pair the platform already
asserts on, the fixtures cannot rot into fiction — which is exactly why they double as the
worked examples throughout this track.
The two tiers¶
- Core tier — hand-authored (~25–40 fixtures); 100% must pass to claim conformance. Its
coverage floor exercises every tool of every door, a row-level-security filter, a column
deny/mask, all three identity-gate rejections, truncation and row-limit behavior, parameter
binding via
compile, fuzzy matching with diacritics, and refusal-over-guess — a low-confidence turn must end in a clarifying question or a typed error, never a fabricated answer. - Extended tier — a larger, real-world-derived corpus reported as a score, non-gating. It grows without threatening anyone's conformance claim.
Pointing it at your agent¶
The runner is a thin harness: it feeds a fixture, observes the MCP traffic your agent produces, and diffs it against the assertions. To conform, you run the core tier against your agent and reach 100%. A failure is a real defect — a missing bearer forward, a swallowed refusal, a guessed binding — to fix in your agent, not a flake to retry.
Treat green on the core tier as the definition of "my agent consumes Tatrman correctly." Everything else in this track is how you get there; this is how you know you did.