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 — sourced from releasedplanemo==0.75.44, which carries the merged PR #1636.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 release) — 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. The schema is sourced from released planemo==0.75.44 (carries the merged galaxyproject/planemo#1636); the release recorded in src/test-report.provenance.json is the regeneration checkpoint. Bump it alongside package_version in content/cli/planemo/index.md when adopting a newer planemo.