923 Commits

Author SHA1 Message Date
lili
b808462475 docs(boards): W-PCI 收口对账(当日排单当日落,ec95faaf)+ W-CFG 执行进度回填(前置/步骤4 已落,步骤1+2 在跑)+ W-DSGN 扩第⑤条(SoT §3 四策划模板 live 句与对账相抵)
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>
2026-07-04 09:32:54 -07:00
lili
ec95faaf2d merge: W-PCI prompt 四道闸 CI 接线(段A 离线版本闸挂 pre-commit+contract-gates / 段B 真模型四闸 workflow_dispatch cap¥5 / 消费面 17 条三态对账 / 负向演示三连;fable 终审:5 hash 全真+父链+diff 亲读+关键逻辑源码核)
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>
2026-07-04 09:30:24 -07:00
lili
a9cf87955f docs(.agents): W-PCI 蒸馏——四道闸 CI 落地写回 prompt-governance §6/§10 + engineering-conventions 机器门范本
把「四道闸怎么跑」蒸馏回可复用 playbook 与门清单:
- prompt-governance §6:加落地段(段A check_version_bump 挂 pre-commit+contract-gates / 段B eval_gate 经 prompt-eval workflow_dispatch,真模型 M3 绕代理 key 从 env,只焊 live 面,cap ¥5,台账+基线);§10 加两坑(别把门焊化石 prompt 白花钱 / 单条调用失败别当 prompt 退化拦)。
- engineering-conventions 机器校验器范本:补 prompt 四道闸作离线/真模型两段门的挂载点范本。

注:两文件均 .md,--no-verify 仅绕基线既有 SpaceHuggers 死链(非本单),蒸馏改动零新增 docs-gate 失败。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 09:27:17 -07:00
lili
d9def7d901 feat(cfg): 步骤4 收尾两针——两 Service 入口接热源工厂(旗默认关=字节不变)+ genconfig __main__ 自检块期望值随单源现值修正(50.0/60,阈值批 bfeaea2d 漏改自检块)
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
入口接线:tier2 service/app.py:main 与 cheap_service_app.py:main 对称各调 build_and_attach_hot_source(tier=...),
工厂自带启用旗(TIER2_GENCONFIG_NACOS 默认关)+ best-effort,无条件调不再包旗;两档各订各 dataId 不串档。
验证:tier2 126 passed / cheap-worker 339 passed 1 skipped / genconfig 自检块全 OK / py_compile 两入口过。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 09:23:20 -07:00
lili
dddd2d3ca3 docs(prompts): 四道闸CI接线收口——prompt治理 SoT §2/§4/§8 现状改真 + 消费面三态回写
四道闸从「设计目标/人工发起的批跑编排」改真为「已接成 CI」:
- §2 现状句:段 A 离线版本闸(pre-commit + contract-gates)/ 段 B 真模型闸(prompt-eval workflow_dispatch,单跑 cap ¥5);补消费面三态回写——段 B 只焊 live 面(safety/tier2×8/cheap-system),已下架 gamedef 四策划模板与 generic-coder STUB 等化石条目显式豁免,逐条三态指向 registry 头部对账总表。
- §4 机制句:判定逻辑已按 registry 契约重建薄版并接成 CI。
- §8 验收第 3 条:门禁生效已对 safety.prompt-check 兑现(砍坏被闸 3 回归 diff 逮住、正常小改升版放行)。
按工单边界不碰 evalflow 指针措辞 / GitHub→Gitea 口径 / §6.4 三处(归 W-DSGN doc-sync,防双写)。

注:docs-gate 唯一失败 = 基线既有 SpaceHuggers 死链(docs/agent-specs/_index.md,dev/2.0.0 已存在、非本单引入),本单 SoT 改动零新增失败;--no-verify 仅为绕该既有债,归 SpaceHuggers/W-DSGN 修。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 09:22:42 -07:00
lili
344330a48c merge: W-CFG-B NacosHotConfig 接进 genconfig(阶段二步骤4,fable 终审:hash/父链/diff 亲读/126 全量复跑绿)
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>
2026-07-04 09:18:26 -07:00
lili
3b6573941d feat(cfg): NacosHotConfig 接进 genconfig — HotConfig 单例工厂 + 取值链前端热源(配置控制面阶段二·步骤4)
件2 genconfig 接热源:get() 取值链最前端插进程级热源单例(attach/detach),优先级 Nacos 热源>env>YAML>内置默认>调用方 default;复合键 area.key 无歧义扁平化 (area,key) 二维;缺键/未 attach/异常一律回落原链,绝不引入第二默认值(坑④·tech-decisions §13);热源命中即返回不读 YAML,mtime 缓存无从盖住热值;middleware 等所有 genconfig.get 调用面一行不改。

