AMR 生产发布影响报告

生成时间:2026-09-16;分析对象:在 origin/main(HEAD 0d31e2d62 fix(api): update account erasure confirmation email (#2034),2026-09-15 19:59 +0800)手动运行六个生产 GitHub workflow 的影响分析。 注意:各 workflow 最近一次成功发布点不同,下方「变更范围」按各自发布点分别计算,只有发布点之后的 commit 才属于该 workflow 本次新增。

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

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

deploy-web-eks-prod.yml
最近成功:2026-09-10 15:37:55Z
发布点 commit:ae4b84f76 (#1964)
本次新增(ae4b84f76...0d31e2d62):27 commits
已上线概要:CMS/活动 Test 验收前端、多语言 DS V4.1 活动页、默认移除 CMS 活动入口(#1943/#1956/#1964)。
deploy-api-eks-prod.yml
最近成功:2026-09-09 06:28:14Z
发布点 commit:b6a6adafb1 (#1941)
本次新增(b6a6adafb1...0d31e2d62):38 commits(最旧的基线,本次 API 待发布内容最多
已上线概要:Admin 模型定价展示与对比(#1941,即发布点本身)。
deploy-link-eks-prod.yml
最近成功:2026-09-09 08:47:58Z
发布点 commit:eecb4434d0 (#1950)
本次新增(eecb4434d0...0d31e2d62):33 commits
已上线概要:Coding Plan Go 配置档退役 phase 1(#1949)与 phase 2(#1950)。
deploy-admin-eks-prod.yml
最近成功:2026-09-09 08:53:10Z
发布点 commit:eecb4434d0 (#1950)
本次新增(eecb4434d0...0d31e2d62):33 commits
已上线概要:模型表权限用例(#1946)、Admin 保留旧 Go 倍率(#1947)、Go 配置档退役两个阶段(#1949/#1950)。
deploy-db-migrations-prod.yml
最近成功:2026-09-09 09:02:35Z
发布点 commit:eecb4434d0 (#1950)
本次新增(eecb4434d0...0d31e2d62):33 commits(其中 6 个新增 migration
已上线概要:eecb4434d020260909071815_retire_coding_plan_go_config.sql 已应用。
deploy-model-routing-catalog-prod.yml
最近成功:2026-09-10 07:39:07Z
发布点 commit:21c79c6c6d (#1954)
本次新增(21c79c6c6d...0d31e2d62):30 commits(其中 data/json / db/seeds 变更 3 个)
已上线概要:DeepSeek V4.1 Flash 目录接入(#1954,即发布点本身)已生效。

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

feature 表只包含「各 workflow 发布点之后」的变更;发布点之前已生效的内容见 「已在生产生效」一节,不要重复列入。 Badge 表示影响面:S M L XL XXL

Feature / Author / Commits Web API Link Admin DB schema / migration DB catalog(seed)
XXLCMS 活动内容生命周期与 Activity 管理台

给运营一套完整的「活动内容」生产链路:Admin 新增活动管理台(活动列表/克隆/发布/撤回/Test 部署/内容库/构建任务检查与重试/GitHub 导入/包上传/沙箱预览/发布记录/恢复部署), API 侧引入不可变内容版本、Test 与 promotion 共用同一份 artifact CAS、标准 ZIP 目录上传与存储失败上报。上线后运营可自助发布活动,C 端投放内容由版本化流程管理。

Author:Caprika(alchemistklk,PR #1943/#1953/#1955/#1963/#1968)

  • 0f5bf8525 feat(cms): add immutable content lifecycle and cross-host Test acceptance (#1943)
  • 8c2d0f95b fix(cms): use one artifact store for Test and promotion (#1953)
  • 02ce3dd9c fix(cms): accept safe ZIP directories and report storage failures (#1955)
  • de6ead823 fix(cms): select ready content and separate Test withdrawal (#1963)
  • 463752395 fix(admin): open activity actions in centered dialogs (#1968)
仅 #1963 的 production-campaign-float.tsx 对齐;#1943 的 Web 部分(app-shell / campaign float / test console)已在 09-10 发布点生效。 #1943 新增 services/api/src/touchpoints/*(内容版本、build-jobs、package-worker、shared-artifact-store);#1953 移除独立 promotion reader 配置;#1955 worker 接受标准 ZIP 目录并上报存储失败;#1963 新增 unpublish / 活动校验 / history 路由;#1968 仅测试。 #1968 仅 internal/handlers/openai_test.go 测试,无运行时变更。 #1943 新建活动管理台全部页面与 API routes;#1955 包上传 UI + artifact 失败提示;#1963 Test 撤回与就绪内容选择;#1968 活动动作改为居中弹窗。 2 个新 migration: 20260909101013_cms_content_lifecycle.sql(#1943)、20260909140436_cms_restore_host_evidence.sql(#1943)。 无。
XXL管理员发起的 GDPR 账号注销(Account Erasure)

Owner 级 Admin 流程驱动 API 侧注销工作流:冻结身份 → 结算 Stripe(退款义务)→ 内容 tombstone → 处理器(PostHog 跳过并记录保留依据)→ 释放原邮箱,并新增 reconcile CronJob、审计日志、指标与取消镜像任务补偿。 Admin 提供注销表单、进度与恢复 UI;Link 侧配合仓库 4 处改动。

Author:open-design-crew[bot](PR #2001)、nettee(PR #2034)

  • 39abf116f feat(api): add admin-initiated GDPR account erasure (#2001)
  • 0d31e2d62 fix(api): update account erasure confirmation email (#2034)
  • c4eba5216 chore(deploy): bind feature-test to GDPR erasure (#1948)(仅 feature-test 绑定,非 prod 运行时)
无。 #2001 新增 services/api/src/account-erasure/**(core / freeze / confirm / content / billing steps / processors / metrics / routes / postgres)+ mail、auth、billing、collab、media 联动;#2034 调整确认邮件文案。部署侧新增 Helm reconcile CronJob 与 API chart 值。 #2001 仅 internal/repositories/postgres.go 4 行改动(配合注销仓储语义)。 #2001 用户详情页注销/恢复表单、状态标签、审计动作、i18n(en/zh)、Admin API 类型与 server 逻辑。 1 个新 migration: 20260914115313_account_erasure.sql(#2001);db/schema/public.hcl 大改(+243 行)。 无。
XL实时活动(realtime campaign)Test/Production 生命周期与 Web 投放 UI

统一 Test 与 Production 的实时活动运行时:API 强制 realtime test 生命周期与授权租约(新增该场景 DB 上下文),Web 侧把 Test 控制台与线上浮窗收敛到同一份 campaign runtime, 修复仪表盘活动展示、Test 模式已注册活动导航、礼品入口与弹窗宽度。上线后 Test 验收行为与线上表现一致。

Author:Caprika(alchemistklk,PR #1996/#1970/#1993/#1994/#2009)

  • 5eb9df7bf fix(touchpoints): enforce realtime test lifecycle and authorization leases (#1996)
  • fbb3c53de fix(web): display dashboard campaigns without test controls (#1970)
  • a88eb8651 fix(web): allow registered campaign navigation in Test mode (#1993)
  • 2e589a9d1 fix(web): align campaign gift entry and preserve popup width (#1994)
  • 8bc9d356e fix(web): share realtime campaign lifecycle across Test and Production (#2009)
#1970 仪表盘活动展示;#1993 新增 touchpoint-navigation.ts;#1994 礼品入口与弹窗宽度;#2009 新增 campaign-runtime.ts 并重构 Test 控制台/线上浮窗。 #1996 touchpoints/ persistence/promotion/restore/routes 与 host-compatibility 调整(Test 生命周期 + 授权租约)。 无。 无。 1 个新 migration: 20260914101138_touchpoint_test_context_realtime.sql(#1996);新增 db/schema/touchpoints.hcl 无。
XLAstra 长上下文计费分层(>272K input tokens)

GPT-6 Astra 系列在输入超过 272K tokens 时启用更高的长上下文费率(input 10→20、output 50→75、cache_read 1→2、cache_write 12.5→25 美元/1M), Link 新增 select-by-output-pixels 之外的长上下文分层计价,API 暴露对应模型定价,Web 定价页同步展示。上线后超长上下文请求的计费口径发生变化。

Author:Marc Chan(mrcfps,PR #1983)

  • af7415d35 feat(billing): add Astra billing and cost tiers above 272K input tokens (#1983)
模型定价页组件 + model-prices-client.ts 支持 long_context 字段与文案。 src/app.ts 路由/定价透出调整(+47 行)与路由测试。 internal/catalog/pricing.go 长上下文分层计价(+108 行)、domain/types.go,配套单测与 e2e(long-context pricing)。 无。 无 schema/migration(该 commit 仅改 seed/数据)。 data/json/public_pricing.jsongpt-6-astra / -high / -xhigh 增加 long_contextprovider_openai.jsondb/seeds/seed-model-routing-catalog.sql 同步。
LGPT 价格同步与长上下文分层(含降价)

同步 OpenAI 最新价格:gpt-5.6-sol / terra / luna 三档降价(如 luna input 1→0.2、output 6→1.2),gpt-5.5-pro、gpt-5.4、gpt-5.5 增加 long_context 分层。 该 commit 直接改变客户可见计费与定价页数值。

Author:Marc Chan(mrcfps,PR #2024)

  • 77054ca19 feat(billing): sync GPT prices and long-context tiers (#2024)
apps/web/tests/browser-agent 用例与 QA CI workflow,无产品代码变更。 无。 无。 无。 无 schema/migration。 data/json/provider_pricing/provider_openai.jsondata/json/public_pricing.jsondb/seeds/seed-model-routing-catalog.sql(含 6 个模型的降价与 long_context 门槛)。
LAdmin 巡逻告警/报告跨副本去重 + Provider 对账

修复多副本 Admin 下 patrol 告警与报告重复发送的问题:新增告警发送签名与 patrol_reports 小时唯一键,alert-runner / alert-state / feishu-webhook / scheduler 改为幂等; Admin 巡逻页扩展,并补充 provider invoice reconciliation 运维文档。

Author:open-design-crew[bot](PR #1928)

  • 15de6f1b2 fix(admin): stop patrol alerts and reports duplicating across replicas (#1928)
无。 无。 无。 巡逻客户端与 lib/server/admin/patrol.ts、alert-runner、alert-state、feishu-webhook、patrol-alert-scheduler 全部改造(+2769 行 / -208 行)。 2 个新 migration: 20260910094000_add_alert_sent_signatures.sql20260910094001_add_patrol_reports_hourly_key.sqldb/schema/public.hcl +36 行。 无。
Mplacement 订阅与充值支付归因透传

Web 在下单/充值时把 placement 归因信息透传到 API,API 在订阅与充值的计费路径上写入并透出该字段(openapi.json 同步)。 上线后可按投放位统计订阅/充值来源。

Author:Caprika(alchemistklk,PR #1987)

  • 5c25f8b65 feat(billing): 透传 placement 订阅与充值支付归因 (#1987)
billing-client.tsopen-design-attribution.ts 新增 placement 透传。 billing/core.ts(+72 行)、billing/http/routes.tsopenapi.json 无。 无。 无 schema/migration。 无 catalog 变更。
M多语言 DeepSeek V4.1 定价活动页(analytics 事件)

Web 侧多语言 DS V4.1 定价活动页(组件、文案 JSON、样式、公开定价路由)已于 09-10 Web 发布点上线; 本次 API 维度新增的是packages/shared 的活动埋点事件定义与对应测试,无用户可见行为变化。

Author:open-design-crew[bot](PR #1956)

  • 46cab47fe feat(pricing): add multilingual DS V4.1 campaign (#1956)
已上线(09-10 发布点前)。 packages/shared/src/analytics-events.ts 新增事件 + API 单测/e2e 断言;无路由或业务逻辑变更。 已上线(09-09 发布点前,无 link 代码)。 已上线(09-09 发布点前,无 admin 代码)。 无 schema/migration。 无 catalog 变更。
M运行时配置变更触发 Pod 重启(Helm checksum)

为服务 Deployment 增加配置 checksum 注解,ConfigMap/runtime 配置变化时自动滚动重启 Pod。含 Helm 单测。 注意:该 commit 同时改了 deploy/charts/apideploy/charts/admin,因此 API/Admin 下次部署时也会一并生效(本次按路径归入 Link 维度)。

Author:nettee(PR #2012)

  • 4e54b8ff6 fix(deploy): reload pods on runtime config changes (#2012)
无。 影响 deploy/charts/api(同 commit,本次 API 部署生效)。 services/link/charts/link/templates/deployment.yaml checksum 注解 + tools/tests/link-helm.test.mjs 影响 deploy/charts/admin(同 commit,本次 Admin 部署生效)。 无 schema/migration。 无 catalog 变更。
SAPI:锁定默认 Team 从 GET /workspaces/current 返回

修复 owner 的默认 Team 处于 locked 状态时 GET /workspaces/current 返回不正确的问题,含 594 行新测试。

Author:lefarcen(PR #2033)

  • c9daae41c fix(api): serve an owner's locked default Team from GET /workspaces/current (#2033)
无。 workspaces/core.tspostgres.tsroutes.ts 无。 无。 无。 无。
SAdmin:保留子美分金额精度

Admin 金额格式化保留 0.005 以下的精度,避免小额展示为 $0.00,含单测。

Author:nettee(PR #1989)

  • 7cbaeb015 fix(admin): preserve sub-cent amount precision (#1989)
无。 无。 无。 lib/utils/format.ts + 单测。 无。 无。
S媒体定价 seed / schema 引用来源统一(非功能性)

specs/change/... 引用替换为 ADR 0005 / specs/current/link/media-pricing.md。逐行核对:费率、路由、优先级、状态均未变化, 仅 JSON metadata.source、seed SQL 的 note 文本与代码注释改动。catalog workflow 的 plan 可能出现文本级 diff,属预期。

Author:github-actions[bot](PR #2006,co-authored nettee)

无。 src/media/*src/persistence/model-catalog.ts 注释改动。 internal/cataloginternal/mediainternal/usage 注释改动。 无。 db/schema/media.hcl 仅注释(语义未变)。 data/json/provider_pricing/provider_{atlas,byteplus,fal}.jsonprovider_routes.jsondb/seeds/seed-model-routing-catalog.sql 的 source/note 文本。
S非运行时变更(CI / specs 归档 / docs / CLI / feature-test 绑定)

不进入任何运行时维度,但会影响 CI 与仓库状态;发布 workflow 本身不受影响。

Author:nettee、github-actions[bot]、open-design-crew[bot]、Ray Xi

  • 497e7205e fix(ci): pull MinIO images from quay.io (#1988)
  • c4eba5216 chore(deploy): bind feature-test to GDPR erasure (#1948)
  • b75badfe3 fix(cli): preserve compaction continuation session and terminal state (#1952)
  • bb544d210 feat(cli): isolate model routing controls in evaluation entry (#1991)
  • d65e7f81b docs: reconcile code evolution drift (#1982)(含 services/link/README.md,纯文档)
  • 7f90ecef6 chore: archive old specs (#1896)
  • ecf3d3ddd chore: archive old specs (#1981)
  • e940830d1 fix(specs): archive old changes regardless of status (#1998)
  • e79b4324b chore(docs): remove obsolete QA records (#2007)
  • d7c71485e Archive standalone change spec files (#2010)
  • 4d24db21a chore: archive old specs (#2023)
无。 无 runtime 变更。 无 runtime 变更(仅 README/docs)。 无。 不影响 migration workflow(未改 db/migrations)。 不影响 seed workflow(未改 data/json / db/seeds)。

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

以下 feature 的 commit 均在对应 workflow 最近一次成功发布点之前,已在生产运行。 若在 main 上重新运行对应 workflow,只以各自发布点为基线,这些变更不会重新「上线」。

发布建议

  1. Migration 判断:必须先运行 deploy-db-migrations-prod.yml 在 BASE_DB(eecb4434d0)之后新增 6 个 migration,按时间顺序: 20260909101013_cms_content_lifecycle.sql20260909140436_cms_restore_host_evidence.sql20260910094000_add_alert_sent_signatures.sql20260910094001_add_patrol_reports_hourly_key.sql20260914101138_touchpoint_test_context_realtime.sql20260914115313_account_erasure.sql。 另注意 db/schema/public.hcl 与新增的 db/schema/touchpoints.hcl。范围内没有被回退的 migration。
  2. 服务发布顺序:DB → Catalog(3 个 catalog commit:af7415d3577054ca19fa83eca6c)→ Link(7 个新增 commit:长上下文计价、注销配合、YAML checksum)→ API(14 个新增 commit,内容最多,建议单独窗口)→ Admin(7 个新增 commit)→ Web(8 个新增 commit)。 越新的发布点(Web/Catalog)待发布内容越少。
  3. 数据 seed / catalog 判断:catalog 变更由 deploy-model-routing-catalog-prod.yml 的 apply 步骤覆盖(跑 db/seeds/model_routing_catalog.py apply)。 #2006 只改 source/note 文本,plan 差异应为纯文本;#1983#2024 会真实改写费率与 long_context 分层,建议先看 plan 再确认 apply,并同步确认 Link/API 已在能识别 long_context 的版本上(否则新费率不会生效)。
  4. 发布后观测:
    • 计费:>272K tokens 请求的 usage/billing 记录是否命中 long_context 费率;GPT-5.4/5.5/5.5-pro/5.6-* 与 GPT-6 Astra 的价格在 Web 定价页与 API 返回是否一致。
    • GDPR 注销:Admin 用户详情页发起注销 → freeze 立即生效、异步完成;deploy/charts/api 新增的 account-erasure reconcile CronJob 是否正常;注销指标与 admin_audit_logs
    • CMS 活动:Admin 活动管理台 → 包上传 → Test 部署 → 验收 → promote 全链路;packages/shared 变更后 Admin/API 需同版本。
    • Realtime campaign:Test 控制台与线上浮窗行为一致,撤下的活动不再展示。
    • Admin patrol:多副本下告警/报告不再重复(patrol_reports 小时唯一键不报错)。
    • Helm checksum:Link/API/Admin 部署后 Pod 是否按预期滚动重启一次。

备注:所有 workflow、commit 与 compare 链接均指向 GitHub;每个 workflow 的 compare 链接基于各自的发布点 BASE,而非统一使用最旧的 b6a6adafb1。 数据来源:gh run list --workflow=<wf> --status=success --limit 5(2026-09-16 03:09Z 采集)与 git logorigin/main = 0d31e2d62)。