Conversation
Vercel's Python runtime imports a module-level app; uvicorn uses the create_app factory. The entry module builds the same app from the environment and fails at import when a setting is missing (fail-closed). Refs #67 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…d exception The orchestrator decided on 2026-09-26 to run the showcase without GCP: the AI service becomes a second Vercel project (spike) and model calls use a Gemini API free-tier key. Google's terms require paid services for API clients offered to EEA users, so the exception is bound to an invite-only showcase for the orchestrator with synthetic data and expires before anyone else gets access (at the latest 2026-10-31). Recorded as ADR-0001 D11 amendment, in both exception tables, AGENTS.md and the runbook. Vercel config: entrypoint via [tool.vercel], region fra1, root-anchored .vercelignore (src/requestflow_ai/evals is runtime). Refs #67 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Vercel resolved [tool.vercel] entrypoint as a file next to pyproject.toml and failed with PYTHON_ENTRYPOINT_NOT_FOUND (deployment dpl_28ZxHcH93wmKwuyYWBW1Px2DS7kg): it does not know the src/ layout. The shim puts src/ on sys.path (no-op when installed) and re-exports the tested app. Refs #67 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Also restores the CPU-torch comment above the section it explains. Refs #67 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Refs #67 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The Python-function route failed on size: bundle 1386 MB against a 500 MB function limit (deployment dpl_EhZt9SnyAgsH84ayhjXWicgqanpA). Vercel runs OCI images on Functions (beta, up to 15 GB); this file mirrors ./Dockerfile and reads the port from $PORT because the non-root user cannot bind Vercel's default port 80. Refs #67 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This branch had an error being deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Warum
Fixes #67 · Teil von Epic #19 (Showcase)
Arbeitsstand
vercel.json(fra1) und.vercelignorefürservices/ai.uv.lockinklusive CPU-torch-Index (der Spike prüft das).requestflow-aimit Rootservices/aianlegen und das Build-Ergebnis messen.Was ist passiert (Klartext)
Der Showcase kommt auf Vercel und Supabase statt auf Google Cloud. Der KI-Dienst läuft probeweise ebenfalls auf Vercel. Ob das mit seiner Größe klappt, misst der Test in diesem PR. Die Modellaufrufe laufen vorerst über einen kostenlosen Gemini-Schlüssel. Googles Bedingungen erlauben das für Anwendungen, die Nutzern in der EU angeboten werden, eigentlich nicht, und kostenlose Eingaben können von Menschen gelesen werden. Deshalb ist es als befristete Ausnahme dokumentiert: Der Showcase ist nur per Einladung für den Orchestrator zugänglich, es gibt nur synthetische Daten, und die Ausnahme endet, bevor jemand anderes Zugang bekommt, spätestens am 31.10.2026. Kein Passwort und kein Schlüssel landen im Repo, in einem Issue oder im Chat.
Plan-Pflicht (SYSTEM.md §4)
Impact Manifest
requestflow_ai.vercel_app,[tool.vercel],vercel.json,.vercelignore); Doku (ADR-0001, Architekturkarte/Ausnahmen-Register, AGENTS.md, Runbook). Die Web-App bleibt unverändert.eu-central-1mit den Rollenapp_owner/app_rwund einem privaten Bucket.ValidationError); Runbook §8 als Smoke-Test mit Ergebnissen hier; Rollenprüfung per SQL.[tool.vercel] entrypoint(Vercel-Doku, abgerufen am 2026-09-26). Der Code unterstütztAI_ALLOW_GEMINI_API_DEV+GEMINI_API_KEYfail-closed (model_client.py). Die lokale.venvdes AI-Service ist 1,2 GB groß (Windows, gemessen 2026-09-26). Gemini-Nutzungsbedingungen wie am 2026-09-22 geprüft (ADR-Quellen).uv.lock; das Bundle passt in die Funktionsgrenzen; der Kaltstart bleibt deutlich unter dem Laufzeitlimit; das Modellgemini-3.5-flashist über die Gemini API verfügbar.Geändert
services/ai/src/requestflow_ai/vercel_app.py,services/ai/tests/test_vercel_entry.py: Einstiegsmodul mit Testsservices/ai/pyproject.toml([tool.vercel]),services/ai/vercel.json,services/ai/.vercelignoredocs/decisions/ADR-0001-pilot-architecture.md: Amendment 2026-09-26, Kopfzeile, Registerdocs/technical/architecture.md: Eintrag im Ausnahmen-Registerdocs/technical/deployment-vercel.md: §0 und §3 (AI-Service auf Vercel, Gemini-Key)AGENTS.md: Projektbesonderheit „Gemini free tier“Nachweis (SYSTEM.md §11)
verify:changed: grün –pytest tests/test_vercel_entry.py2/2; ruff und pyright auf beiden Dateien ohne Befundverify: offen – Draft (CI läuft am PR)verify:full/ E2E-Spec: nicht betroffenDoku-Entscheidung (genau eine)
docs/technical/deployment-vercel.mddocs/technical/architecture.md(Ausnahmen-Register)docs/decisions/ADR-0001-pilot-architecture.md[Unreleased](sichtbares Feature oder Verhalten – im selben PR, nie „später")Entferntes oder Umbenanntes:
docs/+ README gegrept, Treffer bereinigt: nichts entferntDateigrößen und neue Bausteine (SYSTEM.md §7)
Dateien über 500 Zeilen im Diff (Ausnahmen: generierter Code, Lockfiles, Fixtures, Migrationen, Schemas, Ressourcen, Doku, Konfiguration):
Über 800 Zeilen mit neuer Fachlogik oder über 1000 Zeilen (P1/P2): nicht betroffen
Neue Shared-Komponente, Utility-Datei, Adapter oder fachlicher Service:
create_app,FastAPI(,vercel,uvicorn); gefunden: nur die uvicorn-Factoryrequestflow_ai.api.app:create_app– das neue Modulvercel_app.pyruft genau diese auf und dupliziert nichts;.vercelignoreist Plattform-Konfiguration, kein CodeSubagent-Einsätze
Keine.
Risiken / offene Punkte
🤖 Generated with Claude Code