- Work only in this canonical checkout. Never use
git worktree, create a duplicate clone or copy, or create a temporary checkout under/tmp,.worktrees, or anywhere else. - Use
mainfor routine work. Use a short-lived branch in this same checkout only when a feature genuinely benefits from isolation. - Before starting, inspect the current branch and working tree. Do not hide, overwrite, relocate, or silently absorb existing changes.
- Finish every task by reconciling the canonical checkout: merge or fast-forward completed feature work into
main, remove the temporary branch when safe, switch back tomain, and leave the working tree clean. If existing user work makes that impossible, stop and explain it explicitly. - Cut releases only from
main. Pushmainbefore the tag, make the tag point at the releasedmaincommit, verify the release and its artifacts, and leave this checkout clean onmain. - Before ANY release tag, complete the full pre-tag checklist in
docs/RELEASING.md— both cargo workspaces, the shell suites, the query oracles, and the dispatched CI gates, all run AFTER the version bump. The root workspace's cargo suite alone is a fraction of this repo's verification surface.