1090 Commits

Author SHA1 Message Date
lili
495bd30a0c test(release): gate signed account reports 2026-07-23 02:31:43 -07:00
lili
5ad0d26daa fix(release): pin dogfood trust boundaries 2026-07-23 02:30:36 -07:00
lili
0551b3552f fix(release): close final dogfood safety gaps 2026-07-23 01:43:41 -07:00
lili
ebd74a87ee fix(release): pin staging runtime trees 2026-07-23 00:48:19 -07:00
lili
68f8b4fa86 fix(aigc): bind callback artifacts before completion 2026-07-23 00:45:25 -07:00
lili
3d928c4f8c fix(dogfood-ops): bind evidence to wave windows 2026-07-23 00:42:58 -07:00
lili
f7d0942ab6 feat(project): bind runtime artifacts to versions 2026-07-23 00:42:40 -07:00
lili
9fb669c4fa fix(release): secure dogfood provisioning transaction 2026-07-23 00:41:34 -07:00
lili
20dd705fac fix(dogfood): close quota and trade race gaps 2026-07-23 00:26:11 -07:00
lili
c454610183 fix(security): reject forged staging identity headers 2026-07-23 00:23:15 -07:00
lili
8570d9b620 docs(ops): record dogfood account seed 2026-07-23 00:21:31 -07:00
lili
52aeab7a85 fix(release): verify and repair new-api user quota 2026-07-23 00:15:05 -07:00
lili
bfb0b08a68 fix(release): make permission checks portable 2026-07-23 00:09:05 -07:00
lili
beff6a7e27 fix(release): attach new-api SQL to docker exec 2026-07-23 00:06:42 -07:00
lili
b99f67f046 fix(release): await new-api provisioning visibility 2026-07-23 00:04:34 -07:00
lili
94d35f0b97 fix(release): accept canonical infra hostname 2026-07-22 23:56:53 -07:00
lili
761a34a121 fix(admin): remove default credentials from staging bundle 2026-07-22 23:51:45 -07:00
lili
2c28527526 test(release): remove readiness DNS dependency 2026-07-22 23:47:29 -07:00
lili
d48cc60bbf fix(release): close staging activation safety gaps 2026-07-22 23:38:40 -07:00
lili
65aecc56aa fix(release): harden dogfood identities and provisioning lease 2026-07-22 23:14:16 -07:00
lili
410d35dc64 fix(dogfood-ops): bind waves to durable runtime evidence 2026-07-22 23:06:57 -07:00
lili
34da791f26 fix(release): reconcile missing dogfood quota claims 2026-07-22 22:57:16 -07:00
lili
ce1b38bfb3 fix(admin): clear critical staging advisories 2026-07-22 22:52:49 -07:00
lili
14c374d12d fix(studio): clear staging dependency advisories 2026-07-22 22:32:15 -07:00
lili
3bff0eefc3 feat(release): wire dogfood staging product flow 2026-07-22 22:23:19 -07:00
lili
af15ee1a32 feat(dogfood-ops): enforce fail-closed wave evidence gates 2026-07-22 22:13:07 -07:00
lili
7618a890ae feat(release): gate dogfood RC and quota provisioning 2026-07-22 22:13:06 -07:00
lili
819522d752 fix(release): close dogfood security blockers
Make the dogfood security foundation self-contained, reject external runtime RPC writes, and bind publish state transitions with database concurrency controls.
2026-07-22 22:12:45 -07:00
lili
640d9268c0 feat(release): enforce dogfood publish safety loop 2026-07-22 21:37:43 -07:00
lili
926a0b4d4f docs(cheap-gen): 在飞板同步——W-AXIS-V2 波2 已交,波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-10 09:22:32 -07:00
lili
8d851ea716 feat(cheap-gen): W-AXIS-V2 波2——取证契约退役+提示全加载链清洗,四门∧测试员为唯一验收链
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
opus 执行位交付、主会话四步验收过(三套测试亲跑/红线 diff 亲读/冒烟截图亲眼):

- 验收消费:check 新增源码级插件调用存在断言(_pluginCallPresenceErrors 词法层,
  接替 F_wiring 真接线护栏);_forensicsView「必须实现」拦截摘除,降级为可选调试
  接口(handleTap 输入契约与 ctx.log 日志纪律保留);gate_judge 放行措辞对齐四门
