detectTownRoot() was only checking for mayor/town.json, but some workspaces only have the mayor/ directory without town.json. This caused mail routing to fail silently - messages showed success but werent persisted because townRoot was empty. Now uses workspace.Find() which supports both primary marker (mayor/town.json) and secondary marker (mayor/ directory). Fixes: gt-6v7z89 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
30 KiB
30 KiB