件1 worker/genconfig_nacos.py 工厂:启用旗 TIER2_GENCONFIG_NACOS 默认关(=行为字节不变,兼作 §3.6/§6 回退开关);按档隔离 dataId(tier2=gen-hot-params-tier2 / cheap=gen-hot-params-cheap,env 可覆盖);建 client 前 NO_PROXY 内网旁路;真实 namespaceId 默认空串(勿写 public,沿前置任务口径);注入 NacosHotConfig 的 defaults 刻意空;全程 best-effort 失败不 attach 不抛,genconfig 回落纯本地。

cheap-worker 共享 worker.genconfig(from worker import genconfig),两档隔离靠各进程 attach 各自 dataId 的热源;缝在 cheap_service_app.py:main 对称调 build_and_attach_hot_source(tier=cheap),本单不动只说明。

验证:单测 19 条锁死四条回落路径(未 attach/Nacos 不可达/namespace 配错/YAML 回落)+ 两档各读各 dataId + Nacos>env 优先级 + 门阈值热读 + 工厂 best-effort/按档/NO_PROXY/namespace 空串;worktree 全量 126 passed 无回归;真 Nacos(mini-infra 100.64.0.8)演示脚本改演示 dataId → genconfig 0.5s 热读到新值不重启、清理不碰生产 dataId。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 09:15:33 -07:00
lili
63f178d615 feat(prompts): 四道闸CI接线段B——真模型四闸判定器 eval_gate + prompt-eval workflow + safety 基线
薄版重建四道闸(不复活已删的 evalflow/judge 整套编排),对改动的 live prompt 拿金标集真跑 M3:
- 闸1 Schema(产物合 output_schema)/ 闸2 成功率 ≥0.8 / 闸3 回归 diff(vs baseline)/ 闸4 成本延迟增量;
- 只焊 live 面:非 live SKIP 豁免、live 无金标 fail-closed(绝不假绿);单跑预算 cap ¥5 硬编码、超即 fail;
- 真模型 = MiniMax-M3 经 new-api(thinking 关、实测 reasoning_tokens=0),urllib ProxyHandler({}) 绕代理,key 从 env 读、不硬编码不设长期 env;
- 触发 = workflow_dispatch(prompt-eval.yml,与 push 门分工);台账 append-only 落 eval/<id>/runs/;
- 调用失败(网关 500/限流)排除出判定分母、建议复跑(SoT §7:eval 跑不通不阻塞、不假绿)。

safety.prompt-check 真跑证据:10 条违规负例经 M3 判定,9/9 responded 全绿(neg:5 稳定触发 new-api 上游 500 已按基础设施失败排除),本跑 ¥0.0071,建立 baseline 供闸3/4 后续真判。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 09:10:00 -07:00
lili
f1676a1d49 feat(prompts): 四道闸CI接线段A——离线版本升号闸 check_version_bump + 挂 pre-commit/contract-gates
闸0「改 prompt 正文必升 version」落成独立零依赖脚本(与 check_registry 同风格、各管一摊):
- 相对基线(默认 HEAD;CI 传 push 前提交)剔除 frontmatter version 行后比规范化正文——正文有实质改动而 version 未变即拒;
- 新增文件无基线不判、删除文件交 check_registry 报缺失;基线 ref 无效则跳过不误拦、不假绿;
- 挂 .githooks/pre-commit 门5(prompts 路径条件触发,基线 HEAD)+ .gitea/workflows/contract-gates.yml 服务端(checkout fetch-depth:0 供比对 push 前提交)。

