Orchestrator
FastAPI app exposing /api/v1/smart, /api/v1/orchestrate,
/healthz/ready, /api/metrics. The smart-vs-orchestrate dispatcher
picks an execution profile and routes the request to the matching
adapter.
Orchestrator
FastAPI app exposing /api/v1/smart, /api/v1/orchestrate,
/healthz/ready, /api/metrics. The smart-vs-orchestrate dispatcher
picks an execution profile and routes the request to the matching
adapter.
Execution adapters
Pluggable adapters under src/gracekelly/adapters/ — Perplexity browser
automation (Playwright), OpenAI-compatible / Anthropic HTTP APIs, and an
in-process dry-run. All implement the ExecutionAdapter contract with
execute / execute_async / execute_stream / healthcheck /
close lifecycle hooks.
Browser proxy
PerplexityBrowserAdapter drives a Chromium profile through Playwright
against Perplexity Pro to expose Claude / GPT / Gemini / Sonar without
paid API keys. Threadpool-isolated, circuit-breaker-guarded, with
cold-start nav budgeted at ~30s and session reset on exception.
Operations
Frozen Settings dataclass with GRACEKELLY_* env vars, validated at
startup. Postgres or in-memory storage. Optional Redis-backed rate
limiting. Sentry / OTel / usage-telemetry hooks behind feature flags.
The pages below are regenerated on every npm run dev / npm run build
from the live source tree:
src/gracekelly/adapters/**/*.py.src/gracekelly/main.py and src/gracekelly/api/routes/*.py.src/gracekelly/config.py.The latest operational state lives in the operator runbook and the phased roadmap.