FixedAgent-ready
Tenants, experiments and Rosetta answer with JSON errors, not crashes
Calls to /api/tenants, the experiment and embed routes, and Rosetta ingest and translate now return a JSON 401 when credentials are missing, instead of an HTML 500.
These routes returned an HTML error page with status 500 for every request, signed in or not, so an agent could not tell a missing credential from an outage. They now check credentials first and answer with the usual JSON 401 (code, message, retryable).
Also in this change:
GET /api/public/compute/demoanswers 405 withAllow: POSTand a JSON hint showing how to call the demo./.well-known/agents.jsonpublishes every rate limit a caller can meet: the per-workspace default, the per-IP limit every request passes first (theX-RateLimit-*you see without credentials), and the public demo cap./dashboardand/overviewopen the dashboard,/playgroundopens the homepage demo, and/supportopens the contact page, instead of a 404.