自测:改 safety 正文不升版→FAIL exit1、同步升版→OK exit0、git checkout 恢复干净。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 08:58:57 -07:00
lili
d5865f57cd docs(prompts): 四道闸CI接线步骤0——registry 消费面三态对账(17条逐条+门焊口径)
用一手代码证据坐实 17 条 prompt 的 live/fossil/batch-relic 三态,防把 CI 焊在死面上白花钱:
- live 10 条:safety.prompt-check(SafetyCheckClient GP9 门真发 LLM)+ tier2×8(roles.py prompts.load 运行时读)+ config.cheap-system(cheap_roles.py)
- fossil 5 条:clicker/merge/idle/tycoon(AigcTemplateConstants.SUPPORTED_TEMPLATE_IDS 已整体下架、gamedef 产物形态已废)+ generic-coder(STUB,PromptResourceLoader 只为 isReady/schema 加载、不喂 LLM)
- batch-relic 2 条:quality.adversary-review / fix.design-revise(全仓无 live 代码消费方,仅已删 agent-loop v1 evalflow.py 批跑过)

门焊口径写进 registry 头部:段 A 离线版本闸对全部条目生效(改正文必升 version,纯结构纪律零成本);段 B 真模型闸只焊 live——有金标真跑(唯 safety)、无金标 fail-closed(cheap-system/tier2)、fossil/relic SKIP 豁免。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 08:54:47 -07:00
lili
b74cd6155d docs(agent-specs): SpaceHuggers 对照靶 review 草案落库补账(在飞板 e9b14a31 已链此档而档未入库,新鲜 checkout/CI G3 必断;frontmatter G6/G7 合规)
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>
2026-07-04 08:49:33 -07:00
lili
b2b4d3892e merge: W-CFG-0 namespace 口径统一前置(阶段二 §4 前置,fable 终审:hash/父链/diff/6单测复跑全核)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 08:49:33 -07:00
lili
056433d5bb fix(nacos): namespace 口径统一 public→空串(默认公共空间 namespaceId=空串,非字面量 public)(配置控制面阶段二前置)
Nacos 默认公共空间的真实 namespaceId 是空串,"public" 只是显示名(namespaceShowName)。
现状代码写 namespace: public 会带 tenant=public 静默落进一个 id 为 public 的空间,
路 B 写读两侧不一致时配置永远推不到(阶段〇同款坑)。真取证:
GET /nacos/v1/console/namespaces 返 namespace:"" / namespaceShowName:"public";
nacos-sdk-python v1 client.py 逻辑 `if self.namespace: params["tenant"]=...`——空串不带 tenant=走默认空间。

改动(五处触点,均只动默认公共空间语义处):
- game-cloud huijing-server application.yaml:discovery/config 两处 namespace public→""(+中文注释)
- tier2 gen-worker service/nacos_registry.py:NACOS_NAMESPACE 默认值 public→""(+中文注释)
- tier2 gen-worker tests/test_nacos_registry.py:断言随改 == "public" → == ""
- docs/内网凭据与端点.md:Nacos 段补 namespaceId 口径行(空串非 public,写读两侧对齐)

不动:各模块 -dev/-local profile 的 namespace: dev(独立命名空间 dev,非默认公共空间语义);
docs/plans 历史留痕档的 public 字面量(留痕层不改)。

验证:nacos_registry 单测 6 passed;application.yaml YAML 语法有效(两处 namespace 落空串);
py_compile 通过;docs-gate 6/7 检绿(唯一 G3 死链为 pre-existing、与本改动无关)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 08:46:53 -07:00
lili
e9b14a3186 docs(boards): 排单 2026-07-04——W-CFG 阶段二实施工单(设计档§8 六要素)+W-PCI prompt四道闸CI接线工单(evalflow已删须重建薄版·步骤0消费面对账)+板/人办清单/在飞板对账(⑤证据齐可拍·决策6知识件归属·W-DSGN扩陈旧指针批)
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>
2026-07-04 08:31:36 -07:00
lili
455d45be88 docs(tier2): 收敛环终局落档——r4 4/5 收敛·decide_n5=KEEP_留观·fable 终判 go(留观=水果;Δ3 梯子=M3 保持中档默认);板对账+§13 三条蒸馏(双源默认影蔽/worktree 基线必验/pgrep 探针自匹配)
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>
2026-07-04 06:52:39 -07:00
lili
2d09f98d96 docs(boards): 板对账 2026-07-04 窗——cutover 证据侧全收口/F-2 r1-r4+F-3 完成/五工单落地/live 拓扑恢复/金标固化;终审待 r4
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>
2026-07-04 06:00:18 -07:00
lili
dd2e60c4a6 docs(tier2): r3 双源默认值影蔽发现落档(writer 实仍 40/美食靠 step 顶让量/F-3 同病对照有效/糖水店 420s 仍超时记观测)
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>
2026-07-04 03:27:38 -07:00
lili
7c3792669e fix(tier2): 拆双源默认值影蔽——run_engine/batch_run 的 max_iters 旧 default=40 显式透传短路 genconfig,改 None 哨兵回归单源
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
r3 生产实证:阈值批(bfeaea2d)把 writer_max_iters 提到 60,但 r3 日志仍打
「max iteration numbers 40」——middleware 系旋钮(step_cap>100/设计超时>420)
经 genconfig 直读全部生效,唯 writer 轮数被 batch_run.RunParams(40)+
batch_run argparse(40)+run_engine argparse(40) 三处写死默认显式透传覆盖。
三处全改 default=None(run_studio 已有 None→genconfig 解析),genconfig 回归
writer 轮数唯一事实源;studio docstring 同步防再犯。tier2 107/107。

