This page describes the JSON Schema that planemo test --test_output_json out.json writes. The concrete Foundry artifact is packages/planemo-test-report-schema/src/test-report.schema.json, synced from upstream planemo’s planemo output_schema --schema test-report command.
Source-of-truth chain:
planemo/test/models.py(PlanemoTestReportPydantic model) in galaxyproject/planemo — currently pinned to PR #1636 (OPEN) viajmchilton/planemo@a9b8b8bc.planemo output_schema --schema test-reportemits a versioned envelope (schema_version,planemo_version,schemas).@galaxy-foundry/planemo-test-report-schema’sscripts/sync-from-planemo.mjsshells out, unwraps, and writessrc/test-report.schema.json(AJV-ready) +src/test-report.provenance.json(planemo_version + schema_version + source SHA) — mirrorstests-format-schema’s integrity-sidecar pattern.scripts/sync-schema.mjsregenerates the TS mirrors from the JSON; contributor laptops never need planemo. The cast pipeline importsplanemoTestReportSchemaand serializes it into cast bundles per the casting policy indocs/COMPILATION_PIPELINE.md.
At runtime in cast skills: the convergence loop in convert-nfcore-module-to-galaxy-tool (and any other Mold that runs planemo test) consumes --test_output_json output, AJV-validates it against this schema, and classifies failures from structured keys instead of free-text parsing. validate-planemo-test-report wraps the AJV gate as a CLI for cast skills.
Pin caveats. The schema is sourced from an open upstream PR. Unpin once galaxyproject/planemo#1636 merges and ships in a planemo release; the SHA recorded in src/test-report.provenance.json is the unpin checkpoint.