From ee48cc2de35fc9053413b28282e49120c7fa38ee Mon Sep 17 00:00:00 2001 From: lili Date: Fri, 3 Jul 2026 20:31:05 -0700 Subject: [PATCH] =?UTF-8?q?docs(plans):=20cutover=20=C2=A79=20S5b=E2=80=94?= =?UTF-8?q?=E2=80=94=E4=B8=A4=E6=AC=A1=E5=81=87=E8=B5=B7=E6=AD=A5=E5=90=84?= =?UTF-8?q?=E9=92=89=E4=B8=80=E7=9C=9F=E7=BC=BA=E9=99=B7(conc=E4=BA=89?= =?UTF-8?q?=E7=94=A8=E6=B5=8B=E9=87=8F=E6=B1=A1=E6=9F=93/CHROME=5FBIN?= =?UTF-8?q?=E7=9B=B2=E6=B3=A8=3D=E7=94=9F=E4=BA=A7=E8=80=83=E5=8D=B7?= =?UTF-8?q?=E5=9B=9E=E9=80=80key-cycle=E5=85=B1=E5=90=8C=E4=B8=8A=E6=B8=B8?= =?UTF-8?q?=E6=A0=B9=E5=9B=A0e4a4d025);=E7=AC=AC=E4=B8=89=E8=B7=91?= =?UTF-8?q?=E5=9C=A8=E9=A3=9E=20(cutover=20=E7=AA=97=E5=8F=A3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- docs/plans/2026-06-30-便宜档M3-生产cutover-plan.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/plans/2026-06-30-便宜档M3-生产cutover-plan.md b/docs/plans/2026-06-30-便宜档M3-生产cutover-plan.md index 382f18a0..c1516500 100644 --- a/docs/plans/2026-06-30-便宜档M3-生产cutover-plan.md +++ b/docs/plans/2026-06-30-便宜档M3-生产cutover-plan.md @@ -443,6 +443,12 @@ live=6-28 jar 健康、dispatcher=http、trace 开、control-plane 关;worker 95 - **两段式回路生产真转**:`/modify/plan`(星星连击特效指令)→ category=behavior / mode=regenerate-module / target=src/game-logic.js / intent 富化(带 juice 插件意识)/ riskLevel=medium / **needsConfirm=true(改玩法必确认 P0 契约)**;确认后 `/modify` 受理 chain 181 / task 201 / base 93149。 - **✅ A11 计费 e2e 收官(约 4 分钟一次过)**:新版本 **93150** 产出(package checksum 与 base 不同=真新构建,bundle 244058);task 201 断言全绿——status=2 / modify_mode=regenerate-module / base_version_id=93149 / version_id=93150 / **readiness_score=90** / idempotency_key 持久化;trace:attempts=1 / repairs=0 / stage=play / pass=True / **cost.totalRmb=0.9871 落账**(计费=记账骨架真接线,真扣退归 M4)/ models=MiniMax-M3。执行中 **C5 考卷契约在 modify 路首次生产实证**:base 源改动后「play-spec 陈旧(sourceHash 已变)→ 重生考卷」自动触发。决策④ 兑现。 +### S5b · lab 复验(2026-07-04 在跑;两次假起步各钉死一个真缺陷) + +- **第一跑(conc=3)作废=测量污染**:spec-smoke 100% FAIL → 全场考卷回退 key-cycle,过门率测的是环境噪声非生成质量;停批(已烧一局 ¥7.49 step_cap)。顺手补观测:smoke FAIL 时打印 raw 尾(`39646106`,真因先前被吞、烧掉一轮诊断)。 +- **第二跑(conc=1 串行)仍 FAIL → raw 观测行当场破案,钉出生产级根因**:`cheap_run._shell_env` 把 **Mac 的 Chrome 路径盲注 CHROME_BIN**,Linux(mini-desktop)上 smoke 全体 `spawn ENOENT` → state=None → **生产考卷从来就是 key-cycle 回退**(80012 成功局 gatespec.driver=key-cycle、80007 族错配盲修 ¥14.9 的共同上游根因;门跑没死只因 play.cdp.cjs 自探测 Chrome)。修=该路径真实存在(=Mac)才注入,Linux 交 play.mjs 自身默认 `/usr/bin/google-chrome`(`e4a4d025`,双向单测+全套基线不变)。**含义:此修上线后生产考卷将首次在 Linux 上拿到真实运行态(tap-targets 族),预期系统性抬过门率/压盲修**。 +- 第三跑(conc=1,带修)在跑,基线 brief 三品类 n=5;结果回填此处。bake_off 空转陷阱一并记:brief 源缺失时打「0 款达标 ✅」的空过(缺样本列表未列)——无声截断,待 bake_off 侧补一行 fail-fast(工单 i)。 + ### 回滚演练(✅ 2026-07-04,零 LLM 成本;S6「回滚演练一次干净」判据达成) - **在途回调幂等 + 终态保护**:对已成功终态的 task 201 重放 status=failed 回调(正确 HMAC)→ HTTP 200 受理但 **task/version 状态零变化**(仍 succeeded/93150)= 幂等无害、成功终态不被迟到 failed 回调翻转。**验签双向**:正确签名过(日志「验签通过」),错签 **401「回调签名校验未过」**拒(不落库不驱动状态机)。