- play-spec/驱动器退役(逐件裁定 10 件):gen.mjs done 门自动产 play-spec 摘除、
  cheap_gates/cheap_studio/cheap_modify/service_driver 调用摘除、_read_driver_type
  改读 evidence/playtest/playtest.json;golden-spec 三工具(auto_vs_golden/bake_off/
  compare_node)显式封存;ensure_play_spec 两实现保留一个版本窗口(只摘调用不删码)
- prompt 全加载链清洗:cheap-system.md v1.6.3→1.7.0(删 _forensicsView 自动验收
  契约红线与全部 targets/occupied 语义,五法句/品类指路同步),cheap_roles 内置
  回退逐字节同步(test_roles 12/12 证 parity),modify 切片经运行时切块自动同步;
  5 品类 skills+littlejs 手册+recipes×2+模板 8 件+README 6 件教学清洗,真设计
  价值(单击 casual/可解性质/双层反馈/latch)保留
- 批账:hard_genre_batch/xtheme 行加 playtest 段,_row_total_cost 修 shadow 下
  测试员成本漏算(v2 取 max 防双计)

验收(主会话亲验):pytest cheap-worker 512 绿 + tier2 141 绿 + node 49/49;
25 局基线新旧口径重放对照——真坏 5 局全拦(floor 拦 2/测试员拦 3)、无一例旧拦
新放,翻案 2 局均为破案坐实的仪器误杀;n=3 冒烟(mode=v2)全链绿:w2v2-sim
harness verdict.pass=True 而测试员 reject(机械放行测试员逮住,盘上双证)、
w2v2-sim-fix 现象反馈两轮回喂→fix2 收敛(配方显示修成,局内截图亲眼);
rg 零残留(模板残留均为「验收不读它」的降级调试接口合规形态);真跑 ¥8.4。

已知余项:repairFeedback 有产地、Service 续修环消费者未接(测试员 reject 不入
RepairMiddleware,续修判据仍四门)——是否接入随波3 校准数据一并裁;v1 配置级
回退窗口关闭为创始人知悉项,genconfig 默认 mode 仍 shadow、切 v2 归创始人。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 09:21:04 -07:00
lili
79313bf2f4 docs(cheap-gen): 在飞板同步——W-AXIS-V2 波1 已交(考卷 9/9),波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-10 07:08:30 -07:00
lili
5bcaf6ac1e feat(cheap-gen): W-AXIS-V2 波1——测试 agent 生产化+三路统一验收编排器+字段迁移
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
opus 执行位交付、主会话四步验收过(测试亲跑/红线 diff 亲读/硬证亲眼):

- playtest.cdp.cjs 生产版(§3 八件:DPR=1 playtest/1 坐标协议/坐标尺/落点回显/
  同点硬提示/反早退/预算 14→24 随进展扩/fail 二掷显式 seed+清存档/图像自检
  fail-closed exit=3)+ serve-and-playtest.sh;证据落 evidence/playtest/roll-N/
- cheap_verify:project_floor 四门投影(预筛权威唯一产地,绝不复用 harness 原生
  verdict.pass)+ run_playtest(子进程/超时/记账/playtest.json 真相层/端口派生避
  Chrome unsafe 5060/5061)+ run_acceptance 编排器(v2=floor∧测试员阻断/
  shadow=旧口径+shadowV2Accepted 对照/v1=旧判定器;修复反馈只引现象段)
- 三路接线:cheap_studio/cheap_service_driver/cheap_modify 两档全改调编排器,
  create 与 modify 单一验收标准
- §4 字段迁移:run-summary acceptanceVersion+playtest+floor 段、trace.playtest
  additive(firstPlay 三字段镜像 ReadinessScorer 口径)、批账 floorPass+accepted+
  acceptanceVersion(verdictPass 仅对照);result_out 三级取值(floor→verdictFull
  投影→verdict.pass 回落)、gate_judge 续修触发器切四门、xtheme 同批;判定语义单轨
- §5 Java 读侧:ReadinessScorer 可玩性/firstPlay 优先读 trace.playtest,
  GenMetrics 归因加 playtest/tester_degraded(向后兼容,未编译验证——本机无后端
  构建环境,待 mini-desktop 构建窗口)
- genconfig/generation.yaml:acceptance.mode 三态(波1 灰度默认 shadow)+
  playtest 旋钮(steps/二掷/超时/成本上限);judge 段未动
- 单测 32 项新增(二掷/图像 fail-closed/mode 三态/投影/现象分离/退出码/unsafe 端口)