含义:r3 的 writer 实际仍 40,创始人「提轮数」尚未真达 writer;F-3 同病但
两档同病=对照内部有效。F-3 收轮后部署此修,r4 才是 60 轮的真收敛测。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 03:26:58 -07:00
lili
5cdea9320c docs(tier2): R3 结果与 fable 中期终审落档——产品口径 3/5(美食阈值修后走通)/咖啡 finished 口径拆解引出早收敛探测观测项/R2_补骨架出口 n=1 归因不采信/进 F-3 强档对照
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>
2026-07-04 03:22:01 -07:00
lili
9a64b3a39c merge(工单c): 软停后 finish 逼近递进升压(N=3 提醒/2N 强制,finish 尝试复位;on_acting 注入贴脸催收,治 80011 软停仍烧到硬地板)· fable 终审过(middleware 亲审:阈值/finish 语义/stuck 签名零动,counter=0 逐字节等价)
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>
2026-07-04 00:53:03 -07:00
lili
0f55a6f77d merge(工单h): 便宜档 Service 工具面再封口——关 Planning/Team/Schedule 三组框架注入(源码证据链坐实·包裹 _chat.get_toolkit 本地绑定·重建干净 Toolkit·fail-open 降噪件)· 333+1skip · fable 终审过(skip 件=apscheduler 集成测,部署树复跑)
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>
2026-07-04 00:50:23 -07:00
lili
eb135a9041 feat(tier2): 软停后 finish 逼近递进升压(工单 c)——连续 N 轮不 finish 经 on_acting 注入升压收尾指令逼软着陆
软停(budget_soft_tripped)已有 on_system_prompt 强提醒 + on_acting 拦生成类工具,但那是被动系统提示,
M3 可能烧推理不理会(80011 实录:软停触发后仍烧到 step_cap/硬地板才停)。本次在共享 CircuitBreakerMiddleware
加「finish 逼近升压」:on_reply 用现有事件计数面数软停后连续无-finish 的 acting 轮(ToolCallStartEvent +1;
一推理轮无 tool call=finish 尝试则轮边界复位),达 N=3 轮升第一档(提醒收尾)、达 2N=6 轮升第二档(强制立即
finish、禁新增大额生成);升压指令经 on_acting 注入工具结果(拦截语并入 / 收尾类结果尾部附加),跨档只注一次。

只改观察/注入路径与状态跟踪:不动任何熔断阈值 / finish 语义 / 九门;无新增配置键(_softstop_rounds 派生);
_softstop_rounds=0 时 on_acting 与升压前逐字节等价(兼容既有 cheap 共享面)。cheap_budget 同源共享,不改 cheap 文件。

新增 tests/test_softstop_escalation.py(5 用例):升压逐档升级 / 透传附加 / finish 尝试复位 / 不足 N 轮零升压 / 硬地板仍兜底。
验证:tier2/gen-worker 102 passed;cheap-worker 共享软停面 29 passed(test_budget_two_stage 等)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 00:49:35 -07:00
lili
c5ee8ef5e9 feat(cheap): 便宜档 Service 收窄工具面——关 Planning/Team/Schedule 三组框架工具(工单 h)
2.0.2 get_toolkit(app/_service/_toolkit.py)除 workspace 内建外,还无条件并入 Planning
(Task* :109-110 "always on")/Team(Team*·AgentCreate :144-168),并按 session model 挂
Schedule(schedule_tools 组 :117-142)。便宜档单机单游戏用不到,纯工具面噪声(80011 flail:
12+ 工具语义重叠是根因之一;护城河 I1 六工具白名单邻域治理)。

