goal_10013948 验证脚手架与任务脚手架升级 · 收口报告 (G10013948-2026-11-06)

0. 交付摘要

批次项状态验收证据 A1cheap-gate 前置 (EX)✅Rust cheap_gate 4测 + EX 7测绿 A2判定缓存去抖 (EX)✅judge_cache 3测 + ETS持态 + 键失效 A4导师输出可见化✅三段卡落盘 mentor_{critic,retro,goal}_last.md A5/C3交付网页+链接✅HTTP 200 实测 (见文末链接) B1V22 批评三视角聚合✅catalog 切 native_elixir + 3测绿 B2V20m 全程审计非查表✅铁律: >=1条脚手架改进项, 3测绿 B3V23g 教育目标导师✅显式规则表, 2测绿, 新判面入 catalog D2静态检查社区实践模块✅ruff 0.17 集成, 解析4测+规则4测绿

全套: Rust 173 passed / 0 failed, EX 41 tests / 0 failures。

1. 资源占用主解 (A1+A2)

  • cheap-gate 前置 (native/src/core/cheap_gate.rs): 静态判据(V1/V15/V16/V17/V20t/V27/V35/V38)全量先跑零 token; 昂贵判据只跑被静态判据指向的 case (V17失败→V18/V30 等显式路由表)。
  • 判定缓存 (native/src/core/judge_cache.rs + lib/verify_grid/judge_cache.ex): 键=判定id+改动文件内容摘要+环境指纹, 三者任一变化即失效; ETS 持态跨调用存活; 命中率带分母0保护。
  • 分流档位与路由表全部显式枚举 (禁动态注册, AI习惯第7条)。
  • 2. 三导师落地 (B1/B2/B3) — 导师不再形同虚设

  • V22 批评导师 (mentors.rs): Adversary/Builder/Auditor 三视角独立产出 → 聚合去重 → 分级计数; disagreement 必显式暴露禁只报多数票 (MAR: 角色分离+评判者聚合)。
  • V20m 复盘导师 (mentor_retro.rs): 八步逐步回放非查表; 每步查产物+验证真跑; 铁律: scaffold_improvements >= 1 (复盘脚手架不只复盘任务, 零漏项也给基线改进建议)。
  • V23g 教育导师 (mentor_goal.rs): 显式规则表 (全PASS无对抗→hidden probe; 通过率<60%→降档预警)。
  • 收口可见化 (mentors.ex run_all): 三段卡必展示+三文件落盘 artifacts/evidence/global/mentor_*_last.md。
  • catalog.ex: V20m/V22 切 native_elixir, V23g 新判面 (原 V23 已被压测自检占用, 避冲突)。
  • 3. 交付网页 (A5/C3)

  • tools/deliver_web.exs (182行): md → 单文件深色主题 HTML (代码块/表格/列表/引用全渲染) → 部署回传 URL。
  • 部署双通道: 扣子侧 coze-dev Pages (异步轮询 status 抓 domains, 禁只读提交响应); 测试机无 coze-dev 时走 tools/quick_tunnel.sh (setsid 完全脱离, 1.087s 返回, cloudflared quick tunnel 24h)。
  • 结果必落盘 deliver_web_result.json + URL 必进收口报告; live 模式部署失败即 halt(1) 禁伪造链接。
  • 冒烟实测: HTTP 200 / 2020 bytes / title 正确。
  • 4. 静态检查社区实践模块 (D2)

  • 社区调研结论 (2026-11): ruff 0.17 (Rust, 3000+规则, JSON稳定) 为主, semgrep 2000+ 社区规则为辅, ast-grep 结构化匹配。
  • native/src/core/static_community.rs (144行, ruff JSON解析, 失败显式 Err 禁静默空数组) + static_rules.rs (87行, 规则族→判据面映射: E9/F63/F7/F82=blocker→V19, S→V17红线, C90/UP→V27, ANN→V33...)。
  • EX 编排 static_community.ex (46行): 调 ruff CLI → NIF 判定; ruff 缺失显式 error 禁假绿。
  • 5. 六验证 (本轮改动面)

    1. 冒烟: deliver_web 冒烟 md → HTML → tunnel → curl HTTP 200 ✅ 2. 单测: Rust 173/0 + EX 41/0 ✅ 3. 集成: NIF 契约闸过 (check_nif_contract), .so 同步4处 ✅ 4. 红蓝对照: 三导师判定负例测试 (零证据→blocker, 低通过率→降档, 非法JSON→Err) ✅ 5. 契约: catalog 判面行 ex路径与 Mentors 模块函数一一对应 ✅ 6. 回归: mix test 全量 41/0, 既有26测试无回归 ✅

    6. 过程问题与修复 (防再犯)

    问题根因修复 NIF状态不跨调用(缓存无效)judge_cache_new每次新建ETS持态, 编排层持有 Decoder缺生命周期rustler::Decoder带'aT: Decoder<'a> heredoc语法错3处\"\"\"同行/结束符同行/rem中缀换行/函数式rem System.cmd后台化卡死python继承stdin pipe拆独立脚本setsid脱离 KB桩删漏8个git恢复不完整补齐+契约闸把关

    7. 未完项 (下一批次登记)

    A6 接线自主验收(Playwright真机点) / B4 过程纠偏窗口 / B5 hidden probe对抗验证 / C1 增量隔离沙箱 / C2 SSE轨迹存档 / C4 教训写回 / C5 判定器元验证 / D1 工具页全量切ex+rs —— 均已在 goal_10013948 清单登记。

    8. 交付链接

  • 本报告网页版: (见 deliver_web_result.json)
  • 代码: verify_grid native/src/core/{cheap_gate,judge_cache,mentors,mentor_retro,mentor_goal,static_community,static_rules}.rs + lib/{judge_cache,mentors,static_community}.ex + tools/{deliver_web.exs,quick_tunnel.sh}