验收:pytest 512 绿 + node 44/44(主会话亲跑);10 局考卷生产件重跑判对 9/9
(真坏 3/3 零放行、假阴 0/6,heritage-r4/puzzle-r1 二掷翻案、sb2 假超时根因=
Chrome unsafe 端口已修);Service E2E(w1v2-e2e1 shadow→v2 一发收敛)与 modify
回归(w1v2-mod1 ROUND_MS 60000→45000,src 与局内截图双证)真浏览器硬证;
总成本 ¥2.3。已知余项:真续修回喂环仅单测覆盖(波2 n=3 冒烟自然覆盖)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 07:07:08 -07:00
lili
8edb0ffa39 docs(cheap-gen): W-AXIS-V2 波0——SoT 修订 A1–A5 逐处落 + spike 资产入仓 + 在飞板登记
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
按已批 v2 plan(2026-07-10-001)附录 A 执行,生效语气统一「已裁定,随波 1/2 兑现」:

- 质量模型 SoT:裁定三四处(四门投影/测试 agent 证据链/同源边界修正——判定档切
  MiniMax-M3 动因与兜底/tester_degraded 归因)+ 裁定一末句四门投影追补 + 裁定二
  occupied/score 历史口径注记 + §2 表 L1 行/门类型消歧段/§3 总述/规范五/首局时间口径
- 验收门:§2.4 追加「便宜档消费口径 v2」段(F 归类坐实、首局门退役去向)+ 门分类段
  与首局门段注记
- 运行时图说:护城河分层验收段 v2 终文 + 出题≠被考实质化修订 + §一概览 + C5/C6
  两契约便宜档消费面退役注记 + driven 段 + §六 A11 modify 链切统一编排器注记
- spike 资产入 spikes/playtest-agent/(v3 脚本仓相对路径化 + 考卷终榜 jsonl +
  10 局转写 + README 复跑方法/真相表/结论:真坏 3/3 全拦零假阳、2 假阴同源接地失手)
- 在飞板:07-09 三波 plan 收口移除(三波+n=5 基线全交),登 W-AXIS-V2 行(波0 、
  波1 待派)

验收:docs-gate 七检全绿;rg 复扫「五门/九门=验收」仅余两处已注记历史叙述,无活口径残留。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 04:40:41 -07:00
lili
85f48228cd feat(cheap-gen): W-AXIS 波3 知识层补强+收尾——tsc 顾问门+recipes+暗资产接线+n=5 基线台账
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
- tsc 顾问门:typescript devDependency + tsc-advisory 测试档;顾问性(永不阻断),
  金标 10 款零误伤抽验
- recipes/ 五篇高频场景索引(命中矩形/计时器/资产回退/场景机/结算演出,「抄这段形态
  +头号病根」)+ littlejs-game-dev §0.5 卡壳就查接线
- 暗资产接线:plugin-capability-map(11 注入+1 取证+6 储备逐件裁定)+
  engine-capabilities-brief(≤3KB 蒸馏)+ api.d.ts/game-host.d.ts 补插件指针;
  三方一致性对账门 plugin-surface-gate.py(含 cwd 锚定修)挂 pre-commit+Gitea Actions
- hard_genre_batch 参数化(五品类 n=5 批跑驱动,checkpoint 续跑)
- n=5 基线台账入库(gitignore 例外 add -f,只入台账不入游戏产物):
  wax-baseline.jsonl 25 局逐局记录(含判定仪器订正批注:cap1500 重判/图像盲 M3 重判,
  只加字段零改值)——终数:操作口径 14/25=56%、质量口径 18/25=72%;
  品类 narrative/heritage 5/5、trpg 4/5、puzzle/sim-business 2/5(缺口逐局有名有姓,
  根因见 07-10 v2 plan §1);旧「80%/39%」口径正式作废存照

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 04:27:18 -07:00
lili
882ca3f357 feat(cheap-gen): W-AXIS 波2 判定语义重置——独立模型玩法判定阻断+拆残笼+判定档切 M3
裁定三落地:accepted = 机械预筛 ∧ 独立模型玩法判定,九门 pass 降为「未见明显死」预筛。

- 波2a 玩法判定器(cheap_verify.py):读 brief+run-summary+全程截图(含新增局中连拍
  midplay-1..N,play.cdp.cjs 只读并发拍、不进任何门判据),布尔裁 broken/hollow/off_brief,
  fail-closed;判定真相层落 evidence/judge.json + verdict.json 写回 accepted/judge 段;
  金标夹具 fixtures/judge-golden/ + judge_golden.py 校准跑批
