docs(boards/distill): 阶段二全五步收官对账(作战清单 W-CFG 终态+W-DSGN 文本债勾账只剩 SVG 尾波+总账第二窗)+ tech-decisions §14(路由字面量对源码核/门旗+fail-closed 凭据双保险/Nacos 最终一致/激活一致性落地形态/MP NULL 指针写法)
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
lili 2026-07-04 11:59:29 -07:00
parent c4e8df15b2
commit c01359262e
3 changed files with 15 additions and 3 deletions

View File

@ -216,3 +216,15 @@ cutover S0S4 与 A11 计费 e2e 在同一窗完成(证据=cutover plan §9
**运维面三条硬记**:① jar 世代升级=依赖面随升——新 jar 带上了阶段〇的 Nacos 接线,`NACOS_PASSWORD` env 缺 → 登录 403 → 注册 failFast → 进程静默退,连 boot banner 都不留;回滚资产要「旧 jar + 旧 env 面」两层,升级前先 diff 新世代多要什么 env。② 环境快照采集要验完整性——S0 的 `/proc/<pid>/environ` 快照只存到 PATH(采集半途失败没人发现),重启即 DB 密码丢;权威源是 `infra/.env`(裸赋值文件,source 前必须 `set -a`)。③ 并发争用会污染测量——bake_off conc=3 时 spec-smoke 100% 失败(Chrome/端口挤兑)→ 全场考卷回退 key-cycle,测出来的过门率是环境噪声不是生成质量;凡「测质量」的批必须串行或与基线同并发口径,且 smoke 一类哨兵失败必须打印真因(raw 尾),不能只留 PASS/FAIL 一个位。
**F-2/F-3 收敛窗补记三条(2026-07-04)**:① **双源默认值影蔽**——旋钮外置单源(genconfig)后,调用链上任何写死默认值的显式透传都会静默短路单源:`batch_run`/`run_engine` 三处 `default=40` 让「writer 提到 60」在 r3 实跑仍是 40,而 middleware 系旋钮(直读 genconfig)全部生效,同一批里真假参半最难察觉。外置旋钮的 DoD 必须含「调用链无第二默认值」(全链 grep `default=`/字面量对账),调用方一律传 None 哨兵、由消费端解析单源。② **隔离 worktree 基线不可信**——同批五个 agent worktree 全被建自错误分支(dev/1.0.0,目标文件整棵不存在);五个 agent 虽全部自查自纠(reset --hard 到 dev/2.0.0),但这依赖 agent 素质,不可赌:派单 prompt 写明目标分支,**终审第一步必验父链**(`git merge-base` 确认基于主线近点,再看 diff)。③ **pgrep 模式串自匹配是全场景坑**——不止 kill/relaunch(§旧记),连纯探活(`pgrep -f 'a|b'` 出现在自己 ssh cmdline)也会自匹配报假活进程;模式串永远用 `[x]` 括号技巧,且同一命令行里不要 echo/字符串携带模式本体。另:ssh 复合命令里 `cd` 只作用于当段,第二段后台启动要用绝对路径(worker 重拉 ENOENT 实录)。
## 14. 配置控制面阶段二五步落地窗(2026-07-04,fable 编排·opus 五单·逐波终审)
一天内把阶段二从「设计定稿待排期」推到「五步代码全落」:前置 namespace 统一(`b2b4d389`)→ 步骤4 genconfig Nacos 热源(`344330a4`+入口 `d9def7d9`)→ 步骤1+2 yudao 治理子域 V29/V30(`3ae34de1`)→ 步骤3 双路激活(`72973532`)→ 步骤5 漂移对账(`a8dd5e50`)→ 路A 复数修复(`22444fd5`)→ 收口涟漪回写(`c4e8df15`)。同窗 W-PCI prompt 四道闸 CI 当日排单当日落(`ec95faaf`)。三条新坑与两条工艺硬记:
**① 跨系统客户端的路由字面量,终审必须对框架源码逐字核——单测桩验不出 404。** C 波路A PATCH 写成 `/session/{id}` 单数,AgentScope 2.0.2 session router prefix 是 `/sessions` 复数(app/_router/_session.py:87,我方 bootstrap.py 同用复数);客户端单测断言的是自己拼的 URL,桩永远绿,对真 Service 必 404。这颗雷不是评审看代码看出来的,是 D 波写对账**只读路**时按真源码用了复数、与 C 波写路对不上才暴露。教训两层:跨系统 URL/字段名的评审凭据=框架源码或既有真跑代码,不是对称的自家测试;**同一契约的读写两路分两单实现时,「读写口径互证」本身就是一道免费的门**——排单时可以有意这么排。
**② 真外呼 IT 用「显式门旗 + fail-closed 凭据断言」双保险,拒绝静默 skip 假绿。** A/C/D 三波真库/真 Nacos IT 统一形态:默认 `@EnabledIfSystemProperty(aigc.config.e2e=1)` 跳过(常规 mvn test 不牵外网),开旗后凭据缺失不是 skip 而是**红**(「须注入 NACOS_PASSWORD」断言)。fable 复跑时先被门旗骗过一次(Skipped 2 误当绿)、又被凭据断言拦一次——两道都在防「跳过当通过」:终审复跑 IT 必须核 `Tests run` 的 Skipped 列,Skipped>0 的"绿"不是绿。
**③ Nacos publish→read 最终一致:改值后立即 GET 可能返旧值。** C 波路B e2e 实测发现;对账/断言读生效 dataId 必须带轮询容忍窗(D 波 8s 窗+800ms 步进),否则把传播延迟误判成配置漂移。同理生产侧「激活后立刻查投影」的任何面(阶段三 UI、阶段四对账巡检)都要吸收这个窗口。
**工艺硬记两条**:㋐ 激活一致性的落地形态=「sanity 前置拒发 + beginActivating 快照(单库事务)+ 双路短路下发 + 全成才 markVersionActivated + 任一步败即补偿重推回上一激活版 + 账本提交失败留 ACTIVATING(V30)由 recoverActivating 幂等向前收口」——投影撕裂由即时补偿收敛,不承诺投影层原子;「向前执行到底」与「补偿回退」两个恢复语义按失败点位分开,不混用。㋑ MyBatis-Plus 把 BIGINT 指针写回 NULL 必须 LambdaUpdateWrapper 显式 SET(updateById 跳 null 字段),激活指针/在途指针这类「NULL 有语义」的列写法要单测钉住。

View File

@ -28,7 +28,7 @@ canonical: true
- [ ] **W-S1 · 切片一 M3 收尾(生成线头号)** → 工单 = [`M3 cutover plan`](../plans/2026-06-30-便宜档M3-生产cutover-plan.md) S0S6;**★2026-07-04 证据侧全收口:S0S4+S5b lab 达标(三品类收敛局 4/4)+A11+回滚演练+S6 五种拒绝负例真机双证+六门证据表(全在 plan §9);工程无余项,只余放行+S5a 种子内测=创始人(决策⑤)**。要点:S2 四腿全过(GP9 拒 1101001004 零派发 / 并发位满 1101001001 零成本 / Bean 功能实证 / 绿腿 80012 GREEN=attempts2/repairs1/¥2.13/D11=86/engineBundle 238KB);A11 计费 e2e 收官(93149→93150,cost 0.9871 落账,C5 考卷重生 modify 路首证);回滚演练零成本全循环(off 旁路/on 恢复/幂等终态保护/验签双向)。**执行中抓修四件全合入**(`d3ec652d``2a8d5e45`,jar 已轮换@2a8d5e45):stuck 签名富化+失败即打印、**Service 内建工具面关停**(旁路写白名单+混乱税,80011 ¥12.24 flail 对照 80012 零失败)、studio 透传三拒码(生产实证)、C6 族错配直指。教训入库:jar 世代升级=env 依赖面随升(NACOS_PASSWORD 双杀)、快照采集不可信须真源 infra/.env。历史进展(修复三单/A 波五单/C 波双绿)见 plan §9 与 git。
- [ ] **W-S2 · 切片二 follow-up** → 工单 = [`n=5 runbook`](../plans/2026-06-28-002-feat-tier2-n5收敛环-go-no-go-plan.md)「后续工单」节:F-1 ✅(`a3bc8365`);**★2026-07-04 F-2 干净复跑真执行(fable 窗,记录=runbook「F-2 执行记录」节)**:r1 3/5(两败 100% 集中设计超时降级路=退路树误判「分散」的台账盲区,工单 k 由此落)→修一 420s(`0a9504e4`)→r2 首局分层证据后奉创始人令中止、改**阈值批**(writer40→60/step60→100/墙钟 2700,`bfeaea2d`)→r3 3/5+揪出 **`max_iters` 双源默认值影蔽**(writer 实仍 40,三处写死默认短路 genconfig,修 `7c379266`)→**r4(writer 真 60)= 4/5 收敛 ✅,`decide_n5` 出口 KEEP_留观,fable 终判 go**(糖水店 17 步最快过门、全场自然 finish;唯一败=水果 presentation@步顶=留观件);**F-3 强档对照 ✅**(glm-5.2 独立台账:3/5 同率不同谱、收敛局 26-31 步自然 finish、单价 2-3×;**糖水店两档同败=题面/门侧工艺非模型天花板,R3_ceiling 不成立**;梯子结论=M3 保持中档默认、glm-5.2 记升档选项);**收敛环工单五路全落**(c 软停 finish 升压 `9a64b3a3`/f+i `b4646b9e`/h 工具面 `0f55a6f7`/j 透传 `91a7c5fc`/k infra_flags `bf00638c`);F-4 已裁定入质量 canonical §8。仍开:archetype.* 假旋钮清账(声明未接线,真值硬编码 run.py:797+archetypes.py:85——接线或删声明);残余观测=早收敛探测(门绿即催 finish)+水果留观微调。
- [ ] **W-CFG · 配置控制面** → 阶段一② SDD ✅ 已收口(2026-07-02 `526e9b3d`,决策包① 已拍消费);**阶段二(yudao⊕Nacos 配置中心)设计已成稿并拍 B**(版本账本整体落 yudao MySQL、prompt MEDIUMTEXT 出 Nacos、Nacos 承路 B 小参;基线 `d4471b02`),双评审已回并 11 条全修收口(2026-07-02);**★2026-07-04 已排期并开工:实施工单(六要素)= [阶段二设计档 §8](../agent-specs/2026-07-02-配置控制面阶段二-yudao配置中心-设计.md)**(范围=前置 namespace 统一 + 步骤 15;阶段三 UI/四观测另单)。**执行进度(fable 编排·opus 执行·逐波终审)**:✅ 前置 namespace 统一(`b2b4d389`,真 Nacos 取证默认空间 id=空串、"public" 只是显示名;SDK `if self.namespace` 机制坐实静默错空间根因)✅ **步骤 4 NacosHotConfig 接进 genconfig**(`344330a4`+入口接线 `d9def7d9`:取值链最前端热源层,Nacos>env>YAML>内置;19 单测锁四条回落路径;真 Nacos 演示 0.5s 热读不重启;两 Service 入口对称接工厂,旗 `TIER2_GENCONFIG_NACOS` 默认关=字节不变;tier2 126+cheap 339 全绿);✅ **步骤 1+2 治理子域**(`3ae34de1`:V29 两表——配置集含激活指针只由激活前移 / 版本行 MEDIUMTEXT 只增不删 + content_bytes 字节口径;建/改/定版/历史/取回/diff 能力面 @PreAuthorize;26 单测+真库 IT 2 绿〔演练库自建自删,门旗 `-Daigc.config.e2e=1`;fable 终审含 IT 亲跑与 0 控制字符核;契约面循 V2628 先例不动 db-schemas 镜像);✅ **步骤 3 双路激活编排**(`72973532`:sanity 前置拒发/路A PATCH `/agent`+`/session` 完整 chat_model_config/路B `area.key` 扁平 JSON publish/任一步失败补偿重推回上一激活版+指针不前移/账本提交失败留 **ACTIVATING(15,V30)** 由 recoverActivating 幂等向前收口/失败路矩阵 14 例;路B 真 e2e 跨语言闭环=Java publish→Python genconfig 读到 33.0→清理,生产 dataId 从未 publish;**真发现:Nacos publish→read 最终一致**,对账读须轮询窗;路A 真 Service PATCH 排部署窗口〔本机缺 redis/apscheduler 起不了 lab Service,桩+框架源码双验〕;fable 终审:域内 76+IT 3 亲跑绿、28 文件零越界、编排序 §3.6 逐条核);⏳ 步骤 5(漂移对账+一键重推)在跑=阶段二末步。**顺带揪出既存测试债两条(非本线引入,主仓可复现)**:①`AigcControlPlaneTest` 6 err(genTaskProducerProvider null);②`GameConfigSchemaValidatorTest` 的 fixture 源目录(gamedef 时代 spike 档)已删,干净构建必红、现靠 target/ 陈旧产物假绿——建议随 gamedef 化石清理一并处置(修 pom fixture 路径或删测试)。随排期待你拍(非阻塞,裁前按现范围实施):知识件入不入配置集 = 档 §7 末,已挂人办清单决策6;follow-up(真门窗口验证等)见 plan 尾注。
- [ ] **W-CFG · 配置控制面** → 阶段一② SDD ✅ 已收口(2026-07-02 `526e9b3d`,决策包① 已拍消费);**阶段二(yudao⊕Nacos 配置中心)设计已成稿并拍 B**(版本账本整体落 yudao MySQL、prompt MEDIUMTEXT 出 Nacos、Nacos 承路 B 小参;基线 `d4471b02`),双评审已回并 11 条全修收口(2026-07-02);**★2026-07-04 已排期并开工:实施工单(六要素)= [阶段二设计档 §8](../agent-specs/2026-07-02-配置控制面阶段二-yudao配置中心-设计.md)**(范围=前置 namespace 统一 + 步骤 15;阶段三 UI/四观测另单)。**执行进度(fable 编排·opus 执行·逐波终审)**:✅ 前置 namespace 统一(`b2b4d389`,真 Nacos 取证默认空间 id=空串、"public" 只是显示名;SDK `if self.namespace` 机制坐实静默错空间根因)✅ **步骤 4 NacosHotConfig 接进 genconfig**(`344330a4`+入口接线 `d9def7d9`:取值链最前端热源层,Nacos>env>YAML>内置;19 单测锁四条回落路径;真 Nacos 演示 0.5s 热读不重启;两 Service 入口对称接工厂,旗 `TIER2_GENCONFIG_NACOS` 默认关=字节不变;tier2 126+cheap 339 全绿);✅ **步骤 1+2 治理子域**(`3ae34de1`:V29 两表——配置集含激活指针只由激活前移 / 版本行 MEDIUMTEXT 只增不删 + content_bytes 字节口径;建/改/定版/历史/取回/diff 能力面 @PreAuthorize;26 单测+真库 IT 2 绿〔演练库自建自删,门旗 `-Daigc.config.e2e=1`;fable 终审含 IT 亲跑与 0 控制字符核;契约面循 V2628 先例不动 db-schemas 镜像);✅ **步骤 3 双路激活编排**(`72973532`:sanity 前置拒发/路A PATCH `/agent`+`/session` 完整 chat_model_config/路B `area.key` 扁平 JSON publish/任一步失败补偿重推回上一激活版+指针不前移/账本提交失败留 **ACTIVATING(15,V30)** 由 recoverActivating 幂等向前收口/失败路矩阵 14 例;路B 真 e2e 跨语言闭环=Java publish→Python genconfig 读到 33.0→清理,生产 dataId 从未 publish;**真发现:Nacos publish→read 最终一致**,对账读须轮询窗;路A 真 Service PATCH 排部署窗口〔本机缺 redis/apscheduler 起不了 lab Service,桩+框架源码双验〕;fable 终审:域内 76+IT 3 亲跑绿、28 文件零越界、编排序 §3.6 逐条核);**步骤 5 漂移对账+一键重推**(`a8dd5e50`:三态严判 ACTIVATING_SKIPPED/UNREACHABLE 不误报、8s 容忍窗吸收 Nacos 最终一致、重推复用 dispatch 幂等指针不动、不加表;真 e2e 篡改→检出→重推→收敛→清理全链,fable 带凭据亲跑绿)。**★D 波对账读揪出 C 波潜伏雷:路A PATCH `/session` 单数 vs 框架真路由 `/sessions` 复数(对真 Service 必 404),fable 双证后亲修(`22444fd5`,43 测复跑绿)——读写两路分单实现的口径互证价值实录,蒸馏 tech-decisions §14**。**收口涟漪已回写**(`c4e8df15`:上级档 §7 表行14 十三处+阶段二档 status=已实施+运行时 SoT 改真)。**至此阶段二五步全闭环**;剩=**部署窗口批**(mini-desktop:路A 对真 Service PATCH e2e + 启用旗 `TIER2_GENCONFIG_NACOS` 灰度先门阈值后预算 + 生产 dataId 首灌)、阶段三 UI / 阶段四观测(env 覆盖漂移观测挂此,worker 暴露 effective 端点)各自另单。**顺带揪出既存测试债两条(非本线引入,主仓可复现)**:①`AigcControlPlaneTest` 6 err(genTaskProducerProvider null);②`GameConfigSchemaValidatorTest` 的 fixture 源目录(gamedef 时代 spike 档)已删,干净构建必红、现靠 target/ 陈旧产物假绿——建议随 gamedef 化石清理一并处置(修 pom fixture 路径或删测试)。随排期待你拍(非阻塞,裁前按现范围实施):知识件入不入配置集 = 档 §7 末,已挂人办清单决策6;follow-up(真门窗口验证等)见 plan 尾注。
- [x] **W-PCI · prompt 四道闸 CI 接线 ✅**(2026-07-04 当日排单当日收口,merge `ec95faaf`)→ 工单 = [`四道闸CI接线工单`](../plans/2026-07-04-prompt治理-四道闸CI接线-工单-plan.md)。交付:**步骤 0 消费面 17 条三态对账**(一手代码证据:live=01-safety+tier2 八条+cheap-system;gamedef 四策划模板+generic-coder STUB=化石,SUPPORTED_TEMPLATE_IDS 已下架坐实;回写 registry 头部总表)+ **段 A 离线版本闸**(`check_version_bump.py` 挂 pre-commit 门5 + contract-gates,改正文不升版即拦)+ **段 B 真模型四闸**(`eval_gate.py` 薄版重建,只焊 live、无金标 fail-closed、cap ¥5 硬编码;`prompt-eval.yml` workflow_dispatch)+ 负向演示三连(砍坏 safety 判定被闸 3 回归 diff 逮住)+ SoT §2/§4/§8 现状改真。fable 终审:5 hash 全真+diff 亲读+段 A 负向亲演(拦→恢复干净)+段 B 亲跑四闸全绿(¥0.0071)。**余账**:live 但无金标的 cheap-system/tier2 八条按 fail-closed 挂账,金标集补齐随品类线走;SoT §3「四策划模板已接 live」句与对账结论相抵 → 归 W-DSGN。
- [x] **W-A11 · 切片三收尾 ✅**(2026-07-04 计费真后端 e2e 收官=决策包④ 兑现:/modify/plan 判意图 behavior/regenerate-module/needsConfirm=true → /modify 执行 → 新版 93150、task 201 modify_mode/base_version_id/idempotency_key/D11=90/trace.cost 0.9871 全断言绿;证据=cutover plan §9「A11」节)。
- [ ] **W-REAL · 16 周真实化批次**(**R1/R2/R3/R4/R6 ✅ 2026-07-02 全部完成并 merge**;剩 R5 受 feed 内容解锁):
@ -39,7 +39,7 @@ canonical: true
- **R5 链路③⑤真机走查闭口**——解锁 = feed 有内容(放量后,或参考件经主链入池);按 `ui-walkthrough-cdp` 走 mini-desktop。
- ✅ **R6 D1 次留旁路聚合**(`617abbb5`)——质量 canonical §5 口径(玩家×游戏×日去重 / 平台时区 / anonId);V27 旁路两表挂 R1 消费链 best-effort,quality_score 主链零风险;68 单测 + 真 MySQL 聚合 IT 绿。
- [x] **W-MAT · 人办材料包起草 ✅**(2026-07-02 `960da7c8`)——合规四件(大模型登记 / 算法备案 / 隐私+用户协议 / 内容合规)起草到「只差律所定稿 + 你提交」,落 `docs/ip/` 合规-01至04 四件,附待律所问题合计 28 项;[A1闸门看板](./A1闸门看板.md) #7-#10 与人办清单已同步。
- [ ] **W-DSGN · 生成线 SoT 欠账小工单**——A11 设计面补节、插件数核正(图说 §269「十一」vs 实际 12)、plan① 顶图 SVG redraw 纵切版(plan① §11 TODO ①⑤⑥);**2026-07-03 扩容**:并入[一致性对账 report](../agent-specs/2026-07-03-生成引擎-实现与图说一致性对账-report.md) §5 八条 doc-sync(配置反转回同 / 收敛环 conditional 回同 / §4.1 便宜档 Python 化 / 续修原语与预算两段式回同 / A2.5 自洽 / 补引质量 canonical 等)+ 裁决 Δ6 叙事修正、Δ9① 协议表注记;验收 = 图说 SoT 更新 + docs-gate 绿。**2026-07-03 文本批 ✅ 落库**(E14 merge `10de6aab`:对账 §5 八条全回同+Δ6 接缝频率序+Δ9① 注记+C5/C6 入契约表+studio.py 头注释;A11 补节经写前重核发现图说 §六已有完整章节、免重复补=工单书第 10 条与事实不符的如实纠正;puzzle「死链」核实为已修、作战单 TODO 陈旧;治理档口径已由 B8 随真挂载改真;预算段 A1 落地后已再翻「已落」`3495470d`)。**剩=SVG 批(尾波)**:plan① 顶图纵切 redraw + quality-01/02 与 R3 门面图眼验 + 重推演档门面图(按 atlas)。**2026-07-04 再扩容(架构树对账新发现四条陈旧指针)**:①prompt治理 SoT——evalflow 已删改指 git 存档(`6d2f8789^`)、「GitHub Actions」→Gitea Actions 口径;②prompt治理 §7 T-AGC-09 指涉「GameConfig 模板路」= 已废 gamedef 线,历史化或改锚现行产物自测;③验收门 §6.4 SAA 承接项(F3 成本折 RMB)历史化——现行 cheap/tier2 线 trace.cost 已落 ¥ 口径、SAA 已降远期;④registry 消费面三态标注回写归 W-PCI 步骤 0 产出、此处不双写(✅ 已随 `ec95faaf` 落);⑤(2026-07-04 W-PCI 对账新揪)prompt治理 SoT §3「已接 live 后端生成路径的是 01-safety 与 04-config 的四个策划模板」句与对账结论相抵——四策划模板实为化石(SUPPORTED_TEMPLATE_IDS 已下架),随本批改真
- [ ] **W-DSGN · 生成线 SoT 欠账小工单**——A11 设计面补节、插件数核正(图说 §269「十一」vs 实际 12)、plan① 顶图 SVG redraw 纵切版(plan① §11 TODO ①⑤⑥);**2026-07-03 扩容**:并入[一致性对账 report](../agent-specs/2026-07-03-生成引擎-实现与图说一致性对账-report.md) §5 八条 doc-sync(配置反转回同 / 收敛环 conditional 回同 / §4.1 便宜档 Python 化 / 续修原语与预算两段式回同 / A2.5 自洽 / 补引质量 canonical 等)+ 裁决 Δ6 叙事修正、Δ9① 协议表注记;验收 = 图说 SoT 更新 + docs-gate 绿。**2026-07-03 文本批 ✅ 落库**(E14 merge `10de6aab`:对账 §5 八条全回同+Δ6 接缝频率序+Δ9① 注记+C5/C6 入契约表+studio.py 头注释;A11 补节经写前重核发现图说 §六已有完整章节、免重复补=工单书第 10 条与事实不符的如实纠正;puzzle「死链」核实为已修、作战单 TODO 陈旧;治理档口径已由 B8 随真挂载改真;预算段 A1 落地后已再翻「已落」`3495470d`)。**剩=SVG 批(尾波)**:plan① 顶图纵切 redraw + quality-01/02 与 R3 门面图眼验 + 重推演档门面图(按 atlas)。**✅ 2026-07-04 文本债批全清(`c4e8df15`,随阶段二收口涟漪同 commit)**:①evalflow 指 git 存档+Gitea 口径(核实全档本已 Gitea,仅补存档指针)②T-AGC-09 随 gamedef 历史化(意图保留、落点待现行产物形态重定义)③验收门 SAA 承接项冻结交代 ⑤§3 消费面三态改真(live=safety+cheap-system+tier2 八条;四策划模板=化石已下架)——④已随 W-PCI 先落。**W-DSGN 至此只剩 SVG 尾波**(plan① 顶图纵切 redraw + quality-01/02 与 R3 门面图眼验 + 重推演档门面图 + 阶段二档 4 图,按 atlas)
- [~] **W-ARCH · 架构裁决落地批**(2026-07-03 一次性裁决,裁决记录 = [重推演档](../agent-specs/2026-07-03-生成引擎agentic架构-第一性重推演与差量-设计.md) §5;双评审已过)——**①✅ C5/C6 契约落 `contracts/play-loop/`**(schema+零依赖校验器+正负样本 7过/8拦,fable 终审过;现网 spec 一校仅差 derivedFrom 绑定=留给三单的接线口)**④✅ 门金标判例库落 `contracts/gate-fixtures/`**(11 判例+3 待补产物 manifest 登记、判据 byte-clean、负向演示留证,fable 终审过;fx4c 复现产物固化入仓后升判例)**⑤✅ engineering-conventions §5.2「无校验器不算契约」DoD**(docs-gate 绿,fable 终审过)——三件已落库(2026-07-04 随视野收敛 commit 入仓);**②✅ 预算两段式代码统一**(2026-07-03 A1 批 merge `b78a8dfa`:软停线越线只许收尾·on_acting 拦生成面工具+硬地板 ×1.5 fail-closed;CLI/Service 经 `cheap_budget.build_cheap_breaker` 同源工厂,真 M3 实证软停触发与硬地板 fail-closed;图说三处已回同)**判例库 CI 挂载 ✅ 含扩容两件**(2026-07-03 B8 merge `685a21a7`:五门条件触发 pre-commit `.githooks/` + Gitea Actions contract-gates.yml;ⓐ rubric↔skill 双写对账门=`.agents/tools/rubric-sync-gate.py`(trpg skill §10 四条装饰性措辞放行并留收敛建议)ⓑ check_registry 真挂载+治理档口径改真;负向演示×4 全红转绿)。剩:③血缘三件随放量决策包⑤同批启动、放量后首周内落地(Δ8)⑥统一有界重写原语,排 A11 计费 e2e 后(Δ2)⑦升档梯子 A/B spike,排 F-2 后(Δ3)。
- [x] **W-GENRE · 品类资产四件套批产(×4 品类)✅**(2026-07-02 四单全 merge:剧情 `e2d3a0a0` / TRPG `8301f650` / 非遗 `496f8b6d` / 解谜 `db4aadd7`;品类路由并集 cheap-system v1.4.0=条目 59)——各品类②③独立过九门、金标复验/相似度/幻觉门全过;**如实记录**:解谜小批 4/7(三失败=AI 大面重写引入运行时 bug、九门正确拦截,根因回写 skill §9;spike 路无续修环是结构缺口、生产路 RepairMiddleware 覆盖)。**follow-up 三单全部 ✅(2026-07-03)**:①回落 prompt 归一(`8512d438`,test_roles 12/12 基线红清零)②rubric 挂点归一(fixture 单源、GENRE_CHECKLISTS 退役、非遗接线键=heritage、三品类真 LLM 金标复验过;剧情 rubric 缺正例锚待 fewshot-story 后补)③check 门第 6 节未定义标识符+import 断链扫描(esbuild 现货、8 正样本 0 误报、4 例实证失败模式全拦)。待你拍(非阻塞):通用 rubric「情感锚/放置回归」对非遗/解谜的品类适配(质量 SoT §7 机制)。

File diff suppressed because one or more lines are too long