-
released this
2026-10-14 13:15:27 +02:00 | -4338 commits to 1.4.23-ew since this releaseBifrost v2.3.0-ew-1 (EW Fork)
Port-Release: EW-Fork auf Upstream
transports/v2.3.0(712-Commit-Sprung — A2A Agent Gateway, Warp Assistant, GPT Live Sessions, Cloudflare Provider, Provider-Injected MCP Tools, OAuth-Minted Keys).⚠️ Breaking: EW Decisions nativ-only (Spec 11, Betriebsentscheidung)
- Upstream 2.3.0 hat den Core-seitigen Emulations-Fallback entfernt (
unsupported_operation→emulateDecisionViaResponsesexistiert nicht mehr; Emulation ist jetzt Opt-in viaconvert_decision_to_responses) - Fork-Entscheidung: der Vertrag „nativ zuerst, Emulation als Fallback" ist gestrichen — ein EW-Backend ohne
/v1/systemonebekommt jetzt den echten 404/405/501-Fehler statt transparenter Emulation - Ausweg für Clients:
x-bf-compat: ["convert_decision_to_responses"]— Achtung: der Marker umgeht den nativen EW-Pfad komplett (Dispatch geht direkt zur Emulation, der SystemOne-Endpunkt wird nicht mehr gefragt) - Decision-Schema jetzt OpenAI-Shape:
input+ geordnete Fragenliste (predicate/choice/scorestattnoul/choice/score), Antworten als Liste in Fragenreihenfolge; das alte Map-Shape bleibt als deprecated Body lesbar (kindwird als Type gelesen) - Unsere bare
POST /v1/systemonebleibt TypeSafe-nativ (Provider-Defaultew); Upstreams neue Route liegt unter/typesafe/v1/systemone— keine Kollision
Port-Umfang
- 102 Picks + 2 Harness-Deferrals (Reconciliation) + 7 Adaption/Fixup/Docs-Commits; 10 Konflikt-Stops, alle mit etablierten Mustern — Details in specs/08 (Sektion Port v2.2.6-ew1 → v2.3.0-ew1)
- Neue Provider-Interface-Methode
ModelRetrieve→ EW-Stub (unsupported_operation) - x-ewcs-Branding erweitert: Header-Konstanten-Werte gebrandet (Namen bleiben upstream-förmig) +
gatewayOwnedResponseHeaderPrefixEW— ein chained EW-Hop antwortet mitx-ewcs-*wie ein chained Bifrost-Hop mitx-bifrost-*, beides wird nie als eigene Identity weitergeleitet - EW-Migrationen bleiben EW-LAST (jetzt 3:
add_ew_key_config_columns,add_ew_allowed_requests_column,add_ew_capacity_column) config.schema.json: EW-$defs konfliktfrei durchgegangen (der in Spec 12 prognostizierte Re-Anchor-Konflikt trat nicht ein)ew.lane-waitin die neueoverheadBreakdown.tsx(upstream verlagerte OVERHEAD_BUCKET_CATEGORY)
Operator-Hinweise
- E2E/UI-Smoke braucht jetzt
E2E_BASE_URLzusätzlich zuBASE_URL(playwright.config liestE2E_BASE_URL || :8080;BASE_URLallein lässt den Setup gegen einen Stale-8080-Server laufen) npm run format(oxfmt lokal) formatiert 38 Upstream-UI-Dateien um (Versionsdrift) — nicht committen- Upstream-Neuflächen (A2A/Warp/Live/Cloudflare) sind ohne EW-Gates — EW-Keys davon nicht berührt (AllowedRequests-Defaults)
- Der neue Upstream-Tools-Tab-E2E-Test ist gegen eine stale MCP-Fixture (:3001, "reusing it") flaky — Umgebungsproblem, kein Fork-Defekt
Qualität
make build LOCAL=1,go vetüber alle Module, 4 Testsuiten grün (handlers TestAuth inkl. Spec-04-Regressionen, integrations inkl. 9 EW-Route-Tests, ew inkl. 13 umgeschriebener Decision-Tests, configstore inkl. EW-LAST-Pin + Redaction-Test)- Docker-Build + Symbol-Check: 157 Spec-Symbole + 14 Lane-Symbole, Versionsstring exakt
- UI-Smoke: 64 passed / 1 pre-existing / 3 skipped
- Harness: 5 EW-Folder (8.5.Q–U, 9 Cases, Specs 09/03/10/11/12) in beiden 8.5-Positionen re-appliziert, augment/filter validiert
Details: specs/08-version-port-log.md, specs/11-ew-decisions-systemone.md (Update-Note)
Image: forge.engelmann.me/engel75/bifrost:v2.3.0-ew-1Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Upstream 2.3.0 hat den Core-seitigen Emulations-Fallback entfernt (