Files
claw/docs/superpowers/reports/2026-04-18-g2-second-round-remediation-report.md

5.4 KiB
Raw Blame History

G2 第二轮整改回归报告

Date: 2026-04-18 Scope: docs/superpowers/plans/2026-04-18-g2-remediation-plan.md Family: G2

1. 本轮整改落地内容

本轮严格围绕 G2 家族整改,实际落地了以下链路修复:

  1. multi_mode_request 识别优先级前置,避免被分页噪声重新压回 paginated_enrichment
  2. bootstrap 候选从“仅命名 URL”扩展为“命名 URL + endpoint 业务根路径”联合评分,并保留已有 sourceUrl 回归口径
  3. request_template 支持以下真实场景写法:
    • data: JSON.stringify(datas)
    • data: ${JSON.stringify(datas)}
    • let/const/var datas = {...} 变量间接引用
    • 对象简写字段,如 weekSfdate
  4. cols1/cols2 改为平衡括号抽取,不再依赖 ]; 结尾,修复真实线损场景中两组列被吞并的问题
  5. G2 readiness gate 继续维持 fail-close
    • g2_modes_present
    • g2_request_contract_complete
    • g2_response_contract_complete

2. 回归测试结果

本地回归:

  • cargo test --test scene_generator_test -- --nocapture
  • 结果:15 passed

新增和强化的回归口径已覆盖:

  1. G2 噪声场景不再误判为 paginated_enrichment
  2. localhost 仍只作为宿主依赖保留
  3. data -> JSON.stringify(var) 的请求模板能够恢复
  4. 缺少 G2 合同时继续被阻断
  5. 不带分号的 cols1/cols2 仍能正确拆出 month/week 列定义

3. 真实样本第二轮结果

3.1 台区线损大数据-月_周累计线损率统计分析

样本路径:

  • 源场景:D:\desk\智能体资料\全量业务场景\一平台场景\台区线损大数据-月_周累计线损率统计分析
  • 生成产物:examples/real_scene_batch_round1/skills/real-tq-lineloss-report-r4

结果:

  1. 已成功生成,不再 fail-close
  2. workflowArchetype = multi_mode_request
  3. bootstrap.expectedDomain = 20.76.57.61:18080
  4. bootstrap.targetUrl = http://20.76.57.61:18080/gsllys
  5. modes = [month, week]
  6. month/week 均具备非空 requestTemplate
  7. month/week 均具备非空 columnDefs
  8. responsePath = content
  9. g2_request_contract_complete = true
  10. g2_response_contract_complete = true
  11. readiness.level = A

结论:

  • 该样本已进入“候选验证名单”

3.2 白银线损周报

样本路径:

  • 源场景:D:\desk\智能体资料\全量业务场景\一平台场景\白银线损周报
  • 生成尝试:real-baiyin-lineloss-weekly-r1

结果:

  1. 仍然 fail-close
  2. 生成器报错:workflow evidence is incomplete for archetype multi_mode_request

直接证据:

  1. 场景内能抓到周维接口:
    • getYearMonWeekLinelossAnalysisList
  2. 同时还能抓到台区排行接口:
    • getTqLinelossInfoListRank
  3. 但当前最小证据审计中,没有看到与 tq 主样本同级的显式 cols1/cols2
  4. 也没有看到月/周双模式都完整闭合的 response-side 合同证据

结论:

  • 当前仍应维持 fail-close
  • 该样本说明:G2 家族中还存在“只有部分 week/mode 信号,但没有完整列合同”的变体

3.3 线损同期差异报表

样本路径:

  • 源场景:D:\desk\智能体资料\全量业务场景\一平台场景\线损同期差异报表
  • 生成尝试:real-lineloss-period-diff-r1

结果:

  1. 仍然 fail-close
  2. 生成器报错:workflow evidence is incomplete for archetype multi_mode_request

直接证据:

  1. 主要抓到的是:
    • getTqLinelossInfoListRank
    • getUserElectricList
    • tqQualifyRateMonitor
  2. 同时还混入了同期系统链路:
    • 10.4.39.180/xsgl/...
  3. 当前最小证据审计中,没有看到 tq 主样本那样稳定的 month/week + cols1/cols2 完整合同

结论:

  • 当前仍应维持 fail-close
  • 该样本更像“线损主场景 + 同期系统联动”的混合工作流,而不是已经闭合的 tq 主报表双模式合同

4. 与第一轮相比的变化

第一轮 blocker

  1. 主样本会退化成 paginated_enrichment
  2. bootstrap 落错
  3. request_template 丢失
  4. cols1/cols2 串并,导致 mode response contract 不成立
  5. readiness 会给出失真的高分或错误通行

第二轮结果:

  1. 主样本不再退化成 paginated_enrichment
  2. 主样本 bootstrap 已落到 http://20.76.57.61:18080/gsllys
  3. 主样本 month/week 请求模板已恢复
  4. 主样本 month/week 列合同已恢复
  5. 主样本已进入候选验证名单
  6. 其余两份样本继续 fail-close没有被错误放行

5. 仍保留的 blocker

本轮没有解决、但已经被明确收敛出来的剩余问题:

  1. G2 家族内部并不只有 tq 主报表一种结构,至少还存在:
    • 周报偏单侧 mode 信号变体
    • 同期差异联动型混合工作流
  2. 当前 endpoint 候选中仍有较多业务外噪声 URL 残留,但已不再阻塞主样本进入候选验证
  3. G2 主样本已经达到候选验证门槛,但“家族扩展到更多线损变体”仍未完成

6. 本轮结论

按本计划的目标口径,本轮整改已经完成以下关键结果:

  1. 台区线损大数据-月_周累计线损率统计分析 已从稳定失败推进到候选验证可用
  2. 另外两份真实样本没有被错误放行,继续保持 fail-close
  3. 第二轮整改已经把 G2 从“主样本无法成型”推进到“主样本可成型、变体样本被明确隔离”

当前最准确的状态判断是:

  • G2 主样本整改已达标
  • G2 家族扩展仍未完成