Commit Graph

2 Commits

Author SHA1 Message Date
ThearchyHelios 3b06202b15 口径卡的可比性挂钩只在两期之间做:两份同形 SQL 不同的字面量里至少有一对两边都是日期或期次(_dated_pairs:data/coverage 认出的时间条件的界,含 yr = 2026、month = '2026-09'、week = '2026-W41'、按运行当天现算的 date('now', '-7 days'),加上别处认得出的真正的日期,和可比性算子「同口径」一项同一套认法)才查;只差地区、门店号这类字面量的(华东对华南的倍数、门店 1203 对 1204)是两段不是两期,不查、不记日志,带契约的出口不再因此判两期不可比、降档。日期和地区都不同的照查,真算子判不可比。基期、本期的先后只按日期、期次排(_period_key:真正的日期按那一天,月、周、季、年按同一种写法的先后),去掉会把门店号、偏移量当期次的 [\dW\-/Qq]+ 那条;排不出的照旧是表达式里先出现的那份算本期。读查询快照放进线程(asyncio.to_thread),不占着事件循环。测试:只差地区、只差门店号不查,日期和地区都不同照查且按日期定基期,各种写法认不认得出、先后怎么排,真算子下华东对华南的倍数照常正式出具、日期和地区都不同的判不可比降档 2026-10-21 15:28:59 +08:00
ThearchyHelios 71dc16bc1a 分析能力入口(七):按 W1-a 算子库的实际接口对齐。工具参数名以算子为准:差异检验的均值是 mean / sd / n 或 sum / sumsq / n,逐行是 value,可选 pairs / reference;可比性检查另收可选的 measure、grain(不收 label);分析卡的参数校验用同一份定义,运行当天、目录事实、下钻层数由算子自己记,分析项里写了不收。交给算子的输入是工件库里那份查询快照原样(含 SQL 检查结果 checks、「查询区间里这张表没有数据」no_data、查询当时记下的遮罩),加上出处和遮罩列(数据源设的、按 SQL 认出改了名字的、遮罩运行里查询时就遮掉的),合并查询写明 sqlite 方言;agent 的容器在分析前把每份换成完整快照(每份只取回一次)。探查器改用 analysis.make_prober(数据源名 → 按运行固定版本解析出的源,coverage.Cache 一个节点里共用),剖析事实一律用 analysis.probe.profile_facts(查询工具的覆盖检查也改用它,原来那段同样的取法删掉)。分析次数用完交回 analysis.exhausted 的那句;口径卡的可比性写成 {工件, 判定码, 判定语, analysis.comparable_reasons 拆出的原因},删掉自己拆原因的那段。加真算子的端到端测试:agent 变化拆解并下钻(父结论按内容哈希认)、审批恢复重放不再算、分析卡的波动基线和变化拆解(本期完整按现查的表范围判)、口径卡跑真可比性检查(可比、有条件可比带原因),每份结论都按封存的工件复算、逐字段相同 2026-10-21 13:27:12 +08:00