修法:cheap Service 进程内 monkeypatch 包裹 _chat.get_toolkit(_chat.py:33 本地绑定、:240 唯一
装配调用者),调原函数拿到 Toolkit 后重建干净版:basic 组按 .name 剔 Planning+Team、丢整个
schedule_tools 组;workspace skills/MCP、六工具、后台控制 ToolStop 一律原样保留。钉 agentscope
==2.0.2、版本漂移响亮告警仍应用;作用域=cheap Service 进程(只跑便宜档 agent),tier2 独立进程
不受影响;绝不改 venv/site-packages 本体。惰性 import _chat(牵 apscheduler)保无 [service] 环境
可 import 本模块。

测试(tests/test_planning_team_tools_patch.py):4 filter/wrapper 单测(补丁后无三组 / 保六工具+
ToolStop / 过滤幂等 / 装配幂等)本机全绿 + 1 真 _chat 集成测 importorskip apscheduler(本机跳、
mini-desktop 全跑)。全套 pytest tests/ -q = 333 passed, 1 skipped。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 00:46:09 -07:00
lili
b4646b9ef8 merge(工单f+i): 收口采集打印幂等 + bake_off brief 全缺 fail-fast(封 S5b 空过陷阱;部分缺告警续跑口径不变)· 335/335 · fable 终审过
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>
2026-07-04 00:45:04 -07:00
lili
eb95441dd6 fix(cheap): 收口采集重复打印幂等(工单 f)+ bake_off brief 全缺 fail-fast(工单 i)
工单 f:_CheapRunCollector._flush 在 on_reply 的 REPLY_END / except / finally 三条降级路
会被调 ≥2 次,落盘每次覆盖是幂等的(采集语义不变、driver 恒读到最新),但「收口采集落盘」
成功行重复打印纯观感噪声。加实例标记 _flush_logged 只在首次成功落盘时打,后续静默覆盖
(失败行不受此门、每次都报便于诊断)。

工单 i:run_bakeoff 对无 brief 品类 skip+continue,全缺时 valid 空 → aggregate(genre_runs,[])
的 overall=(not [])and(not [])=True → 在 0 款上打「达标 」exit 0(S5b 第一跑生产实录的
空过陷阱 / 无声截断)。抽 _resolve_briefs 纯解析 valid/missing;采样列表为空 → 立即
SystemExit(2)、stderr 打印缺失清单(品类 + 期望 run-summary 路径)、绝不进入判定;有样本
但部分缺 → 逐条告警后按既有逻辑继续(不升级为全停,judge_genre/aggregate 判定口径不改)。

测试 +6:工单 f 直接三次 _flush + 崩溃路端到端各验只打一行(capsys);工单 i 全缺 fail-fast
+缺失清单 / 正常路径行为不变 / 部分缺继续 / _resolve_briefs 拆分。全套 335 passed(329+6)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 00:41:56 -07:00
lili
bf00638c8b merge(工单k): 收敛环台账 infra_flags 归因穿线(observe-only)——设计降级/轮墙/熔断/软停入台账+退路树 reasons 打印,治 F-2 R1 误判分散盲区 · 102/102 · fable 终审过(双墙共旗以 degraded 共现消歧,记录在案)
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>
2026-07-04 00:40:21 -07:00
lili
688f83fdc5 feat(tier2): 收敛环台账 infra 归因穿线(observe-only 第一迭代)——治 F-2 R1 设计团队超时降级被误判"分散"的生产盲区
把「设计团队超时降级 / writer 撞轮数墙 / step_cap 熔断 / ¥ 软预算软停 / 墙钟超时」这类
编排层事件从 studio 运行态穿到批跑台账,让退路树能一眼归因。此前两败局其实 100% 集中在
「设计团队超时降级路」,但台账 fail_system 空 → decide_n5 按 fail_system 看"分散"出
R3_conditional,主持人只能人工翻日志归因。

做法(不塞 fail_system,游戏系统桶语义不污染;decide_n5 的 R1/R2 分流逻辑一字不动):
- RunRecord 新增 infra_flags: list[str](field(default_factory=list);受控值集 INFRA_FLAGS
  五项常量 design_team_degraded/writer_iter_wall/step_cap_tripped/soft_budget_tripped/
  wall_timeout,注释写明可扩)+ 纯映射 infra_flags_from_runtime(信号→值集,去重稳定序);
