PLAN — P9d Pydantic Case-Result Receipt Import (2026 Q2)¶
- Date: 2026-05-03
- Owner: Evidence / Product
- Status: Implemented
- Scope: Add importer-only support for the P9b/P9c reduced Pydantic Evals case-result artifact. This is not a Trust Basis claim, not a Trust Card row, not a Harness recipe, not a public receipt family, and not a Pydantic integration claim.
1. Decision¶
P9d adds the smallest compiler-path support for Pydantic Evals:
pydantic-evals reduced case-result JSONL
-> assay evidence import pydantic-case-result
-> assay.receipt.pydantic.case_result.v1 receipt events
-> verifiable evidence bundle
The import unit is the reduced artifact frozen by P9c. ReportCase remains discovery input only; it is not the receipt contract.
2. Boundary¶
P9d imports:
case_nameas the only docs-backed v1 identity;- bounded assertion result pass/fail values;
- bounded scalar score values;
- bounded evaluator names;
- optional bounded reason strings;
- optional
source_case_name/source_refas non-identity provenance aids; - source artifact digest/provenance added by Assay.
P9d excludes:
- raw
ReportCase; - full
EvaluationReport; - task inputs;
- expected outputs;
- model outputs;
- report metadata;
- experiment metadata;
- trace IDs;
- span IDs;
- Logfire payloads;
- prompts;
- completions;
- analyses;
- failure bodies;
- evaluator implementation/config internals.
3. Non-Goals¶
P9d does not add:
- a Trust Basis claim;
- a Trust Card row;
- Harness gate/report behavior;
- a public Pydantic receipt family;
- model-correctness truth;
- evaluator-correctness truth;
- upstream runtime truth;
- Logfire, OpenTelemetry, trace, or span import.
4. Claim Posture¶
assay.receipt.pydantic.case_result.v1 remains importer-only with trust_basis_claim: null.
Any later claim-visible work must be a separate readiness/claim slice. It must define the exact claim id, predicate, negative examples, Trust Card impact, fixtures, Harness posture, and compatibility story before implementation.
5. Acceptance¶
P9d is complete when:
- the CLI imports valid reduced Pydantic case-result JSONL into verifiable bundles;
- the schema registry lists both input and receipt schemas as experimental and importer-only;
- the receipt family matrix keeps the lane in
importer_only_receipts; - tests prove Pydantic receipts do not mutate current eval, decision, or inventory Trust Basis claims;
- malformed broad
ReportCasefields fail closed; case_id_refremains unsupported unless a future live-backed slice changes that boundary explicitly;- Harness remains unchanged.
6. Short Verdict¶
P9d makes the Pydantic reduced case-result lane bundleable and inspectable. It does not make Pydantic claim-visible.