You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Deploy the public showcase (epic #19) on the orchestrator's accounts: web app on Vercel + Supabase (eu-central-1), AI service also on Vercel as a Python function (spike), model calls through a Gemini API free-tier key as a temporary, documented exception.
Decisions (orchestrator, 2026-09-26)
Gemini API free-tier key for the showcase first – a temporary exception to ADR-0001 D8 (the Gemini API terms require paid services for API clients offered to users in the EEA; free-tier content may be human-reviewed). Conditions: invite-only demo accounts, synthetic data only, demo banner; switch to a paid tier or Vertex before anyone outside the orchestrator gets access.
AI service host: Vercel Python function first (spike). Measure build size, cold start and one extraction; fallback decided on the measured result.
Acceptance criteria
ADR-0001 amendment (D8 exception + D11 AI-service host), exceptions register entry with expiry condition, AGENTS.md project specifics and docs/technical/deployment-vercel.md updated in the same PR
services/ai deploys on Vercel via [tool.vercel] entrypoint; spike result (bundle size, cold start, one extraction) recorded in the PR
Supabase project in eu-central-1: roles app_owner/app_rw without superuser/BYPASSRLS, private bucket, migrations applied, demo accounts seeded
Web app on Vercel with all variables from the runbook; no secret ever in the repo, an issue, a PR or the chat
Smoke check from the runbook (§8) passes, including one synthetic request from upload to Exportiert
Not part of this task
Custom domain, paid plans, Vertex/GCP, OCR on the showcase (AI_PDF_OCR=off)
Test plan
Criterion
Check
entrypoint
pytest: importing the Vercel entry module yields the FastAPI app
deployment
runbook §8 smoke check, results in the PR
roles
select rolsuper, rolbypassrls on Supabase = f, f
Security/Privacy affected?
Yes – public deployment, secrets handling, a free-tier model provider (exception). Synthetic data only.
Goal
Deploy the public showcase (epic #19) on the orchestrator's accounts: web app on Vercel + Supabase (eu-central-1), AI service also on Vercel as a Python function (spike), model calls through a Gemini API free-tier key as a temporary, documented exception.
Decisions (orchestrator, 2026-09-26)
Acceptance criteria
docs/technical/deployment-vercel.mdupdated in the same PRservices/aideploys on Vercel via[tool.vercel] entrypoint; spike result (bundle size, cold start, one extraction) recorded in the PReu-central-1: rolesapp_owner/app_rwwithout superuser/BYPASSRLS, private bucket, migrations applied, demo accounts seededNot part of this task
AI_PDF_OCR=off)Test plan
select rolsuper, rolbypassrlson Supabase =f, fSecurity/Privacy affected?
Yes – public deployment, secrets handling, a free-tier model provider (exception). Synthetic data only.