v0.2.10 — Provider runtime unification & OpenRouter
Tasks #24 and #25 complete the next BAT-aligned provider-runtime slice: more providers now share one evidence contract without adding setup friction.
Provider expansion
- Grok and Agy now run through a common headless CLI manager while preserving their existing runtime behavior.
- OpenRouter joins as the fifth provider through an isolated Codex app-server runtime. Choose the model first, then its version; the exact selected slug is preserved through thread and turn routing.
- The OpenRouter catalog supports bounded live, stale, and fallback data.
OPENROUTER_API_KEYreaches only the runtime child; MAT persists neither the key nor an auth file.
Canonical evidence contract
- A provider-neutral 19-event contract now validates session metadata, status, messages, tool activity, usage, errors, and turn completion.
- One bridge keeps content and technical events ordered, canonicalizes tool pairing, suppresses replayed provider history, and guarantees exactly one terminal event per turn.
Smooth startup and reliable shutdown
- Desktop startup keeps the BAT-style quiet first run: one server coordinator bootstraps only missing, supported Codex and Claude managed runtimes from pinned, integrity-verified artifacts. The web client no longer races it with a duplicate installer.
- Shutdown now attempts provider disposal and server closure even when stopping or enumerating active runs fails, while reporting combined failures through the sanitized error path.
Evidence hardening
- All five independent black-box instruments now use isolated data, minimal environments, ephemeral ports, bounded requests, verified child readiness, and process-group cleanup.
- The new credential-free runtime-contract instrument uses a fake Codex app-server to verify exact OpenRouter routing, canonical event order, environment-value redaction, terminal metadata, and byte-equivalent replay after restart.
v0.2.10 — 供應商 runtime 統一與 OpenRouter
BAT 對齊工作的 #24 與 #25 已完成:更多供應商共用同一套 evidence 契約,同時維持順暢、不增加設定負擔的使用流程。
供應商擴充
- Grok 與 Agy 改由共用的 headless CLI manager 驅動,同時保留各自原有的 runtime 行為。
- OpenRouter 成為第五個供應商,透過隔離的 Codex app-server runtime 運作。介面先選模型、再選版本;選定的精確 slug 會一路保留至 thread 與 turn 路由。
- OpenRouter catalog 支援有界的即時、過期快取與備援資料。
OPENROUTER_API_KEY只會傳給 runtime 子程序;MAT 不會保存金鑰或 auth 檔案。
Canonical evidence 契約
- 新增供應商中立的 19-event 契約,統一驗證 session metadata、狀態、訊息、工具活動、用量、錯誤與回合結束。
- 單一 bridge 維持內容與技術事件順序、標準化工具配對、抑制供應商重播的歷史紀錄,並保證每個回合恰好只有一個終止事件。
順暢啟動與可靠關閉
- 桌面版保留 BAT 式安靜的首次啟動:只由單一 server coordinator,從固定版本且通過完整性驗證的 artifact,自動補齊缺少且受支援的 Codex、Claude managed runtime。網頁端不再啟動重複 installer 與它競速。
- 即使停止或列舉進行中工作失敗,關閉流程仍會嘗試釋放 provider runtime 並關閉 server;合併後的錯誤只會通過已消毒的錯誤路徑回報。
Evidence 強化
- 五個獨立 black-box instruments 現在全部使用隔離資料、最小化環境、臨時連接埠、有界請求、已驗證的子程序 readiness,以及 process-group 清理。
- 新增不需憑證的 runtime-contract instrument,以假的 Codex app-server 驗證 OpenRouter 精確路由、canonical event 順序、環境值遮蔽、終止 metadata,以及重新啟動後 byte-equivalent replay。