--- name: workspace-preflight description: repository変更のPREPARE内で最初の編集前に使うcheap deterministic control。task worktree、非protected branch、clean baselineを強制する。 license: Apache-2.0 --- # Workspace Preflight ## 適用 repository fileを変更するtaskでは最初の編集前に実行する。 独立した長いLoop stateではなく、PREPARE内のdeterministic control。 ## 実行 task worktree rootで: ```bash node scripts/check-task-worktree.mjs --require-clean ``` このscriptが機械的に証明するPASS条件: - exit code 0 - `WORKSPACE_PREFLIGHT status: PASS` - `main` / `preview` ではないtask branch - canonical worktreeとは別の登録済みworktree - clean baseline `task identity == branch` や「差分が他task由来ではない」ことは、このscript単体では判定しない。これらはPREPAREのtask/session bindingとDeliveryのscope integrityで確認し、scriptのPASS証跡として水増ししない。 ## FAIL FAILしたまま編集しない。 - canonical worktree - `main` / `preview` - detached HEAD - unregistered worktree - pre-existing uncommitted diff 必要なら: ```bash git worktree add -b codex/ preview ``` 既存差分を勝手にreset/stash/deleteしない。 ## 例外 `docs/`、`README.md`、`CHANGELOG.md`だけのpure docsは理由を記録して省略可。 次はpure docs扱いしない。 - `AGENTS.md` - `.loop/` - `skills/` - `scripts/` - config - app code pre-commitの`--staged` checkは最後の安全網であり、編集前preflightの代替ではない。