slab/menuband: harden mirror sync — pre-flight unlanded contributor commits + add mirror-pull.sh
mirror-sync.sh now refuses to push if the mirror has contributor commits
since the last "Mirror of <hash>" snapshot that aren't reflected in the
monorepo's slab/menuband history (override: SYNC_FORCE=1). Without this,
a snapshot from monorepo silently regresses contributor work in the
mirror's tip tree — exactly what happened with Esteban's PR #2 before it
was pulled back via format-patch + git am --3way.
Adds bin/mirror-pull.sh as the inverse path: fetch the mirror, walk
non-snapshot commits since the last marker, apply via
`git am --3way --directory=slab/menuband/`. Skips subjects already
landed (idempotent). 3-way merge handles the case where a contributor
has manually merged main into their branch and re-adds files the
monorepo already has.
Also: refuse sync on dirty PREFIX (would push uncommitted files).
MIRROR_README updated with the new contributor flow.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>