- 波2b 拆残笼:check 词法 tokenizer 替换 stripCode 正则(字符串内 // 假阴根修,292 在册
  源零差异);prompt v1.6.3 外科清洗(两层奖励→纯设计语/删盲驱动器围设计/删熔断恐吓),
  registry 热取==内置逐字节一致(cheap_roles 内置回退同步);edit_file 空白归一+近似片段提示
- 判定器补修:空输出有界重试一次(glm 思考吃光 max_tokens 时 content 空)+重试放大公式
  反缩 bug 修(旧 min(×2,6000) 大 base 反缩)+finishReason 落盘;imagesSeen 模型自报+
  盲检微扰重掷、两掷均盲=仪器故障 degraded(闲鱼中转静默丢图实锤,不再错杀 hollow)
- 判定档切 MiniMax-M3(创始人 2026-07-10 拍板,裁定三①边界随 v2 plan 修订):
  generation.yaml judge.model+max_tokens=202752(512K 网关实探 400 拒,取实探上限);
  3 例盲案 M3 重判全 accept、¥0.026/局
- 三路消费对齐:CLI 预筛语义修(cheap_studio 喂 verdict.pass 而非 finished,违裁定三的
  放行已纠)/Service 路 apply_gameplay_judge 显式 prefilter 参数/result_out 权威改读
  accepted(无键回落预筛,旧产物兼容)+trace.gameplayJudge additive 透传;
  tier2 gate_judge/genconfig 同步判定配置与消费

测试:test_gameplay_judge 33 项新增,全仓 pytest 480 绿;真判定闭环 accept ¥0.061。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 04:27:18 -07:00
lili
dc89701fcc feat(cheap-gen): W-AXIS 波1 真相层——turns 全文落盘+per-run 归档+evidence 清单化+failureLayer
治「真相层缺失」病根(历史上模型文本/工具返回/门反馈零落盘、失败 run 被同 gid 重跑
覆盖,归因只能建在聚合数字上):

- cheap_turns_sink.py:逐 turn 全文落 amgen-<gid>/turns.jsonl(模型文本/工具全参/
  工具返回/门续修反馈);observe-only middleware、best-effort,接线失败绝不阻断生成;
  CLI 与 Service 双路接线(cheap_run/cheap_service_app)
- per-run 归档:同 gid 重跑前工程整体归档 _amgen-archive/<gid>-<ts>/,失败现场不再被覆盖
- evidence 清单化清理:按白名单保留,跨 run 残留(旧截图/旧 verdict)开跑即清,防证据串局
- failureLayer 三层归因:run-summary 落 generation/gate/gameplay 失败层字段,
  聚合报表可分「生成没跑完/机械门挂/玩法层拒」

主会话亲验:两局真跑归档 179KB、turns 含门反馈全文;pytest 新增三个测试档全绿。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 04:27:17 -07:00
lili
5d0f351050 docs(cheap-gen): W-AXIS 波0 文档批——诊断档+SoT×4 修订+两份 plan+策展层勘误
2026-07-09 创始人方向性质疑经五路审计坐实,正式推翻两个历史结论(80% 天花板=口径混淆
+stripCode 污染;玩法坏死主因=判卷合约缺口误标),病根三条=判定语义膨胀/判卷合约反噬/
真相层缺失。本批为纯文档批:

- 诊断档 docs/brainstorms/2026-07-09-生成线harness方向性诊断与换轴方向.md(人审版)
- SoT 修订×4(双评审修入、docs-gate 绿):质量模型裁定三(L1 双证据=机械预筛∧独立模型
  玩法判定,fail-closed+金标校准)/图说护城河改「分层验收」/验收门 §2.4/AGENTS.md §3.1
- 执行版 plan×2:07-09 三波换轴 + 07-10 验收v2(测试agent替E/G/H,创始人已批,
  含附录A SoT 修订逐字终文与波0-3 工单拆分)
- 策展层定点勘误:tech-decisions/三份生成线 skill 追加 2026-07-09 勘误注记(过九门
  自此只算机械预筛),feature-design-doc 固化「人审版=brainstorm/SoT、执行版=plan」定位
