AMR 生产发布影响报告

生成时间:2026-08-25;分析对象:在 origin/main(HEAD ac3f30d1)手动运行六个生产 GitHub workflow 的影响分析。注意:各 workflow 最近一次成功发布点不同(Web/API 停在 08-25 的 120d389b,其余四个停在 08-24 的 e0db21a1),下方「变更范围」按各自发布点分别计算。Web/API 的发布点已包含 analytics bridge(#1732),因此该 feature 已上线,不重复发布。

当前生产发布点(各 workflow 独立计算)

六个生产 workflow 最近一次成功运行停在的 commit 各不相同。越新的发布点意味着该服务已上线越多内容,feature 表里只允许列出发布点之后的变更; 发布点之前的 commit 属于已生效,归入「已在生产生效」一节,不得重复出现在 feature 表。目标 commit 均为 ac3f30d1 (feat(message-center): add stable message keys (#1753))。

deploy-web-eks-prod.yml
最近成功:2026-08-25 06:57:01Z
发布点 commit:120d389b
本次新增(120d389b...ac3f30d1):1 commit(仅 #1753,不涉及 apps/web)
发布点之前已上线:analytics pricing bridge(#1732)、历史 web 改动
deploy-api-eks-prod.yml
最近成功:2026-08-25 06:56:57Z
发布点 commit:120d389b
本次新增(120d389b...ac3f30d1):1 commit(#1753 message-center API)
发布点之前已上线:analytics pricing bridge(#1732)
deploy-link-eks-prod.yml
最近成功:2026-08-24 11:11:53Z
发布点 commit:e0db21a1
本次新增(e0db21a1...ac3f30d1):4 commits(其中 Link 相关仅 #1735)
发布点之前已上线:历史 link 改动(SSE、metrics 等)
deploy-admin-eks-prod.yml
最近成功:2026-08-24 11:11:56Z
发布点 commit:e0db21a1
本次新增(e0db21a1...ac3f30d1):4 commits(其中 Admin 相关仅 #1753)
发布点之前已上线:历史 admin 改动
deploy-db-migrations-prod.yml
最近成功:2026-08-24 11:02:38Z
发布点 commit:e0db21a1
本次新增(e0db21a1...ac3f30d1):4 commits(其中 migration 仅 #1753 新增 1 个文件)
发布点之前已上线:历史 schema/migration 改动
deploy-model-routing-catalog-prod.yml
最近成功:2026-08-24 11:13:13Z
发布点 commit:e0db21a1
本次新增(e0db21a1...ac3f30d1):4 commits(涉及 data/json 与 db/seeds 的变更:无)
发布点之前已上线:历史 catalog seed 改动

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

feature 表只包含「各 workflow 发布点之后」的变更;发布点之前已生效的内容见 「已在生产生效」 一节,不要重复列入。由于 Web/API 发布点较新(08-25),而 Link/Admin/DB/Catalog 发布点相对较旧(08-24),本次真正「新上线」的 feature 较少,主要集中在 message-center 与 Link 缓存。

Feature / Author / Commits Web API Link Admin DB schema / migration DB catalog(seed)
LMessage Center:引入稳定 message key(#1753)

给 Message Center 的消息引入稳定的 message key:草稿软删除后使用部分唯一索引释放 key 以便复用、同时保持未删除草稿的 key 唯一;Admin 新增开启 message key 的 toggle 并优化文案,API 侧消息持久化与读写均支持 key 字段。影响对象:Admin 运营后台与 API 消息服务,需要先跑 migration。

Author:nettee

  • ac3f30d1 feat(message-center): add stable message keys (#1753)
无(#1753 不涉及 apps/web;Web 仅 1 个 commit 在范围内但无代码变更)。 services/api/src/message-center.ts、services/api/src/persistence/message-center.ts 支持稳定 key;测试更新(BASE_API=120d389b 之后)。 无。 apps/admin message-center 页面/草稿抽屉/类型、新增 message key toggle、i18n(BASE_ADMIN=e0db21a1 之后)。 db/migrations/20260825113234_message_center_message_key.sql + db/schema/public.hcl(BASE_DB=e0db21a1 之后)。 无 catalog 变更。
MLink:共享 catalog membership policy 缓存(#1735)

Link 层把 catalog membership policy 的查表结果做成共享缓存:统一为单一 cache key、配合带边界的 Redis fallback、保持缓存单调,并在权威方拒绝时使共享缓存失效。目标是减少重复查库、提升网关判权链路的稳定性与一致性。影响对象:Link 网关鉴权/用量指标路径。

Author:Caprika

  • cc0e715c feat(link): share catalog membership policy cache (#1735)
无。 无。 services/link/internal/membership/client.go、server.go、usage/metrics.go 等(BASE_LINK=e0db21a1 之后)。 无。 无 schema/migration。 无 catalog 变更。

已在生产生效(发布点之前,本次不重复发布)

以下 feature 的 commit 均在对应 workflow 最近一次成功发布点之前,已在生产运行。若在 main 上重新运行对应 workflow,只以各自发布点为基线,这些变更不会重新「上线」。生成报告时已把这类内容从 feature 表挪到这里。

发布建议

  1. Migration 判断:BASE_DB 之后新增 1 个 migration —— db/migrations/20260825113234_message_center_message_key.sql(#1753),需要先运行 deploy-db-migrations-prod.yml 再发布依赖该表的 API/Admin。范围内无被回退的 migration。
  2. 服务发布顺序:按依赖建议 DB migration(1 个新 migration)→ API(#1753)→ Admin(#1753)→ Link(#1735,无 DB 依赖)→ Web(无实际代码变更,可选)/ Catalog(无新变更,可选)。
  3. 数据 seed / catalog 判断:本次范围(e0db21a1...ac3f30d1)不包含任何 data/ 或 db/seeds/ 变更,deploy-model-routing-catalog-prod.yml 无需重新 apply;如重跑也只是幂等。
  4. 发布后观测:关注 Message Center 创建/编辑草稿与消息展示(message key 唯一性与软删 key 复用);关注 Link 网关鉴权指标(membership policy 缓存命中率、Redis fallback 边界、权威拒绝后的缓存失效)与用量指标计数是否正常。

备注:所有 workflow、commit、PR 或 compare range 均为可点击的 GitHub 链接;每个 workflow 的 compare 链接基于各自的发布点 BASE(Web/API=120d389b、Link/Admin/DB/Catalog=e0db21a1),而非统一最旧基线。