AMR 生产发布影响报告

生成于 2026-09-20 08:30 UTC;目标:origin/main @ 057e94ed(fix(web): align yearly pricing copy across public and cloud surfaces)。

基线方法:Web / API / Link / Admin 取 Grafana Prometheus 中 Ready EKS Pod 的实际镜像 tag;DB migration / Model Routing Catalog 取 Forgejo 对应 workflow 最近一次 status=success run 的 commit_sha。六个范围独立计算,绝不用服务 workflow 的 SHA 代替 Pod 实态。

当前生产发布点与证据

Prometheus 查询严格以目标业务容器和镜像仓库过滤 kube_pod_container_info,再按 (namespace,pod) 与 Ready 条件关联;未按 Pod 名称前缀扩大集合。所有样本在查询时均小于 5 分钟,所有服务的 Ready Pod commit 与 immutable digest 一致,且 desired / updated / available 副本相等。

Web · EKS Pod 实态
workload nexu/amr-web · container web
观察:2026-09-20 08:29:56 UTC
Ready:2 / desired 2(updated 2, available 2)
commit:0abec4e9
digest:sha256:6362b52fab5f4a773b6a2f0e2b79efab5e3de442c192ec4272476d26d2796390
新增:0abec4e9...057e94ed,29 commits
审计:deploy-web-eks-prod.yml 成功 run 查询为空,无法作 SHA 对照;Pod 仍是唯一发布基线。
API · EKS Pod 实态
workload nexu/amr-api · container api
观察:2026-09-20 08:29:58 UTC
Ready:2 / desired 2(updated 2, available 2)
commit:0abec4e9
digest:sha256:3e3cbb349128fdc6cee6f738dc10ff1fab930adf92d5832ca4edd57f5d74a31c
新增:0abec4e9...057e94ed,29 commits
审计:deploy-api-eks-prod.yml 成功 run 查询为空,无法作 SHA 对照;Pod 为基线。
Link · EKS Pod 实态
workload nexu/amr-link · container link
观察:2026-09-20 08:29:59 UTC
Ready:3 / desired 3(updated 3, available 3)
commit:180a48b2
digest:sha256:7645cc2cc0350c1dafba6b8e34fa3147856f2be77fa3c0da78495b991e660f8f
新增:180a48b2...057e94ed,31 commits
审计:deploy-link-eks-prod.yml 成功 run 查询为空,无法作 SHA 对照;Pod 为基线。
Admin · EKS Pod 实态
workload nexu/amr-admin · container admin
观察:2026-09-20 08:30:01 UTC
Ready:2 / desired 2(updated 2, available 2)
commit:58e310d6
digest:sha256:cb59b14ebf91908bfed2500ebebf597d17396ac72c3fe7afd0d5eafbe082e43e
新增:58e310d6...057e94ed,30 commits
审计:deploy-admin-eks-prod.yml 成功 run 查询为空,无法作 SHA 对照;Pod 为基线。
DB migration · Forgejo workflow 记录
最近成功 run:run 47209 / UI #352;API 未返回时间字段
commit_sha:ff912897
新增:ff912897...057e94ed,1 commit
Model Routing Catalog · Forgejo workflow 记录
最近成功 run:run 47117 / UI #332;API 未返回时间字段
commit_sha:4f80f21e
新增:4f80f21e...057e94ed,4 commits;其中 data/json 或 db/seeds:0
注意:发现 target SHA 的较新 catalog run 正在运行;它不是 success,故不改变本报告基线。

此次发布真正新增的 feature 和影响面

目录过滤:Web=apps/web,API=services/api,Link=services/link,Admin=apps/admin;migration/schema=db/migrationsdb/schema;catalog=data/jsondb/seeds。每格仅描述该维度生产基线之后的内容。

Feature / Author / 追溯WebAPILinkAdminDB schema / migrationDB catalog(seed)
M上游失败可诊断化与供应商余额耗尽告警

面向平台运维:Link 在全部 OpenAI 兼容端点保留原始 provider-attempt 错误,并按供应商特定契约识别确认的余额耗尽,新增指标 gateway_provider_balance_exhausted_total。不改变路由、重试或用户响应语义;主要是失败归因、日志和监控面提升。

Author:nettee

无。无。新增 failure observer、provider-failure classifier 与余额耗尽计数器;覆盖 chat / responses / embeddings 等 Link 请求路径。无。无新增 migration 或 schema 文件。无 data/json 或 db/seeds 变更。
M年付定价文案在 public 与 cloud 页面一致

面向购买年付方案的用户:中文年付副文案统一只显示年价,不再在两套价格组件中额外显示“省 $X”,避免文案不一致或重复强调折扣;保留年付节省 CTA。

Author:Liu Yi

修改 pricing plan 与 landing pricing 的中文年付 subline,并加同步单测。无。无。无。无。无。
SForgejo 发布工作流可用性维护(无运行时代码)

发布操作者影响:目标提交包含 Forgejo workflow 引入与随后 CI / 部署工作流门禁调整,影响 workflow 在 Forgejo 上的执行条件及校验,而非服务镜像内的业务行为。发布前应以 Forgejo 页面确认 dispatch 与权限正常。

Author:nettee、Liu Yi

  • dbd4cab2 prepare Forgejo workflows
  • abb61f1b #19 remove remaining Forgejo migration variable gates
无镜像运行时代码。无镜像运行时代码。无镜像运行时代码。无镜像运行时代码。无 migration/schema 变更;workflow 本身变更。无 seed/data JSON 变更;workflow 本身变更。

已在生产生效(本次不重复发布)

以下按各自维度的基线判断;不重复计入上表。

发布建议

  1. Migration:不需要运行 deploy-db-migrations-prod.ymlDB 范围没有 migration/schema 改动。
  2. Catalog:不需要运行 deploy-model-routing-catalog-prod.yml来承载本次净变更;catalog 范围没有 data/json 或 db/seeds 改动。先确认当前 running run 的最终状态,避免与人工操作重叠。
  3. 服务顺序:无需 DB / Catalog;先发布 Link(31 个祖先范围 commits,但仅两项 Link runtime feature),再 Web(29 个祖先范围 commits,但仅年付文案 runtime feature)。API(29)和 Admin(30)没有目录内 runtime 净变更,可不发布;若执行统一发布,仍以各自 Pod compare range 核验制品。
  4. 发布后观测:Link 检查 gateway_provider_balance_exhausted_total 是否产生预热与增量序列,抽样 provider_attempt_failed 日志的 provider / failure_reason 字段,并用一个可控 upstream error 验证原始错误保留;Web 检查中文年付 public 与 cloud pricing 页面年价副文案及年付 CTA。

所有链接均指向 Forgejo。四个服务的 workflow 成功 run 查询为空仅作为审计结果,不构成发布点,也不触发以 workflow SHA 回退;EKS Pod 实态始终优先。