AMR 生产发布影响报告

生成时间:2026-08-17 10:47 CST(UTC+8);分析对象:在 origin/main 手动运行 Web、API、Link、Admin、DB migrations 五个生产 GitHub workflow。

当前生产发布点

五个服务的最近成功发布点不同。当前目标是 49a640a72feat(link): add guarded observable SSE drain rollout (#1537))。最宽比较范围为 a42ed27ca...49a640a72,共 33 个 commit;feature 判断按各 workflow 自己的基线和实际构建/迁移路径去重,不把范围内的文档、测试、CLI 或已由其他 workflow 发布的数据误算为本次上线功能。

结论:本次会带入 6 个可见影响点:Link SSE 生命周期可观测与受控 drain 能力、workspace 目录实时失效、Web 账单摘要新鲜读取闭环、结算扫描索引、模型限额日志归因、Admin 模型状态选择体验。必须跑 1 条 schema migration;没有待发布 catalog 数据。
deploy-web-eks-prod.yml
最近成功:2026-08-13 16:22Z
commit:db4ab87e4
范围:13 commits;Web runtime 1 commit
deploy-api-eks-prod.yml
最近成功:2026-08-14 08:59Z
commit:b5e370efa
范围:3 commits;API runtime 1 commit
deploy-link-eks-prod.yml
最近成功:2026-08-13 11:26Z
commit:8e049fce6
范围:16 commits;Link runtime 2 commits
deploy-admin-eks-prod.yml
最近成功:2026-08-11 06:06Z
commit:a68d64806
范围:31 commits;Admin runtime 1 commit
deploy-db-migrations-prod.yml
最近成功:2026-08-10 13:04Z
commit:a42ed27ca
范围:33 commits;DDL 1 commit

此次发布的 feature 和影响面

Feature / Author / Commits Web API Link Admin DB schema / migration
XLLink SSE 生命周期可观测与受控 drain 能力

为 SSE 流增加 active/completion 指标、退出 drain 状态和结构化完成/强退日志;启用后 Pod 终止时拒绝新业务请求并等待活动流结束,降低滚动发布中断长连接的概率。

Author:Caprika

  • 49a640a72 feat(link): add guarded observable SSE drain rollout (#1537)
无。 无。 代码能力上线:新增 gateway_active_streamsgateway_stream_completions_total,以及 drain 请求门控、等待和日志。
默认不改变行为ENABLE_SSE_DRAIN=false,且生产 workflow 只同步镜像 tag,不会自动应用仓库内 Helm 生命周期参数;需单独配置策略、preStop、grace period 和 timeout 后才启用 drain。
无。 无 schema/migration。
LWorkspace 目录变更实时失效

工作区创建、改名、删除、接受邀请和成员角色/移除后,API 按账号推送 directory dirty signal;支持客户端及时刷新工作区列表,减少多实例、跨端目录陈旧。

Author:lefarcen

无本次 Web 代码变更;支持该 capability 的客户端可消费事件。 新增账号级 workspace-directory-changed PG NOTIFY/SSE;在事件握手暴露 workspace-directory-events-v1,并在六类 workspace/member mutation 成功后发布失效通知。 无。 无。 无 schema/migration;复用现有 workspace event channel。
LWeb 账单摘要新鲜读取闭环

钱包与 Personal workspace 在 checkout、充值、降级或 portal 返回后请求 fresh=true 的账单摘要并回填前端 cache,减少 45 秒服务端摘要缓存导致的短暂旧余额/旧套餐;非阻塞刷新失败不打断已完成的用户操作。

Author:Marc Chan

本次 Web 发布补齐 fresh=true 请求、query cache 回填和异步失败隔离,覆盖 Wallet 与 Team Dashboard 的 billing 收敛路径。 服务端缓存与 fresh bypass 已在当前 API 基线 b5e370efa,本次 API workflow 不重复带入该 commit。 无。 无。 无 schema/migration。
MUsage settlement 扫描索引

为成功且需结算的 link.usage_events 增加按 (created_at, request_id) 的 partial index,加速 settlement 扫描。

Author:nettee

无。 无本次 runtime 依赖;结算查询可受益于新索引。 无代码依赖;Link 持续写入 usage_events,建索引期间是主要受影响写路径。 无。 需要 migration:新增 20260813132230_add_usage_events_settlement_scan_index.sql。SQL 使用普通 CREATE INDEX IF NOT EXISTS,不是 CONCURRENTLY;大表建索引期间可能阻塞写入,需先评估表量级、锁等待和执行窗口。
S模型限额失败日志归因

模型限额 fail-open 与 model_limit_exceeded 日志补充 app user 和 public model 维度,提升限额故障定位能力;不改变 admission 结果。

Author:nettee

无。 无。 结构化日志新增 app_user_idpublic_model_id;请求放行/拒绝逻辑不变。 无。 无 schema/migration。
SAdmin 模型选择状态展示与搜索

模型 Combobox 扩宽下拉框,使用统一状态 badge 展示 active/disabled,并把状态 hint 纳入搜索,避免窄列表裁切并方便筛选。

Author:nettee

  • 09a4dcc89 docs: add AMR release skill(commit 内含 Admin 修复,#1595
无。 无。 无。 模型相关 Combobox 的状态可见性、宽度和搜索关键字改善;不改变服务端数据。 无 schema/migration。

发布建议

  1. 先做 DB migration 的 precheck 与风险确认。本次需要运行 deploy-db-migrations-prod.yml。由于索引不是并发创建,先核对 link.usage_events 体量、预估耗时、活跃写流量和锁等待;选择低流量窗口。precheck 或 apply 失败应停止后续发布。
  2. 建议顺序:DB → API → Link → Web / Admin。API 先上线 directory event capability;Link 随后上线新指标、日志与 guarded drain 代码;Web 和 Admin 无 schema 依赖,可在前述验证通过后并行。Web 的 fresh=true 已有当前生产 API 基线支持。
  3. 不要把 Link 镜像发布等同于启用零中断 drain。Link workflow 只构建镜像并同步 image tag;代码默认 ENABLE_SSE_DRAIN=false。如要启用,应另行评审并同步配置 RollingUpdate budget、preStopterminationGracePeriodSecondsprogressDeadlineSeconds 和 shutdown timeout,不能只开单一开关。
  4. Catalog 无需追加发布。模型目录生产 workflow 最近成功运行 31783270162 已发布到 b5e370efa,此后到目标 commit 没有 catalog 数据变化,因此本次不需要运行 deploy-model-routing-catalog-prod.yml
  5. 发布后验证。确认 migration run 成功且索引存在;验证 workspace 创建/改名/邀请/成员变更后 SSE 收到 workspace-directory-changed;验证 Wallet/Team Dashboard 在 checkout/portal 返回后立即显示新账单状态;检查 Link gateway_active_streamsgateway_stream_completions_total 与模型限额日志归因字段;验证 Admin 模型下拉状态 badge 和搜索。

范围口径:各服务从自己的最近成功生产 run head SHA 比到 origin/main@49a640a72;DB 只统计 db/schemadb/migrations 的 DDL,catalog seed 由独立生产 workflow 判断。