Sync runner checkout / sync (push) Successful in 7s
## Summary - `chat_web_app` nginx now has exact locations for `/robots.txt`, `/sitemap.xml`, and `/llms.txt`. - Each location serves the static file or returns 404. It does not fall through to `index.html`. - Other static apps are unchanged. The flag is `exact_root_files` on `chat_web_app` only. - Merged current `master`, so the Stripe webhook proxy stays in place next to the new locations. - Closes #43. The file contents ship in the chat_web_app public-site PR. ## Test plan - [ ] Render the web-static nginx template and confirm only `chat_web_app` gets the three exact locations - [ ] Webhook location `/api/finance/webhooks/` is still present - [ ] After deploy, `curl -I https://hesychia.ai/robots.txt` is `text/plain`, and a missing file would be 404 rather than HTML Reviewed-on: #44