Fixes the production "Upstream idle timeout exceeded" turn failures on GLM 5.2.
- Managed
glm-5.2requests now carry OpenRouter provider routing preferences (order: [z-ai], fallbacks allowed) so they land on Z.AI's first-party endpoint (99.9% uptime, native fp8) instead of being load-balanced across ~20 hosts including low-uptime fp4 requantizations that stall mid-generation until OpenRouter kills the stream. - The LLM gateway now detects in-stream upstream error frames (a 200 stream carrying
{"error": ...}) and settles the request asupstream_stream_errorwith a warn log, instead of tracing a dead turn as a success — this failure class is now visible and alertable. - Pre-content error frames keep flowing into the existing empty-completion retry/failover path (now regression-tested).
What's Changed
- chore(release): VERSION → 0.9.94 [skip ci] by @github-actions[bot] in #4110
- Feat/review center by @Ino-Bagaric in #4003
- chore(dev-eks): deploy dev-7a7af2fb [skip ci] by @github-actions[bot] in #4111
- fix(sandbox): default LLM catalog to baked image file on cold boot (~2s off spawn) by @kubet in #4112
- chore(dev-eks): deploy dev-fef2ecb5 [skip ci] by @github-actions[bot] in #4113
- feat(sandbox): per-project rootfs warm bake — bake repo into a cold image, no memory snapshot by @kubet in #4115
- chore(dev-eks): deploy dev-875c3a02 [skip ci] by @github-actions[bot] in #4116
- fix(api): never 402 the per-session audit endpoint — it is the approval control plane by @markokraemer in #4117
- chore(dev-eks): deploy dev-f2f43435 [skip ci] by @github-actions[bot] in #4118
- feat(iam): agent-scoped secrets & connectors, Review Center, per-agent model by @Ino-Bagaric in #4114
- chore(dev-eks): deploy gateway dev-c5db3ce9 [skip ci] by @github-actions[bot] in #4122
- chore(dev-eks): deploy dev-c5db3ce9 [skip ci] by @github-actions[bot] in #4123
- Fix API transport hardening and runtime DB grants by @markokraemer in #4125
- Desktop: align chrome with macOS traffic lights + offcanvas sidebar by @sutharjay1 in #4119
- feat(web): Google Drive-style Files UX + plain-language git semantics by @sutharjay1 in #4094
- refactor(sdk+web): make @kortix/sdk the single entry point for session handling and the web data layer by @markokraemer in #4124
- chore(dev-eks): deploy gateway dev-13d7ee90 [skip ci] by @github-actions[bot] in #4126
- chore(dev-eks): deploy dev-13d7ee90 [skip ci] by @github-actions[bot] in #4127
- feat(sdk+web): wave 2 — kortix-master client, facade coverage 85→157, typed errors wired end-to-end by @markokraemer in #4128
- chore(dev-eks): deploy dev-6eff189e [skip ci] by @github-actions[bot] in #4129
- refactor(sdk+web): wave 3 — framework-free event stream, send-cluster extraction, /v1/p fix, sharing e2e by @markokraemer in #4130
- chore(dev-eks): deploy dev-6f449848 [skip ci] by @github-actions[bot] in #4131
- feat(web): show live boot progress inline in the thread by @lillyboga in #4132
- feat(sdk+mobile+api): wave 4 — mobile adopts the SDK, anonymous share viewing, files-twin stage 1, facade completion by @markokraemer in #4133
- chore(dev-eks): deploy dev-55d6fba0 [skip ci] by @github-actions[bot] in #4134
- feat(iam): finalise IAM/RBAC v1 — security fixes, legacy purge, coverage, enterprise UX by @markokraemer in #4135
- chore(dev-eks): deploy dev-22fda9f2 [skip ci] by @github-actions[bot] in #4136
- chore(dev-eks): deploy gateway dev-5c3bafbb [skip ci] by @github-actions[bot] in #4138
- chore(dev-eks): deploy dev-5c3bafbb [skip ci] by @github-actions[bot] in #4139
- feat(agents): agent-first config & authz foundation — manifest v2, compiler, identity, enforcement by @markokraemer in #4140
- chore(dev-eks): deploy dev-d4d0ee71 [skip ci] by @github-actions[bot] in #4141
- Revert #4140 — hold agent-first foundation for review before merge by @markokraemer in #4142
- chore(dev-eks): deploy dev-b2e45872 [skip ci] by @github-actions[bot] in #4143
- feat(web): wallpaper shader overhaul by @sutharjay1 in #4093
- feat(web): sidebar — full offcanvas collapse + edge-hover flyout by @sutharjay1 in #4144
- fix(llm-gateway): pin managed GLM to Z.AI host + surface in-stream upstream error frames (main backsync of #4146) by @markokraemer in #4147
- chore(dev-eks): deploy gateway dev-82786802 [skip ci] by @github-actions[bot] in #4148
- chore(dev-eks): deploy dev-82786802 [skip ci] by @github-actions[bot] in #4150
Full Changelog: v0.9.93...v0.9.94