Help me contribute to Mega Man X. Task: code-json-io — Test JSON read results. Kit: 2026-09-10.4.

Read INSTRUCTIONS.md, tasks.json and the inputs listed for this task (or the equivalent sections of AI-CONTEXT.en.md). Clone the public code at https://github.com/davidluky/megaman-x-engine and read its AGENTS.md, CONTRIBUTING.md and docs/reference-data.md. Use a task branch and keep the kit outside the checkout. The default core/contracts build needs no ROM; full gameplay requires separate inputs.

Objective: Read json_io and existing coverage. If a direct contract is absent, add a temporary-file test for open failure, malformed JSON, schema rejection and a valid read.
Acceptance: Register one small contract in the public CMake configuration. Show the expected ReadError codes and CTest results. Preserve existing tests and do not load assets.
Limits: Do not duplicate a test. Use a unique temporary directory and clean up only files owned by that test.

Work on this task now. Cite the exact fields, paths or timestamps you used. Do not invent findings or test results. Save output/report.json using templates/report.json; add report.md if helpful. Run tools/check_submission.py --report output/report.json only if you can execute Python locally; otherwise mark it not_run and return the report text. A structural PASS is not proof of gameplay correctness. Return the reviewed report or a small scoped patch for human review; do not send, push or publish automatically.