- 在飞板登记 W-AXIS

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 04:27:17 -07:00
lili
1c4d5838ec fix(cheap-gen): 撤写锁·全放开 + max_tokens 512K——创始人纠偏 + 浏览器验收坐实
创始人 2026-07-08/09 两次纠偏,各揪出一个写锁法漏的真根因:
① 浏览器验收:写锁 core.js 致「榫卯」brief 出「陶艺」游戏(主题漂)——规范应是文件位置
   + 绝对通用 plumbing(L1_FIXED 已锁 host-config/game/index/entry/main),不该把模型限死到
   只改几个文件(只改几个文件游戏做不好玩、切不中题)。→ 全撤 write_whitelist,game-logic/
   core/render/assets 全放开,模型自由做好玩切题游戏;截断类失败靠 harness 门兜不靠锁。
② max_tokens:实测 M3 单轮能输出 17000 tokens/finish_reason=stop、accepts 40K/512K 无报错
   ——16K 是自设限非模型限;cheap 走 OpenAI inline thinking(thinking 吃 output 额度)致大文件
   整写截断(heritage 黑屏/thrash 病根之一)。→ genconfig max_tokens 16K→512K(统一上限,可调)。

浏览器验收 it8(不锁+stripCode修复+足量token):heritage=榫卯工坊·直榫凳·选料→画线→凿卯→
修整(切题修好);action=撞了得分535·1771米·翻转30(坏死修好);trpg=已清9层3次升级(死锁没了+
内容更全);全 1-2 attempts 无 thrash。残余 idle-sim「↑NaN」(render.js:164 upgradeCost=NaN,
模型数值 bug,待修)。build_reskin_system_prompt 撤锁后未用(留待清理)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 04:27:17 -07:00
lili
8f2ca254ad docs(agents): §6.13 硬约束——工具输出只是参考不是事实,最终产物必须真浏览器验收
创始人 2026-07-08 定:任何工具/harness 判定(check.ok/九门 verdict/smoke/lint/bright 等)
只作参考、绝不当事实——会假阳也会假阴。当日 stripCode 遇字符串内 // 致 check 假阴性误报红线
缺失(模型写对却被反复拒到熔断)、九门也放行过秒死/存档刷分坏死游戏,双向坐实。故:每个最终
产物必须真浏览器打开、亲看亲玩、截图硬证验收;失败根因下钻到具体代码/数据/配置,不停在「工具说」。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 04:27:17 -07:00
lili
69307df8a5 fix(cheap-gen): 修 check 假阴性——stripCode 字符串内 // 致级联误抹真代码
n=5 跨主题验证 trpg-cyber 失败根因坐实:赛博主题文案用 '> JACK IN // FLOOR 01' 这类
字符串内含 //。旧 stripCode 用 5 条独立正则(先剥行注释、再剥字符串),字符串里的 // 被
行注释正则误当注释、吞掉闭合引号 → 引号失衡 → 后续字符串正则跨行匹配 → 级联误抹 169 行真
代码(bundle.tick/_forensicsView/handleTap 一起抹)→ check 误报三红线缺失 → 模型明明写对
却被反复拒 → thrash 到步数硬顶熔断、烧 ¥13.84 失败。

根治:stripCode 改单遍左→右状态机(码/行注释/块注释/单引/双引/模板 六态),同一时刻只一种态、
嵌套的 // 与引号各归其态绝不越界——「注释与字符串互嵌」词法问题唯一正确解。逐字节保长、换行
保留(红线行号定位不变)。影响面广:任何 game-logic 字符串含 //(URL/路径/N//M/科技赛博文案)
都触发假阴性,部分历史失败率实为此 bug 冒充模型质量差。

