Fixes gt-e5o: When a rig has its own mayor/ directory, workspace
detection now continues searching upward for primary markers.
Changes:
- Add AlternativePrimaryMarker (mayor/config.json) to distinguish
town-level mayor from rig-level mayor clones
- Continue searching after finding secondary marker (mayor/) to
prefer primary matches higher in the tree
- Return the first secondary match only if no primary is found
This fixes role detection for polecats/refinery/witness when running
from within a rig that has its own mayor/ clone.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>