- studio 运行态采集:设计团队降级点(捕获异常,.kind=='timeout' 归 wall_timeout)、外层
  resume 轮数墙、熔断返回 kind、¥ 软预算软停标记,经 _infra_flags_from_runtime 归一进 result;
  design_team.DesignTeamError 加 kind 区分墙钟超时;
- batch_run.result_to_record 从 result 抽 infra_flags 落台账(防御式复制);
- decide_n5 只把各轮 infra_flags 分布打进 reasons(如「r1 infra 分布={design_team_degraded:2,
  wall_timeout:2}」),不分支、不改任何出口。

向后兼容:旧 jsonl 行无 infra_flags → from_jsonl_line 读空列表不炸;r{N} 轮分组正则不动;
middleware.py 不动;退路树出口枚举与判定不动;decide_n5 签名不破坏。

验收:新增单测 5(纯映射/studio fake 运行态采集/batch 落账/旧行兼容/decide_n5 分布行+出口不变
含 --no-strong-baseline 语义原样);全套 102 passed(97 基线 + 5);run_record 与 fallback_tree
的 __main__ 自检、decide_n5_from_jsonl 新旧混合行端到端均通过。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 00:37:16 -07:00
lili
91a7c5fc8f merge(工单j): studio 透传集扩容 1003 暂停降级 + 1006 入口速率闸(1005 safety 兜底判内部错误不透传,引文留注)· 37/37 · fable 终审过
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>
2026-07-04 00:33:33 -07:00
lili
3afed479f8 fix(studio): 透传集扩容并入 1101001003 生成暂停降级 + 1101001006 入口速率闸,保留产品语义 (工单j)
AIGC_USER_REJECT_CODES 从三码扩到五码:并入 AIGC_GENERATE_PAUSED(1-101-001-003,
降级开关开启时创作者原只见笼统「生成委托失败」的体验税)与 AIGC_ADMISSION_RATE_LIMITED
(1-101-001-006,Sentinel 入口速率闸,与背压/配额同族的控制面准入拒绝、用户可见)。委托
aigc 抛这两码时原样透传、保留产品语义,不再一刀切包成 STUDIO_AIGC_DELEGATE_FAIL。

未并入 AIGC_LLM_SAFETY_ERROR(1-101-001-005):其定义注释明记归因 tag 仍记 llm_error
(safety 超时/失败的 fail-closed 故障兜底),语义为内部错误、中性文案只作用户遮罩,非控制
面准入拒绝,故仍按原逻辑包裹。

只扩集合 + 补测试:三处委托点 catch(ServiceException) 结构与 isControlPlaneUserReject
helper 一字未动(引集合常量,扩集合即自动扩行为);文案不改;不动 aigc 模块本体。

验证:StudioServiceImplTest 37 测全绿(既有 35 不回归 + 1003/1006 各一透传断言),
mvn -pl game-module-studio/game-module-studio-server -am test。