验证:trpg-cyber check.ok false→true;heritage/narrative 无回归;amodel-gen 35/35 绿
(check-banned 加 2 条 //-in-string 回归守卫)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 04:27:17 -07:00
lili
c8a15db349 feat(cheap-gen): 轻A 参数化收敛——create 路 per-genre 换皮写锁,模型只写 game-logic
n=5 收敛环第一性坐实便宜档失败主根:模型被放任重写引擎文件(render/core),大文件
整写截断丢导出→黑屏(heritage 坏死)、自造楼层推进死锁(trpg)。根治=生成面收窄:
create 路 route 命中 per-genre 黄金模板时,write_whitelist 物理锁 render/core,模型
只据 brief 换皮 game-logic.js(+assets.js)。机制早存在(write_whitelist 只用于
modify、6 个 per-genre 完整可玩模板已建),只差 create 接线。

- cheap_roles: build_reskin_system_prompt(引擎锁死、只写 game-logic 语言,镜像
  build_modify)+ SCAFFOLD_DESC_BY_TEMPLATE(5 品类换皮描述)
- cheap_studio: run_studio 据 write_whitelist 自选换皮/通用提示
- cheap_service_driver / hard_genre_batch: create 路 route 命中即写锁 game-logic+assets

it5 验证:heritage bright 0→178812、phase menu→play(真修好);trpg H_progress
floor→6 登顶(死锁消失,生成码天赋分支补了 dealFloor);写锁逐字节生效(render/core
与模板相同);未锁对照组(idle/action,无品类模板)仍坏死=证明是锁起效。
route_genre 覆盖 4 类,idle-sim/action-physics 无模板=已知覆盖缺口(round-2)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 04:27:17 -07:00
lili
824b4eaba3 fix(cheap-gen): 重同步 cheap-system.md 正文——补 edit_file 提示欠账
热取源 04-config/cheap-system.md 停留在「六工具/没有 edit_file/改文件用 write_file
整体覆盖」,而内联 _SYSTEM_PROMPT 早已加 edit_file(七工具/小改优先 edit_file)。生产
热取到 stale 提示 → 逼模型整文件重写 → 大文件截断(便宜档死圈病根之一)。按「.md 正文
= _SYSTEM_PROMPT 逐字节对齐」铁律重同步正文,registry.yaml + .md frontmatter version
双升 1.6.1→1.6.2;test_roles hotload 不变量 2 测试转绿。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 04:27:17 -07:00
lili
9bd428040f fix(cheap-gen): 死圈修复 fix①-B 重实——改挂 resume 续修层(on_acting 版无效)
n=5 收敛环 iteration 3 坐实:上一版 fix①-B(on_acting 拦截畸形参数)日志 0 触发=无效。
源码核实根因:AgentScope _agent.py:1376 jsonschema.validate 失败 → _handle_error_tool_call
→ return(Step1),在 Step3 工具执行/on_acting 钩子之前,故畸形调用【根本不进 on_acting】,
上一版是死代码(单测 mock next_handler 吐错误、但线上错误不经它)。已 revert。

重实挂到真能触达 agent 的层:cheap_studio resume 续修循环 wrap writer.reply,catch
Tier2CircuitBreak——【仅 missing-param 类 stuck】(reason 含 'is a required property'=MiniMax 漏
必填 path 撞满阈值)不当终态杀,还有 resume 预算 + 未越 ¥ 软停就带贴脸补参反馈续修(与 gate-fail
resume 同机制、跨 reply memory 保留=原地续修)。只清 stuck 连击计数(_fail_repeat/_last_fail_sig,
不动 spent_rmb/tool_calls 防误清预算);非漏参 stuck(反复 check 红线/build 编译错=真死圈)/budget/
其它熔断照旧向上抛终态、不放行。整环验证随 n=5 re-run(iteration 4)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 04:27:17 -07:00
lili
e4e4e23564 Revert "fix(cheap-gen): 死圈修复 fix①-B 便宜档畸形参数纠偏——n=5 收敛环坐实 heritage 死圈复现"
This reverts commit 26f94f1f0b9137b342c0d37c1f7583d0f03e4369.
2026-07-10 04:27:17 -07:00
lili
3c0c105aeb fix(cheap-gen): 死圈修复 fix①-B 便宜档畸形参数纠偏——n=5 收敛环坐实 heritage 死圈复现
n=5 收敛 loop iteration 2(难品类)复现死圈:heritage 局 stuck 终杀,签名=连续 4 次
write_file:'path' is a required property——MiniMax 长参数下漏 write_file 必填 path,agent
收默认校验错不理会、反复漏同参 → 撞满 stuck 阈值(4)→ 九门从未跑 ok=False。fix①-A 给了
edit 替代但没阻止 agent 选 write_file 漏 path,故 fix①-B(此前押"证据门")现证据到、实现。

修:CircuitBreakerMiddleware.on_acting 非软停态给「漏必填参」的 write 类工具结果追加一条比默认
校验错更贴脸的补参提示(催补 path / 改 edit_file 短载荷),让 agent 撞满 stuck 前出圈。
经既有 _augment_toolresponse(<system-reminder> 追加,agent 下轮读得到)+ on_acting 洋葱钩子,
符合设计不自造机制。cheap-only(enable_malformed_correction,cheap_budget 工厂置 True;tier2
默认 False、逐字节零行为变化);不重置 stuck 计数(仍漏照常熔断,上界由现有阈值封死、不新增无界重试)。

测:test_malformed_correction 4(cheap追加/tier2零变化/非漏参不追加/非write工具不进)+ tier2
回归 test_circuit_stuck_signature 5 + test_repair_middleware 5 = 14 passed。整环验证随 n=5 re-run。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 04:27:17 -07:00
lili
c2a86b3a02 feat(polaris): 《山海巡异录》③首页下半补完——scrim 放出山水金乌+主按钮册页托+CTA 加重
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
创始人真机眼验:表现层二轮③首页只消化上半,下半四主按钮(启程/每日一巡/图鉴/成就)仍黑底金边方钮、整屏死黑。死黑真因=上轮 scrim 0.5 把 bg-scene-02(金乌·苍岭·云海亮国风画)压死、四按钮又落偏暗青黛山峦区读成黑底方钮;现 scrim 0.5→0.3 放出山水金乌整屏即国风底,描金屏框+四角云纹装裱成卷轴,四主按钮落浅米册页卷轴托成组、启程出巡 CTA 朱漆+描金外飘框与次级拉层次,副标加墨条背衬保 scrim 降后可读性;computeHomeTargets 靶位未动。home-drive displayCount 50→58、scene-smoke 全绿、esbuild EXIT=0。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 00:51:34 -07:00
lili
d4cb740a86 docs(creds/ops): 补 dev 栈 HMAC 回调密钥入档 + 修 staging-ops 过时"secret 空"claim
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
AIGC_CALLBACK_SECRET=e8aab273…(32hex,Complete A 起已配、env 文件持久化)此前只在 mini-desktop
huijing-dev.env、未入仓凭据档(§9 缺口);staging-ops §100 还写着"空(验签关)"是过时。补凭据档
可复现副本(两端逐字相同=验签开、空=内网可伪造回调内测必须非空)+ 校正 §100 为非空 + 补 quota flag。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 07:57:21 -07:00
lili
231b17194a fix(cheap-gen): new-api 额度耗尽真机探测揪出误判——401+「额度已用尽」修为 quota_exhausted
内测开放项真环境探测(2026-07-08,dev 栈恢复后):建 remain_quota=0 测试 token 打 new-api
/v1/chat/completions,坐实 new-api 对额度耗尽返 HTTP 401 + message「该令牌额度已用尽
!token.UnlimitedQuota && token.RemainQuota = 0」——非代码假设的 402/403,且关键词只认「额度不足/
insufficient」漏了「额度已用尽」。旧 classify_newapi_failure_reason:401→llm_error(可重试)、
关键词不匹配 → 把耗尽误判成可重试 → 反复重试到 15min watchdog 超时,而非干净"额度用尽"。

修:message 额度关键词优先(含实测「额度已用尽」「RemainQuota = 0」),401 不再无脑判 llm_error
(401 与凭据失效重叠,按 message 分辨:耗尽→quota_exhausted、真凭据失效→llm_error 可重试);
402/403 保守保留判耗尽。删代码 §3.9【阶段2 待验】TODO(已真机坐实)。新增真机 401 回归用例,
26 测过。正是代码自带 TODO 与「真环境>桩」要抓的:桩测永远发现不了 new-api 用 401 不用 402/403。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 07:52:57 -07:00
lili
520238de55 docs(creds): 补 new-api 预置池 provision 凭据(创始人点名不可逆项收口)
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
WU2 内测 per-user ¥100 走离线预置池,ops 脚本 newapi_pool_provision.py 建/补池必直连
new-api postgres(S0 实证 admin 不能替他人建 token),但所需 NEWAPI_PG_PASSWORD 此前只在
脚本 docstring 引「见凭据文档」、实际未入档(PostgreSQL 行标"按需补")=悬空引用,池空补不了。

从 mini-infra 权威取并实测:new-api 库超级用户=root(非 postgres)/口令 f6710…bc54,
docker exec -e PGPASSWORD infra-postgres psql -U root -d new-api 可连,2026-07-08 池水位
11 条可用 token。填 PostgreSQL 行真值 + new-api 段补 provision/补池指引 + NEWAPI_ROOT_TOKEN
选填说明。docs-gate 七检绿。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 07:27:45 -07:00