## Summary - `POST /api/public/waitlist/` stores an email. The same response is returned for a new or existing address. No account is created. - `GET /api/public/usage/` returns the active, non-deleted account count, the document count, and `as_of`. No emails, names, or avatars. - Both views are `AllowAny` with empty authentication classes, same pattern as public settings. - Closes #74. Companion frontend: chat_web_app public homepage PR. `0034_waitlistentry` depends on `0033_agentrun_agentstep`. `feat/33-conversation-context-rag` also adds a `0034_*` migration, so one of those branches will need a renumber after the other merges. ## Test plan - [x] `chat_backend.tests.test_public_marketing` — 5 passed - [ ] `POST /api/public/waitlist/` with a valid email, then the same email again - [ ] Invalid email returns 400 and stores nothing - [ ] `GET /api/public/usage/` without a token Reviewed-on: #75