# 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` 家族扩展仍未完成