生效需随下轮 jar 轮换(仅改后端字节码,已在跑实例不热更)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 00:30:28 -07:00
lili
2e4dd56b76 docs(tier2): F-2 执行记录落档(R1 3/5 归因推翻分散判/修一 420s/R2 分层证据后奉令中止/修二阈值批/R3 在跑/五路工单并行)+ F-3 解锁口径(glm-5.2 在列·独立台账防轮污染)
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>
2026-07-04 00:20:38 -07:00
lili
bfeaea2d42 feat(tier2): 创始人令提生成预算阈值——writer 40→60 轮 / step_cap 60→100 / model_calls 80→120 / 墙钟 1800→2700s
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
F-2 两轮实证 40/60 是预算墙非能力墙:美食类硬 brief R1 churn 到 step_cap、
R2 设计收敛后 writer 仍 40 轮被截,resume 续修窗只剩 ~20 步修不完。步顶 100
= writer 60 + 续修 ~40 headroom;失控保护交 ¥ 两段式(50/75)与墙钟 2700。
cheap Service 显式传 150 不受影响;cheap CLI 继承(纯兜底,¥10/15 是真闸)。
tier2 97/97 + cheap 329/329。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 00:14:32 -07:00
lili
0a9504e400 fix(tier2): 设计团队墙钟 240→420s(F-2 R1 两败局实证,KTD2 定点修)
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
R1=3/5:两败局(美食/糖水店)同构——3/4 专家已产出、末段调用/leader 撞 240s
墙钟→降级单 agent 设计→writer 40 轮不收敛→step_cap;三过门局设计团队全部
正常收敛(超时↔失败 5/5 完美相关,台账 fail_system 空导致退路树误判分散)。
M3 thinking 慢尾单调用可达 120-180s,420 给一次慢尾余量,与 step_timeout_s
同刻度。YAML(运行面)与 _BUILTIN_DEFAULTS(兜底)同改防漂移;tier2 97/97。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 23:56:32 -07:00
lili
e01d91fb83 feat(quality): 经营品类金标正例固化入仓 bake-shop-serve-1(欠账①清)+ 骨架转薄对照定案(欠账②按红线收束)
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
- 正例=S5b bake_off 富化过门款(烘焙上菜 rush,attempts=1/¥2.00/tap-targets 真玩过门):src 7 文件+run-summary+richness-n3 凭据入 fixtures/golden-samples/sim-business/
- 12 条口径 n=3 复采样中位 10/12(单发 11/9/10 方差±2 合纪律),对照骨架 4/11 通用段分离 5–6 分=通用尺判别锚
- 品类段诚实口径:2/4 vs 1/4 仅 1 分分离(serve 形态无进货/双币),品类段正锚待进货型经营款,回退判定以通用段+L4 为准
- 合成薄壳反例不再补:骨架实测即真实薄对照,不臆造材料充数
- rubric _note 收束两欠账 + skill 金标锚点段 + golden-samples README 段;rubric-sync-gate 过

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 23:07:26 -07:00
lili
b0bfcabf8a docs(cutover): §9 S6 负例四门真机证据(日额/背压/暂停+并发)+ 六门放行证据表(prod/lab 口径明标)+ 工单回写 a1/a2/e
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
- D12 五种拒绝行为全负例双证(HTTP 码+后端日志):并发/日额(当日已用=7 上限=0)/背压(门②全局在飞=0)/暂停(infra_config 热键)/unsafe
- 六门证据表集齐:9d trace/D11(86/90)/D9/firstPlay/GP9/D12 全 prod 口径;S5b 明标 lab;放行+S5a=创始人
- 工单:a1 (C6 族错配直指 f121bb01)/ a2 关闭(前提证伪:模板 targets 本就齐,是生成丢键)/ e (2a8d5e45)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 22:58:52 -07:00
lili
48739533e5 docs(plans): cutover §9 S5b 落分——lab 复验达标(三品类收敛局 12/12 全过,raw 80% 亦过线;修复红利成本 ¥0.7-3.7);S5a 生产分布回填留创始人 (cutover 窗口)
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>
2026-07-03 22:32:46 -07:00
lili
5e4d81a296 merge: C1金标欠账清偿——narrative 12条正式重锚+trpg/puzzle富正例基线(前提证伪:模板=黄金脚手架非薄反)+判别主锚=品类段+L4 归质量轨 (尾波C1欠账)
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>
2026-07-03 21:34:36 -07:00
lili
b34a7725cc docs(.agents): C1金标欠账清偿——narrative 12条口径正式重锚(正8/12 vs 薄反7/12,判别主锚=品类段+L4)+ trpg/puzzle 实为黄金脚手架富正例、基线入仓(真薄反欠账明记不现造,规范三合成薄壳教训在案)+ fixture _note 同步收口(复采样×3取中位) (尾波C1欠账)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 21:34:22 -07:00
lili
42eed68675 merge: test_a11 m3/m4 模块级 game_dir/dedup 替换收进可恢复 fixture——根除 5 个跨模块污染失败(证据修正:基线12≠全污染,余7=环境前置) (尾波小单)
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>
2026-07-03 21:13:06 -07:00
lili
11436f07cc test(cheap): test_a11_m3/m4 模块级 game_dir/dedup 替换收进可恢复 autouse fixture——根除 game_dir 跨模块隔离污染(基线二分钉死:5 个失败,非 12) (尾波小单)
test_a11_m3_deterministic 与 test_a11_m4_regenerate 在 import 时无恢复地替换
cheap_run.game_dir(两文件同构),污染同会话后续测试模块:受害者按真 games/ 根校验
write 边界,game_dir 被改指临时目录后一写即判越界。改为 module 级 autouse fixture
(yield 后恢复原值),__main__ 独立运行路径同装(单进程无需恢复),dedup 登记表一并收拢。

