# MKN-027 Lab — Structured Content Authoring State Machine

This lab is fully synthetic and offline. It mutates no production tenant, credential, or live content.

1. Inspect `fixtures/baseline.json` and extract schema/revision/base/conflict/accessibility/review/preview evidence before choosing a state.
2. `gate_rules.py` contains the visible deterministic rules; there is no hidden oracle.
3. Copy `evidence/decision.template.json` and fill in your decision.
4. Run: `python run_checks.py fixtures/baseline.json evidence/your-decision.json`
5. Run mutations one at a time; repair only the broken evidence dimension.
6. Solve `transfer/transfer_fixture.json` independently; do not use the baseline decision as the oracle.

Goal: prove stale autosave never silently overwrites, accessibility contradictions remain visible, preview derives from the exact review revision, and schema-v2 migration does not rewrite v1 history.
