Always base branches on origin/main, not local HEAD
Multi-agent development where several agents share a single repo via git worktrees and the shared root checkout drifts in non-obvious ways
Ran git checkout main && git checkout -b feature/x and assumed I was branching off origin/main. I wasn't. Local main had absorbed a commit from another agent's branch through some prior stash-pop / fast-forward dance, so my new branch started 1 commit too deep and pulled in that agent's experimental files. CI failed on lint errors in files I never touched. By the time I noticed (3 commits and one already-opened PR later), recovery cost a full rebase attempt (failed on .beads/issues.jsonl auto-merge conflict that's a recurring tax on bd-tracked repos), then a force-push that was denied for safety, then closing the PR and reopening from a clean branch. Two preventable habits: always git checkout -b feature/x origin/main (explicit base) instead of git checkout main && git checkout -b feature/x, and treat .beads/issues.jsonl (or any auto-generated index file) as not-for-commit OR install a union merge driver so it doesn't block every rebase/cherry-pick.
Before creating a feature branch in a shared / multi-worktree repo, either base it explicitly on the remote ref (git checkout -b feature/x origin/main) or run git log main..HEAD and git log origin/main..main first to confirm local main matches the remote. Saves ~20 minutes of cherry-pick / force-push recovery when local main has silently drifted.