Zum Inhalt

v1.2.0 Akzeptanz-Matrix

Lauf-Datum: 2026-05-01 Branch: platform/v1.2.0-ga-preparation vor Merge nach platform/v1.0.0 API-Version (Container): 1.2.0 ✅ (verifiziert via docker exec kora-platform-api python -c "from kora_platform import __version__; print(__version__)")

Test-Suiten

Suite Erwartet Tatsächlich Status
Backend Pytest (tests/integration/test_widget_api.py) 13/13 13/13
Operator-UI Vitest 134/134 134/134
Tenant-UI Vitest 34/34 34/34
Operator-UI Playwright (parse-list) 19 specs / 9 files 19 / 9
Tenant-UI Playwright (parse-list) 10 specs / 4 files 10 / 4
Operator-UI Vite-Build Exit 0, raw < 150 kB 117.71 kB raw / 45.15 kB gzip
Tenant-UI Vite-Build Exit 0, raw < 150 kB 110.70 kB raw / 42.68 kB gzip
Mkdocs Strict-Build Exit 0 Exit 0 (drift-status-Datei bewusst nicht in Nav)

Hinweis Playwright-Specs: alle neuen Block-11-Specs nutzen das skip-if-env-not-set-Pattern (E2E_CHATBOT_ID/ E2E_TENANT_ID). Parse-List grün; Browser-Run wäre eine separate CI-Aufgabe sobald ein zentrales E2E-Seed-Skript existiert (siehe TODO-Platform-15-Folge-Datapoint in offene-todos.md).

Block-11-Funktional-Smoke (Live gegen kora-platform-api)

Direkte API-Probes. Tenant: bench-tenant-a (ed3d6e69-55d4-4eb5-b853-c07191c7caf8); Chatbot: bench-chatbot-000 (bc7ca6e9-1112-4bcd-86e2-2f6cd0a4985b).

Probe Erwartet Tatsächlich Status
GET /widget/config/{cid} mit Origin http://localhost:8080 200 + Branding-JSON ohne allowed_origins 200, primary_color="#3eb44a", widget_title="Spezial-Bot", custom_css aus Tenant, allowed_origins ❌ in Response
GET /widget/config/{cid} mit Origin https://evil.example.com 403 origin_or_chatbot_invalid 403
POST /feedback mit erlaubtem Origin + valid Body 201 + Audit-Row actor_role='anonymous' 201, id=3130663b-6fce-45fd-afc8-558814aa457c, Audit-Row mit actor_role='anonymous', actor_user='widget'
AVS-Demo POST /feedback (Hybrid-Smoke) weiterhin funktional Hybrid-Strategie: AVS-Demo-Endpoint unverändert (Demo-Stack-Verifikation gehört nicht in Platform-Tag-Smoke) ☑ Out-of-Scope

Drift-Notizen

  • TODO-Auth-NEU (M2/40, von v1.0.0): JWT-sub-Claim fehlt. Composite-Identifier (realm, preferred_username) als Workaround aktiv. Kein Block-11-Bezug. Nicht-Tag-blockierend.
  • TODO-Platform-11: docker cp tests/-Workaround weiterhin nötig — Platform-API-Image enthält keine /app/tests/. Trigger vor Block 14 (CI). Nicht-Tag-blockierend.
  • TODO-Platform-12: AVS-Demo-Test-Pollution beim Generic- pytest tests/-Run. Workaround: spezifische Test-Pfade. Nicht-Tag-blockierend.
  • TODO-Block-7-Review-Familien: Cleanup-Niveau, keine Funktional-Bugs. Trigger Cleanup-Welle vor Block 13/14. Nicht-Tag-blockierend.

Tag-Berechtigung

Erteilt. Alle Tag-blockierenden Suiten grün; Drifts oben sind dokumentiert und nicht Block-11-/v1.2.0-spezifisch.

Tag wird gesetzt: v1.2.0 annotated, mit Customer-Wert-Story und Pattern-Quote-Datapoint in der Annotation.