# Hosting readiness lab
Requirements: Python 3.10+, standard library only. All fixture records are synthetic.

1. Run `python run_checks.py --inventory`.
2. Read `policy.json` and the English lesson.
3. Run `python run_checks.py --template fixtures/missing_env.json submission.json`.
4. Supply your decision, issues, evidence pointers and reasoning.
5. Run `python run_checks.py --check fixtures/missing_env.json submission.json`.

STRUCTURE_PASS_SEMANTICS_UNREVIEWED proves structural checks only. Semantic evaluation and an evidence-based explanation are still required. No final decision is prefilled. Existing output files are not overwritten.

After the guided case, analyze the negative cases and `transfer_changed`. `stale_review` and `failed_request` provide additional practice. Preserve shipped inputs and explain repairs in your answer. Use a separate copy for exploratory mutations; never treat edited records as a real execution.

See `dotnet/README.en.md` for the supplementary C# run. Python success proves neither C# tests nor real hosting.

The template records evaluation date and policy digest. Add `--as-of 2026-09-12` to `--template` for the historical example; the default is today. `evidence_field_map.csv` locates all 21 dimensions. Do not erase the fixed policy contract; malformed evidence remains UNKNOWN/HOLD.


Accompanying resources: [CSV](resources/NET-004-T1.csv), [rubric](resources/rubric.md), [source links](resources/source_links.md).
