preflight
Clean Room Preflight
Create or validate preflight-goal.json before active clean-room artifacts start.
Preflight stops after a canonical preflight-goal.json is created or validated. Do not create behavior specs, handoff packages, skeleton manifests, implementation plans, coverage ledgers, or clean-run-context artifacts during preflight.
Use the canonical clean-room workflow and read skills/clean-room/references/PREFLIGHT.md when collecting missing goal details. Preserve the clean-room boundary: preflight-goal.json is a controller/contaminated-side artifact and must not be placed in clean-role readable roots.
If the user provides output from CLI clean-room-skill init (or npx clean-room-skill@latest init if the binary is not available), check the generated bootstrap scaffold before creating or copying preflight-goal.json: clean-room-bootstrap.json, contaminated/, clean/, the implementation root, quarantine/, target repo .clean-room/README.md, .clean-room/.gitignore, and .clean-room/local-state.json must exist and agree. In the project layout the task root sits at <base>/<project>/tasks/<task-id>/, the implementation root is the shared project-level implementation/, and clean-room-project.json must exist at the project root. Treat target-repo .clean-room/tasks/ as noncanonical unless explicitly configured; active artifacts belong in the external task root. Treat that scaffold as convenience output only; it is not an active preflight-goal.json, init-config.json, task-manifest.json, or clean-run-context.json.
Required Contract
Record these decisions: