AMR 生产发布影响报告

生成时间:2026-09-23T02:08Z(生产观测采样 2026-09-23T02:00:19Z–02:00:31Z);分析对象:从 origin/main(HEAD aecc339e3,fix(web): keep a recoverable poll failure from tearing down the campaign)发布 Web、API、Link、Admin、DB migration 与 Model Routing Catalog 的影响。
基线口径:Web / API / Link / Admin 四个服务以 EKS 实际运行的 Ready Pod 镜像 tag 中的 commit 为生产发布点(不使用 deploy-*-eks-prod.yml 的最近成功记录); DB migration 与 Model Routing Catalog 以对应 Forgejo workflow 最近一次成功运行的 commit_sha 为生产发布点。六个维度分别计算变更范围。

当前生产发布点(EKS 实态 + Forgejo workflow 记录)

越新的发布点表示该维度已上线越多内容。feature 表只列发布点之后的变更;发布点之前的内容归入 「已在生产生效」。六个维度基线各不相同,compare range 逐个基线单独给出。

WEB · EKS Pod 实态
Workload:nexu/amr-web · container web
观察时间:2026-09-23T02:00:19Z(采样 02:00:19–02:00:31Z,样本新鲜度 < 1 min)
Ready Pods:2 / 2(spec 52 / updated 52 / available 52;observed_generation = metadata_generation = 52,无滚动发布)
实际 commit:4676d97e1
镜像 digest:sha256:379d86f96df5444ca256058b6cb702b67a6376e3fc97b485fc8f603337802079
Workflow 审计:deploy-web-eks-prod.yml 最近成功 run #947 / 2026-09-22T02:31:44Z4676d97e1一致(workflow commit_sha = Pod image tag)
本次新增(4676d97e1...aecc339e3):4 commits
发布点之前已上线:Public Pricing 年度文案对齐、年度节省去重、意大利语/土耳其语本地化及其部署修复。
API · EKS Pod 实态
Workload:nexu/amr-api · container api
观察时间:2026-09-23T02:00:19Z(采样 02:00:19–02:00:31Z,样本新鲜度 < 1 min)
Ready Pods:2 / 2(spec 159 / updated 159 / available 159;observed_generation = metadata_generation = 159,无滚动发布)
实际 commit:feb5eb7fa
镜像 digest:sha256:ce9939f10b5da205dfc354e7d41fb63462eb46d097238edf40c590f10fca7740
Workflow 审计:deploy-api-eks-prod.yml 最近成功 run #385 / 2026-09-21T02:22:13Zfeb5eb7fa一致(workflow commit_sha = Pod image tag)
本次新增(feb5eb7fa...aecc339e3):14 commits
API 是六个维度中第二旧的发布点;范围内的 API 变更全部待发布,无「已生效」增量。
LINK · EKS Pod 实态
Workload:nexu/amr-link · container link
观察时间:2026-09-23T02:00:19Z(采样 02:00:19–02:00:31Z,样本新鲜度 < 1 min)
Ready Pods:2 / 2(spec 2128 / updated 2128 / available 2128;observed_generation = metadata_generation = 2128,无滚动发布)
实际 commit:4676d97e1
镜像 digest:sha256:d6d339a87fb3299004f80e96ab827e2b5af643a31dfa2210bdb3e5134a64af80
Workflow 审计:deploy-link-eks-prod.yml 最近成功 run #948 / 2026-09-22T02:32:33Z4676d97e1一致(workflow commit_sha = Pod image tag)
本次新增(4676d97e1...aecc339e3):4 commits
发布点之前已上线:Grok 4.7 路由随 catalog 一并生效。
ADMIN · EKS Pod 实态
Workload:nexu/amr-admin · container admin
观察时间:2026-09-23T02:00:19Z(采样 02:00:19–02:00:31Z,样本新鲜度 < 1 min)
Ready Pods:2 / 2(spec 45 / updated 45 / available 45;observed_generation = metadata_generation = 45,无滚动发布)
实际 commit:0a1243060
镜像 digest:sha256:0139558eec90ff7b2aee7109d5d3cee83a6b317ea0e8ae0ffb8a9a714492dae8
Workflow 审计:deploy-admin-eks-prod.yml 最近成功 run #1324 / 2026-09-22T06:26:33Z0a1243060一致(workflow commit_sha = Pod image tag)
本次新增(0a1243060...aecc339e3):3 commits
Admin 是六个维度中最新(最靠前)的发布点:表单抽屉化、页面标题对齐、复杂表格筛选统一、UI 模式回退、会员额度按美元展示均已上线。
DB migration · deploy-db-migrations-prod.yml 记录
最近成功:run #352 · 2026-09-20T08:13:07Z
发布点 commit:ff912897d
本次新增(ff912897d...aecc339e3):1 commit → 2 个 migration 文件
发布点之前已上线:截至 20260914115313_account_erasure.sql 的 migration 集合(含 20260914101138_touchpoint_test_context_realtime.sql)。
DB 是六个维度中最旧的发布点(落后约 3 天),因此本 feature 的两条 migration 全部待执行。
Model Routing Catalog · deploy-model-routing-catalog-prod.yml 记录
最近成功:run #976 · 2026-09-22T03:18:47Z
发布点 commit:5149e3f66
本次新增(5149e3f66...aecc339e3):8 commits(均为 data/json + db/seeds 变更)
发布点之前已上线:Hy4 Aiping / Kimi K3 Aliyun 路由(8028e101d)、Grok 4.7 路由(9061e8872)、MiMo V2.6 Pro / Flash 路由(4676d97e1)。
同一 workflow 的窗口内成功记录共 8 次,最近一次为 run #976;上一次为 run #552(e36d61024)。

审计对照说明:四个服务的 Forgejo 生产发布 workflow 最近成功记录与 EKS Pod 实态逐项一致(commit 与 digest 均匹配),未发现 GitOps 手工回滚造成的偏差。 GitOps values(powerformer/apps)不在本环境可访问范围内(该仓库位于 GitHub,本流程不读取 GitHub Actions / GitHub 记录),因此未作为对照来源;如需该层证据请在本流程之外补充。

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

feature 表只包含「各维度生产发布点之后」的变更。Feature 聚合以业务行为、用户路径、数据契约和部署依赖为准;PR、commit 与 path 仅作为可点击的追溯证据。

Feature / Author / Commits Web API Link Admin DB schema / migration DB catalog(seed)
XXLCoding Plan 计费体系:Go 套餐恢复、额度窗口锚点修正与资金来源预检

是什么:恢复 Go 付费套餐在价格目录、订阅、Admin 模型包含规则与四档额度配置中的完整支持;Coding Plan 请求改为优先消耗套餐额度、额度耗尽后回退钱包;新增按工作空间 / 成员 / 模型限定的 billing preflight(API + vela billing preflight CLI),让客户端不再把“钱包余额为 0”误判为不可调用;同时把订阅额度窗口从“首次请求才开始计时”改为以订阅创建时间锚定(升级重算锚点,续费与团队席位变化保留锚点), 并开放 Admin 侧 5h / 7d / 30d 重置模式选择。

面向谁 / 用户路径变化:所有 Coding Plan(Go / Plus / Pro / Max,Personal 与 Team)订阅用户;Personal 与 Team 从此使用一致的窗口规则;Open Design 客户端通过新的 preflight 能力获得“模型覆盖 + 套餐用量 + 建议资金来源”。

Author:mrcfps(mrc@refly.ai);#54 Co-authored-by Ray Xi、mrcfps,Reviewed-by lefarcen

  • {c("16448b7773")} feat(billing): restore Go plans and add Coding Plan funding preflight ({pr(54)})
  • {c("1fd9973dda")} fix(coding-plan): 修正订阅窗口锚点并开放重置模式选择 ({pr(67)})

部署依赖:#67 明确要求先发 API,待会员策略缓存刷新后再发 Link;MCP/客户端侧另有 Open Design PR 依赖新增的 Vela API/CLI 能力(旧 CLI 缺少预检时客户端降级,不阻断网关请求)。

有(BASE_WEB {c(B["web"][0])} 之后):apps/web — coding-plan 用量卡(窗口用量 / 重置时间)、landing 定价卡与套餐目录(Go 套餐回归)、public-pricing-offers.tsnav-items.tsbilling-client.tsapi-keys 页新增网关 Base URL。
16448b777
有(BASE_API {c(B["api"][0])} 之后):services/apibilling/core.tsbilling/coding-plan-usage.tsbilling/preflight.ts(新增预检,注册进 app.ts / http/routes.ts / openapi.json)、billing/infra/postgres.tspersistence/users.ts、会员策略锚点下发。
16448b777、1fd9973dd
有(BASE_LINK {c(B["link"][0])} 之后):services/link — 准入流水线 admission_pipeline.goeconomics/classifier.go + metrics.go(额度耗尽回退钱包的计费分类)、membership/client.gomodellimit/model_limit.go(额度池隔离与回退)、repositories/postgres.go
16448b777、1fd9973dd
有(BASE_ADMIN {c(B["admin"][0])} 之后):apps/admin — coding-plan 控制台(audience-contextproduct-controllimit-policies-panelcontribution-multiplier-fieldsmodels-paneltier-value-grid)、membership/model-groups-panellib/audit-action-catalog.ts、i18n(中英)。
16448b777、1fd9973dd
(BASE_DB {c(BASE_DB)} 之后):
  • db/migrations/20260921132204_restore_go_coding_plan.sqlpublic.coding_plan_model_entries 增加 contribution_multiplier_goincluded_in_go;重建 link.model_limit_admissions / link.model_limit_windows / link.usage_events / public.credit_usages / public.membership_model_groups 的 billing-evidence / coding-plan-pool CHECK 约束。
  • db/migrations/20260922054546_coding_plan_product_isolation.sql — 新建 public.coding_plan_products 表(按 audience 隔离的套餐开关);coding_plan_model_entries 唯一键改为 (public_model_id, coding_plan_audience)model_limit_policies 增加 coding_plan_audience
  • 同步 db/schema/link.hcldb/schema/public.hcldb/migrations/atlas.sum
无(本 feature 未触及 data/jsondb/seeds)。
LModel Routing Catalog:新模型上架、归档条目退役与供应商路由调整

是什么:Model Routing Catalog(seed)的一次大批量收敛: (1) 新增 3 个 public model — claude-opus-5.5(OpenRouter priority 20 + Bedrock priority 8 双路由)、gpt-6-solgpt-6-luna(OpenAI priority 10 + OpenRouter priority 20 双路由); (2) deepseek-v4.1-flash 从单供应商升级为 5 供应商加权路由(DeepSeek 80% / Aliyun 10% / Aiping 10% + Novita、OpenRouter 兜底),并退役过期别名 deepseek-v4.1-flash-expires-on-0910(3) 新增 Xiaomi 官方供应商 provider_xiaomiapi.xiaomimimo.com)作为 mimo-v2.6-flash / mimo-v2.6-pro 的 priority-10 主路由; (4) AIHubMix 整体下线(1 provider + 5 backend model + 5 route → inactive,provider 行保留); (5) 退役 18 个已归档 public model(Claude 4.6/4.7、Gemini 3 / 3.1 / 3.6、GLM 5 / 5-turbo / 5.1、GPT 5.4 / 5.5、Kimi K2.5 / K2.6、MiMo 2.5 Pro、MiniMax M2.7 等)及其 public model / route 状态。

关键影响:新增的 3 个模型 release phase 均为 pre_releaserelease_gate=false),按链路契约不可被请求;seed 对 release phase 用 ON CONFLICT DO NOTHING,不会覆盖环境既有操作态,因此本次 apply 只改变目录定义与已发布模型的 active/inactive 状态。

Author:Liu Yi(liuyi@refly.ai)

  • {c("de82fb549e")} chore(models): retire archived catalog entries ({pr(48)})
  • {c("5778f53d94")} chore(catalog): take AIHubMix offline ({pr(59)})
  • {c("55b1b6e7ba")} feat(catalog): add DeepSeek V4.1 Flash provider routing ({pr(61)})
  • {c("79839a5519")} feat(link): add Xiaomi MiMo 2.6 provider ({pr(66)})
  • {c("5a5a09e869")} feat(catalog): onboard Claude Opus 5.5 ({pr(72)})
  • {c("f24fa33fa3")} feat(catalog): onboard GPT-6 Sol and GPT-6 Luna ({pr(73)})
  • {c("472ad69432")} feat(catalog): add MiMo-V2.6-Pro-UltraSpeed ({pr(71)}) → {c("8fc023f7fb")} revert ({pr(74)}),见「净变更归零」
无。 无。
本 feature 未改 services/api;公共定价数据由 catalog 侧提供。
有(含部署前提)provider_xiaomi 的凭据为 env.XIAOMI_API_KEYLink 生产环境必须已配置该 secret,否则 priority-10 Xiaomi 路由不可用并回落 OpenRouter priority-20。services/link 目录内变更仅为 .env.example / README.mdthird_party/bifrost-core 的 anthropic / bedrock 测试同步。
79839a551、5a5a09e86
无。 无 schema / migration 变更。 (BASE_CATALOG {c(BASE_CATALOG)} 之后):8 个 commit 触及 data/jsondb/seeds,净变更覆盖 models.jsonprovider_routes.jsonroute_policies.jsonpublic_pricing.jsonproviders.jsonmodel_routing_catalog_release_gates.jsonprovider_pricing/*.json(新增 provider_xiaomi.json)、db/seeds/seed-model-routing-catalog.sqlgenerate_model_routing_catalog.pydata/scripts/build_model_json.py。 由 {wf("deploy-model-routing-catalog-prod.yml")} 的 apply 步骤执行。
LCMS Touchpoints 运行时决策生命周期(OPEND-3364 ~ OPEND-3375)

是什么:API 侧 touchpoint / CMS 运行时决策链路的一轮协同重构:事件凭据校验绑定部署窗口;展示授权改为以 endsAt 为界的绝对授权并把凭据从 decision 中拆出; 调用方已持有内容时返回 slim decision;续期改为按主键原地续期而非重新签发;共享制品读取只读被选中 placement 的制品并加字节上限 LRU 缓存;撤销回执脱离 decision 凭据窗口;部署下架时撤回已持有的 decision。

意图:把“不可达服务”降级为“随活动自然到期”,而不是“一次失败的内容消失”,同时降低每次轮询的读取与重写开销。

Author:a1chzt(10 个 commit)、lefarcen(c8d1cf662)

  • {c("ffe7d46fe6")} fix(cms): bind event credential checks to the deployment window(OPEND-3364)
  • {c("74ad7dc694")} feat(cms): grant display authority to endsAt and split out the credential(OPEND-3365)
  • {c("1422976928")} perf(cms): read only the selected placement's artifacts(OPEND-3367)
  • {c("7349eda516")} perf(cms): cache shared artifact reads behind a byte-capped LRU(OPEND-3368)
  • {c("3e5e8644bb")} perf(cms): renew the runtime decision instead of reissuing it(OPEND-3369)
  • {c("dae4221876")} perf(cms): renew the decision by primary key when the caller names it(OPEND-3369)
  • {c("4ddbe454c7")} feat(cms): return a slim decision when the caller already holds the content(OPEND-3370)
  • {c("9f1f16ae8c")} fix(cms): free the revocation receipt from the decision credential window(OPEND-3372)
  • {c("a67e314266")} fix(cms): withdraw a held decision when its deployment is unpublished(OPEND-3375)
  • {c("b143ee8a86")} test(cms): cover the runtime lifecycle changes against real PostgreSQL(OPEND-3368/3369/3372)
  • {c("c8d1cf6620")} docs(cms): correct the documented rollback surface for the display grant

与 Web 侧 Campaign 浮层(下一条 feature)是同一套契约的两端:Web 端“续期保持挂载”依赖 API 侧 issueRuntimeDecision 的原地续期语义。

无。 (BASE_API {c(B["api"][0])} 之后):services/api/src/touchpoints/persistence.ts(主改动面)、touchpoints/routes.tstouchpoints/shared-artifact-store.ts,配套单元测试与真实 PostgreSQL e2e(test/e2e/touchpoints-runtime-lifecycle.test.ts 等)。 无。 无。 无 schema / migration。
注意:BASE_API 相对 BASE_DB 更新,本 feature 不需要 DB 前置。
无 catalog 变更。
MWeb 生产 Campaign 浮层:租约续期与可恢复故障降级

是什么:控制台生产活动浮层(含 gift entry)此前每 30s 轮询成功却先因 hasCurrentLease() 提前返回、丢弃新授权,旧租约一到期即整体卸载宿主;同时 !navigator.onLine、任意非 2xx、未完成的 fetch 三种“无法区分撤销与线路故障”的路径会立刻拆除浮层。 现在 同一 deployment + content version + placement 命中即续期并保持 DOM 挂载renewsMountedContent()),只有“能回答问题的失败”(410 撤销/撤回、租约到期、替换 decision、登出、401/403、不支持的能力、响应体不可解析)才拆除;新增 isRecoverableStatus(区分 5xx 与 4xx)与 isRecoverableTransportFailure(未落地的响应头)。另把活动层 z-indexz-[90] 降到 z-[45],不再盖住 aria-modal 的 plan 弹窗。

用户可见变化:活动未撤销时 gift entry 不再间歇性消失(按作者实测:40s 授权窗口下每 60s 有 20s 缺失;注入 500 / 连接重置会损失约 60s;离线则直接丢失);套餐弹窗不再被促销卡遮挡。

Author:lefarcen(935902669@qq.com / ontf116@gmail.com)

  • {c("185393b32b")} fix(web): renew the console campaign lease instead of rebuilding its host(OPEND-3437、OPEND-3350)
  • {c("aecc339e34")} fix(web): keep a recoverable poll failure from tearing down the campaign(OPEND-3363)
(BASE_WEB {c(B["web"][0])} 之后):apps/web/src/components/production-campaign-float.tsx 及浏览器测试 tests/browser-agent/production-campaign-float.spec.ts 无。依赖 API 侧 decision 续期语义(见上一条),但本次不含 API 代码变更。 无。 无。 无 schema / migration。 无 catalog 变更。
SAdmin 公共模型编辑:审计记录去重

是什么:公共模型编辑抽屉改为逐个字段与当前 override 比较后再提交,只对真正变更的字段调用 Server Action。此前仅改 Capability 也会连带写入 Context Budget 审计,仅改 Release Phase 会写入 3 条审计。

影响面:Admin 运营审计流水准确性;无其他维度影响。

Author:Liu Yi(liuyi@refly.ai)

  • {c("6d963188e2")} fix(admin): avoid duplicate model audit entries ({pr(63)})
无。 无。 无。 (BASE_ADMIN {c(B["admin"][0])} 之后):apps/admin/app/[locale]/(protected)/models/list/edit-public-model-drawer.tsx + 测试。 无 schema / migration。 无 catalog 变更。
S发布工具链修正:Public Pricing 校验器、Forgejo 事件链接、过期引用清理

是什么:(1) Public Pricing 部署校验从硬编码“8 plans / 4 personal”改为共享 Zod schema 校验并重算 catalog revision hash —— Go 套餐恢复后计划数变为 9 / 5,旧校验会让 DB 发布 workflow 与 API smoke 误失败; (2) 全部 17 个 Forgejo 部署 / migration workflow 的 APE ops 事件链接从内部容器 URL + 实例级 run_id 改为公开 Forgejo 主机 + 仓库级 run_number,并新增 workflow 契约检查; (3) 清理 apps/web 注释中过期的 GitHub 引用与 sandbox 运行时 pin(改为 Forgejo release + tea)。

影响面:仅发布流程与代码注释;不改变任何维度运行时行为。但 (1) 与 (2) 直接决定本次 DB / Catalog / 服务发布 workflow 能否通过校验与事件是否可追溯。

Author:Liu Yi(liuyi@refly.ai)

  • {c("224664e2cf")} fix(ci): validate Public Pricing with the shared schema ({pr(65)}) — 事故上下文:{run(1703, "DB / Public Pricing run #1703")}、{run(1702, "API 部署 run #1702")}
  • {c("0af9375880")} fix(ci): correct Forgejo deploy event links ({pr(64)})
  • {c("d89dd437c1")} chore: remove stale GitHub repository references ({pr(60)})
仅注释 / 引用清理:apps/web/src/lib/workspace-dashboard-client.ts 及浏览器测试,无运行时行为变化。 有(校验脚本):services/api/scripts/verify-public-pricing.tsservices/api/package.jsontest/public-pricing.test.ts,同时覆盖 test API smoke、test DB 发布与 prod Public Pricing 发布。 无运行时变更。 无。 不改 db/migrations;但 deploy-db-migrations-prod.yml 的 workflow 文件本身在本范围内被更新(事件链接修正),从 main dispatch 时生效。 不改 data/json / db/seedsdeploy-model-routing-catalog-prod.yml 与 Public Pricing 校验路径在本范围内被更新,从 main dispatch 时生效。

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

以下内容均在对应维度生产发布点之前,已在生产运行,本次不重复发布。

发布建议

  1. Migration 判断:需要先跑 migration。BASE_DB ff912897d 之后有 2 个新 migration(16448b777): db/migrations/20260921132204_restore_go_coding_plan.sqldb/migrations/20260922054546_coding_plan_product_isolation.sql。 两者都包含 ALTER TABLE … ADD CONSTRAINT / ADD COLUMN NOT NULL DEFAULT 与 CHECK 约束收紧,属于对既有行有校验要求的变更: 第 2 条新增 public.coding_plan_products 表并把 coding_plan_model_entries 唯一键从 (public_model_id) 扩为 (public_model_id, coding_plan_audience), 执行前必须确认现网不存在同一 public_model_id 同时被 personal / team 重复占用的历史行。执行入口:deploy-db-migrations-prod.yml
    范围内没有被回退的 migration,不会执行已撤销的 SQL。
  2. 服务发布顺序(按依赖,六个维度发布点不同):
    1. DB migrationdeploy-db-migrations-prod.yml,2 个 migration 文件)— 所有写入 coding_plan_audience 的路径都依赖新列与唯一键。
    2. Model Routing Catalogdeploy-model-routing-catalog-prod.yml,8 commits)— 独立于服务发布;但需先确认 Link 生产环境已配置 XIAOMI_API_KEY,否则 mimo-v2.6-flash/pro 的 priority-10 Xiaomi 路由不可用(会回落 OpenRouter)。
    3. APIdeploy-api-eks-prod.yml,14 commits)— 承载 membership 策略锚点、billing preflight 与 touchpoints 运行时决策契约。按 #67 明确要求,API 必须先于 Link
    4. Linkdeploy-link-eks-prod.yml,4 commits)— 需等会员策略缓存刷新后再发布(#67 的发布顺序要求);建议 API 发布后观察策略缓存刷新周期再执行。
    5. Webdeploy-web-eks-prod.yml,4 commits)| Admindeploy-admin-eks-prod.yml,3 commits)— 无强依赖,可并行或最后发布;Admin 发布点最新,实际只带 3 个 commit。
    注意 API 侧 CMS 决策契约与 Web 侧 Campaign 浮层是同一契约的两端,建议 API 与 Web 在同一发布窗口内完成,避免 Web 端已上线“续期保持挂载”而 API 端仍为旧签发语义。
  3. 数据 seed / catalog 判断:catalog 变更全部由 deploy-model-routing-catalog-prod.yml 的 apply 步骤 (scripts/prod-db-migration-workflow.py model-routing-catalog-applydb/seeds/model_routing_catalog.py apply)覆盖,无需额外 runbook。 两个必须人工确认的点:(a) Link 的 XIAOMI_API_KEY(b) seed 用 ON CONFLICT DO NOTHING 处理 release phase, 因此新增的 claude-opus-5.5 / gpt-6-sol / gpt-6-luna 应用后仍为 pre_release不会被用户请求到;如需放量必须另外把 release_phase 改为 released,这不在本次 seed 范围内。
  4. 发布后观测:
    • 计费 / 套餐:Coding Plan 请求的 billing_modecoding_plan vs pay_as_you_go)分布、额度耗尽后回退钱包的比率(billing_fallback_reason)、zero_charge_evidence='coding_plan' 的记录量;重点看 usage_events / credit_usages 的 billing-evidence CHECK 是否有写入被拒(约束在本次被重建)。
    • 订阅窗口锚点:新订阅与升级后的 reset_at 是否等于订阅创建时间;续费 / 团队席位变化后锚点是否保留。潜在坑:历史订阅若缺少 Stripe 创建时间会暂用本地订阅记录创建时间,#67 提示发布前必须核对“曾替换过订阅”的历史记录。
    • PreflightPOST /v1/billing/preflight(Open Design 客户端调用)成功率与延迟;旧 CLI 客户端应表现为降级而非请求失败。
    • Touchpoints / Campaigntouchpoint_stopped 事件频率(应下降)、Web 端 host 节点是否在无撤销时保持稳定挂载、410/撤回后是否按时清理、撤销回执与点击归因是否仍与 activeDecisionId 匹配。
    • 模型路由deepseek-v4.1-flash 各供应商权重分布(DeepSeek 80% / Aliyun 10% / Aiping 10%)与兜底触发率;provider_xiaomi 的调用成功率(凭据缺失会表现为该 provider 全失败 + OpenRouter 回落);AIHubMix 下线后是否仍有 5xx 或“provider inactive”类错误;已退役的 18 个模型是否还有存量请求(有则说明有未迁移的客户端)。
    • 公开定价public_pricing 的 plan 数量应为 9(5 personal + 4 team)并 revision hash 匹配;IT / TR 语言页面正常。
    • Release 流程:APE ops 事件中的 run 链接应指向公开 Forgejo run 页(run_number),不再是内部容器 URL。

备注:本报告所有 workflow、commit、PR 与 compare range 均使用 code.powerformer.net/core/amr 的可点击链接;四个服务的 compare range 基于 EKS Pod 观察到的 BASE,DB migration 与 Catalog 的 compare range 基于各自 Forgejo workflow 的 BASE,未统一使用最旧基线。

证据附录

EKS / Prometheus 观测(Grafana datasource prometheus,namespace nexu

查询形状:kube_pod_container_info{namespace="nexu", container="<container>", image=~".*/<repo>:prod-[0-9a-f]{40}"} and on(namespace, pod) (kube_pod_status_ready{namespace="nexu", condition="true"} == 1),先按业务容器与镜像仓库过滤出 Pod 集合,再仅按 (namespace, pod) 关联 Ready 指标;未使用宽泛 Pod 名正则。

约束校验:四个服务各 2 个 Ready Pod,同一服务内 commit 与 digest 完全一致;spec / status / updated / available 副本数均为 2,observed_generation = metadata_generation(无滚动发布或回滚混合态);样本时间戳 1790128819–1790128831(2026-09-23T02:00:19Z–02:00:31Z),距查询时刻 < 1 分钟。

Forgejo workflow 运行记录(基线来源)

可见性范围说明:Forgejo Actions 运行列表在本环境可回溯至 2026-09-17T12:01Z(id 45798);两个基线 workflow 的最近成功运行均晚于该下限,因此不存在“因为窗口截断而漏掉更新成功记录”的情况。