Fresh worktrees don't have submodules checked out, so the pre-push
run-tests hook failed on first push with a manual-fix error message.
run-bats.sh now runs `git submodule update --init --recursive`
automatically instead of just printing instructions.
Also records two lessons from working across bare-repo/worktree
boundaries this session: the repo root has no working tree (edits
there are invisible to git), and local remote-tracking refs go stale
after a merge — verify via the Gitea API before asking about cleanup.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FNJWdVvdgvZCHi1hZGqgVQ