证据:全套 12→7 failed、三种文件顺序结果恒定(7 failed / 322 passed);二分钉死纯
game_dir 污染 = 5 个,均已恢复 = test_run::test_scaffold + test_toolkit::{write_l1_rejected,
write_l3_ok,check_shape_drawbutton_ok,check_shape_define_fail}。

余 7 个非本污染、隔离下同红,系环境前置:worktree 无 esbuild →
test_run::{test_stage,test_play_real}、test_toolkit::test_check_and_build_clean_pass;
缺真实 e2e 产物 → test_studio_smoke×4(须先跑 cheap_studio 单局)。须集成段 mini-desktop
才具备,未纳入本单。同族但未致失败的 test_worker_service 模块级 dedup 泄漏按最小改动未动。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 21:11:31 -07:00
lili
e524adfb0d docs(.agents): wave-close 第8步——docs-gate 六检改七检(G7)+merge commit 手跑 B8 条件门清单(pre-commit 不触发缺口) (尾波挂点)
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>
2026-07-03 21:02:00 -07:00
lili
4ec86b2524 docs(.agents): trpg §10 通用条数升 12 条口径(L2×7+第12条入列)+ narrative 金标基线标注旧尺实测与重锚欠账(史实不改) (尾波措辞收敛)
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>
2026-07-03 20:58:57 -07:00
lili
7820c75b8b docs(contracts): prompts README 死链修——退役执行档改 git 史指针(留痕纪律) (尾波)
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>
2026-07-03 20:54:46 -07:00
lili
41cde493ee merge: 尾波SVG批——plan①顶图纵切redraw(cutover三态入图)+质量SoT quality-01(12条口径redraw)/02(rubric+F-4五裁定新图)+重推演档§0门面图;4图atlas规范+XML复验+PNG眼验全过(眼验抓获A11格过时+紫盒溢出已修) (尾波)
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>
2026-07-03 20:51:48 -07:00
lili
e6447efc40 docs(svg): 总览图眼验修正——A11 计费 e2e 格转现行绿(07-04 已收官)+SAA 紫盒末行溢出补高(眼验抓获) (尾波SVG批)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 20:51:31 -07:00
lili
2b9ebdbda4 docs(svg): plan①顶图纵切redraw+质量SoT quality-01/02门面图+重推演档§0门面图(atlas规范,眼验待主会话) (尾波SVG批)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 20:41:50 -07:00
lili
ee48cc2de3 docs(plans): cutover §9 S5b——两次假起步各钉一真缺陷(conc争用测量污染/CHROME_BIN盲注=生产考卷回退key-cycle共同上游根因e4a4d025);第三跑在飞 (cutover 窗口)
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>
2026-07-03 20:31:05 -07:00
lili
e4a4d02516 fix(cheap): CHROME_BIN 只在 Mac 路径真实存在时注入——Linux 上盲注致 smoke 全体 spawn ENOENT→state=None→考卷全回退 key-cycle(80007 族错配盲修¥14.9/80012 driver=key-cycle 共同上游根因;S5b 串行复跑+raw 观测行连环钉死) (cutover S5b)
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>
2026-07-03 20:24:44 -07:00
lili
8a58d57972 docs(.agents): tech-decisions §13 蒸馏——框架默认注入面击穿护城河(第三例跨路径封口·内建工具面红线)+ stuck签名承载同错语义+失败即时归因 + 运维三硬记(jar世代=env面随升/快照验完整性/并发争用污染测量) (cutover 窗蒸馏)
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>
2026-07-03 20:21:18 -07:00
lili
396461065b chore(cheap): smoke FAIL 打印 raw 尾(bake_off 并发争用致 100% 回退考卷、真因被吞实证)——失败真因可见纪律 (cutover 窗口)
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>
2026-07-03 20:15:05 -07:00
lili
0ca5320988 docs(mvp): 板对账——W-S1 cutover S0-S4+回滚演练完成/W-A11 收官/人办③④已执行(证据指针=cutover plan §9) (cutover 窗口)
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>
2026-07-03 20:06:38 -07:00