Files
AgentLab/backend/app/engine
ThearchyHelios 3843a1cd89 双盲复算按需算任意快照的遮罩:按位置取自另一份快照遮罩列的输入不再当字面量交给盲算
- 预检以前只为 cell() 输入的快照算遮罩。口径卡上按位置取的一格(vars.res.rows[0][0])若来自另一份快照,重算
  认不出它在遮罩列上,指标照常盲算,遮罩值作为字面量写进了交给盲算模型的计算式。现在 _plan_metric 对这类输入
  顺着取值链认出取自哪份快照的哪一列(recompute.input_origin,和证据面板、推演、可验证报告同一个认法),按需
  算那份快照的遮罩交给重算的预检:取自遮罩列的按无法复算记缺口(原因同同一份快照上的那种);那份快照读不出来、
  数据源现在的遮罩又没遮这一列的,查询当时记下的遮罩无从核对,同样按无法复算记,原因说清。
- _Sources.hidden 改用证据面板那一套(api/evidence 的 _Masks、_merge_masks、_recorded_masks):合并查询也按它
  合并的几个数据源算,快照读不出来时按取值链上带着的数据源名算,结果按快照记下来不重复查。
- 两个遮罩分组用例换一对盲算 SQL(不分组、按下单日筛):收窄的话说明和对照里会带出「region = '华东'」;照整条比
  时说明是「时间列 + 另有未能归纳的差异」、对照里留着 GROUP BY,以此断言没有收窄,替换失效的「差异不止一条」。
  去掉 _narrowed 的遮罩判断后三个遮罩分组用例都变红。
- 补用例:两份快照(cell() 取 A、按位置取 B 的遮罩列)不盲算、取值不进任务和产出,没设遮罩时照常盲算;快照读不
  出来时的两种情况;时间列声明成文本的库,审批卡预告不记、真写跳过的原因和预告一字不差。
2026-10-06 12:11:50 +08:00
..