docs(studio): A11 切片三全闭环 —— 受计费真后端 e2e 跑通

受计费 e2e 在 mini-desktop 隔离实例(:48090 + worker :9502,不碰 live)跑通:
- 三件硬证据全坐实:① 三断言/modifyManifest 落库(ROUND_MS 30000→18000 found / behavior changed+untouchedStable)
  ② D12 计费(regenerate cost.totalRmb=0.307 / deterministic 零LLM cost=0,均经配额门)
  ③ 血缘(game_source_project v93145→v93146/47/48 base_version_id=93145)
- 判意图分类正确(config/deterministic vs behavior/regenerate-module)、两档执行九门全过
- 抓修 1 阻断性真 seam bug(gameId int→str,a40823b1)
切片三 A11:设计 → 双评审 → M1-M5 执行 → 受计费真后端 e2e,端到端闭环。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
lili 2026-06-29 04:28:46 -07:00
parent 0465471ef4
commit 1152f0d0d4

View File

@ -1,6 +1,6 @@
---
title: A11 对话式调整回路(试玩后纠错)细化执行 plan
status: M1–M5 代码完成✅ · 本机逐段验证 · 受计费 e2e 排部署窗口(创始人 2026-06-29 定 B)
status: 切片三全闭环 ✅ —— M1–M5 代码完成 + 本机逐段验证 + 受计费真后端 e2e 跑通(2026-06-29 · 隔离实例 · 抓修 1 阻断 seam bug)
date: 2026-06-28
topic: studio-A11-调整回路
canonical: false # 切片三统领在 plan①;本档是「切片三·A11」的可执行细化,不另立 SoT;评审后把 A11 设计面蒸馏回 docs/architecture 生成引擎域(兑现 plan① 收口 TODO⑥)
@ -311,7 +311,9 @@ stateDiagram-v2
- **`cheap_assert.py` 三结构断言**:① change_applied(改动真生效非 no-op:deterministic=manifest 有 found 且 old≠new / regenerate=changed);② nontarget_stable(**base→new 真比对**算内容差,非目标文件变=误伤——**不信执行器自报标记**,防执行器 bug 自证,兑现 Opus P1-2);③ lineage_queryable(baseVersionId 在,worker 侧验必要条件,DB 真可查由后端 e2e + M1 回填)。`three_assertions` 合并 verdict。`test_a11_m5_assertions` 12/12。
- **集成进 execute_***:两档执行加 `base_version_id` 参 + 计算并附 `assertions` verdict + 收紧 status 判据(succeeded ⟺ 九门 ∧ ① ∧ ②;regenerate 原漏判 ①changed 已补,no-op 重写不再算成功);worker `_process_*_job` 透传 `modify.baseVersionId`。全 **85 测试**独立复跑全绿(含 M3/M4 注入桩接 kwarg 修)。
- **集成端到端 smoke(主会话独立、真九门)**:ROUND_MS 30000→19000 + base_version_id=4096 → **status=succeeded、a1/a2/a3 全 true、allPass=true、落盘 core.js=19000**。三断言真接进执行器、清洁改动全过。
- **受计费真后端 e2e(mini-desktop)**:A11 全链路代码已完成 + 本机端到端逐段验证(判意图链路 / 两档执行 + 真九门 / 三断言 / 血缘回填均已一手坐实)。剩最终集成证 = 经真后端(studio `/modify/plan`+`/modify` → aigc → worker → 回调 → 新预览版 + D12 计费 + base_version_id 可查)跑通一次受计费调整任务,需 mini-desktop 全栈起。
- **受计费真后端 e2e(mini-desktop 隔离实例 :48090 + worker :9502,不碰 live)完成、绿(2026-06-29)**:A11 两段式经真后端端到端跑通——`/modify/plan` 判意图(deterministic 返 config/needsConfirm=false、behavior 返 regenerate-module/needsConfirm=true,分类与风险全对)→ `/modify` 执行 → executor 派发 → worker → 回调 → 新版本。**三件硬证据**:① 三断言/modifyManifest 落库可见(task194 `ROUND_MS 30000→18000 found=true`、task195 `game-logic behavior changed=true untouchedStable=true`);② D12 计费落账(regenerate `cost.totalRmb=0.307`、deterministic 零 LLM cost=0,均经 `enqueueWithControlPlane` 配额门);③ 血缘可查(`game_source_project` v93145(base)→v93146/47/48 `base_version_id`=93145)。base + 两档 modify 九门均 pass、failedGates=[]。
- **抓修 1 个阻断性真 seam bug(e2e 的价值 · commit `a40823b1`)**:后端 gameId 是 Java Long→JSON number→Python int,worker 直传 cheap_run 的 subprocess(要 str)→ TypeError → 静默归 llm_error → 便宜档经真后端 generate/modify 全失败。本机单测用 str gameId 没暴露、真后端 int 才触发。修 = 3 处 job 消费边界 `str(game_id)` 归一化。
- **接线命门 4 处**(起隔离实例镜像 live 必覆盖,否则指向 live):dispatcher=http(env 默认 saa)、worker-url=:9502(默认 :9401)、callback-url=:48090(Java 默认 :48080=live)、`aigc.trace.enabled=true`(默认 false,否则 trace 不落库)。竞态:live executor 也 tick 同一共享 DB,poll-interval=500ms 赢 CAS、4 任务全被隔离 worker 抢到、无一漏给 live。隔离实例已精确端口拆、live 未碰。
## 状态
@ -325,6 +327,6 @@ stateDiagram-v2
| M4 模块重生成 | 有界单文件重写 game-logic.js → 九门,写边界守住 | Python 10 + **真 LLM smoke 九门 pass、5 非目标文件字节相同** |
| M5 三断言门 | ①改动真生效 ②非目标稳 ③血缘可查 + 收紧 status | Python 12 + **集成 smoke a1/a2/a3 全 true** |
**唯一剩项 = 受计费真后端 e2e**(创始人 2026-06-29 定 **B**:排部署窗口、不现在动 live 栈)。它要把 A11 部署到 mini-desktop(push + 重建 Java :48080 + 重启 worker :9501),经真后端跑通一次受计费调整任务验三断言 + D12 计费 + 血缘。代码侧已就绪,仅待部署窗口的集成验证。
**切片三全闭环 ✅(2026-06-29)**:受计费真后端 e2e 已在 mini-desktop 隔离实例(:48090 + worker :9502,不碰 live)跑通——三断言/计费/血缘三件硬证据全坐实、判意图分类正确、两档执行九门全过,并抓修 1 个阻断性真 seam bug(gameId int→str,`a40823b1`)。A11 对话式调整回路从设计 → 双评审 → M1-M5 执行 → 受计费真后端 e2e,端到端闭环。
**收口 TODO**(迁移对账已列):① 回写 plan① 切片三 行 148 的确定性覆写定性(执行仍零 LLM,但经判意图两段式到达、非直接覆写)→ 交横切一致性主人;② A11 设计面蒸馏回 `docs/architecture/架构/生成引擎/` + `.agents/knowledge/`;③ 便宜档 extend、A2A 原生 input-required 暂停态留后期。前端 Vue 确认 UI = 前端 lane(消费 `/modify/plan`)。