ThearchyHelios
|
97cd9498a4
|
入口字段声明不一致时合并,不把整份草稿判死
同一份文档分十轮起草,各轮对 factory_code 的必填/类型声明常对不上。原先直接抛错,34 条
指标的草稿因为一个字段的 required 不同整份作废。现在必填取并集、类型取更宽,每一处不一致
记一条说明摆在入口字段下面;建图和界面共用同一套合并逻辑。
|
2026-11-04 09:54:16 +08:00 |
|
ThearchyHelios
|
0d5f9609e7
|
起草轮询窗口放到 15 分钟
实测 10 轮起草要 7 分钟,10 分钟窗口在慢一点的环境里会提前报超时。
|
2026-11-04 09:37:20 +08:00 |
|
ThearchyHelios
|
939f0f3448
|
起草上限放到 10 轮 60 条
实测同文档 6 轮只覆盖 22 条(每轮 3–5 条),剩 23 条撞在轮数上限上。按实测节奏放到 10 轮。
|
2026-11-04 09:28:54 +08:00 |
|
ThearchyHelios
|
bf07944cf7
|
草稿页:起草进度、截断分两种说法、几十条指标可扫读
轮询窗口放宽到十分钟;文档被截和目录被截分开提示;指标默认收起摘要行,一屏看得到名字和
试运行的值。
|
2026-11-04 09:24:37 +08:00 |
|
ThearchyHelios
|
ec8ee6c92a
|
起草自动续跑:多轮覆盖 uncovered,最多 6 轮 40 条
每轮收一组指标、写一次进度(第几轮、覆盖几条、还剩几条),直到没有新指标、uncovered
空了或到上限。中途每轮落库,页面能看到「第 2 轮 · 已覆盖 12 条 · 还有 27 条」,不再是
一个转圈的空白。
|
2026-11-04 09:24:37 +08:00 |
|
ThearchyHelios
|
e6c8ee2827
|
一张草稿图支持多个取数节点
一份文档里的指标常常分属不同粒度、不同表,一条 SQL 装不下。build_graph 改成接收多组
{sql, entry_fields, metrics}:一组仍叫 fetch,多组叫 fetch_1…,每组指标的表达式改写到
自己的取数节点,指标 id 全局重排,入口字段合并(同名不同类型直接报错,不静默取舍)。
同时把「文档被截」和「目录被截」拆开:以前目录超长也报「文档太长」,界面在骗人。
|
2026-11-04 09:24:37 +08:00 |
|
ThearchyHelios
|
8b2f01d15d
|
目录按文档点到的表优先展开;模型提问不再算起草失败
这个数据源的目录渲染出来十万字符,被截到两万四,kpi_info 的 attribute01…54 全在被砍掉的
后半段,模型看不到列就只能如实列问题——界面却把它记成「起草失败」。
现在文本按「概览 → 全量表索引 → 全量列名 → 文档点到的表展开」排,预算不够先丢最后一段,
列名一个不少。模型一条指标都没写、但把缺什么说清楚时,草稿落在 questions_open,问题原样
留下来,不再报失败。
|
2026-11-04 08:54:42 +08:00 |
|
ThearchyHelios
|
a7b8f05587
|
草稿页列出这次没起草的指标
一组能共用一条 SQL 的指标起草完,文档里其余的按名称列出来,提示可以再起一份接着做。
|
2026-11-04 08:37:52 +08:00 |
|
ThearchyHelios
|
8682deb447
|
起草按「能共用一条 SQL 的一组」进行,并抢救被截断的回复
实测:一条 SQL 枚举十几列 CASE WHEN 就把输出额度吃光,文档里十几条指标一条都写不出来,
界面只报「没有一条指标通过校验」。现在提示模型一次只起草同组指标(最多 6 条)、SQL 写短,
其余的进 uncovered;回复被截断时按完整片段抢救指标和 SQL,失败原因里写清模型实际交回了
什么形状,不再只说没有指标。
|
2026-11-04 08:37:52 +08:00 |
|
ThearchyHelios
|
d9d430dab6
|
草稿页改成看「定义、数、引用」再签字
试运行结果和入口字段直接摆在页面上;主按钮是去画布审改并发布,接上一次运行收进次要入口。
数据源改为必选并默认选中:没有目录就写不出取数 SQL。
|
2026-11-04 00:30:26 +08:00 |
|
ThearchyHelios
|
13f1158191
|
口径起草一次到位:生成取数图并自动试运行,不再要求人工接一次运行
「不从指标定义编译 SQL」管的是事后比对的基准,不是起草。起草照样让模型写 SQL,但只允许
目录里的表和列、单条只读 SELECT、入口字段必须先声明;每条定义仍要能逐字对上原文。
起草成功即建工作流与 v1;试运行只跑取数与口径卡(derive.caliber_probe),不触发报告撰写,
也不会因为没有可用模型就判这份口径不行。接上一次运行保留为辅助入口。
|
2026-11-04 00:30:26 +08:00 |
|
ThearchyHelios
|
5a29bcd8a6
|
口径试跑归入不参与「最近一次封存」的来源
加了来源没归类,test_shares 会先失败。试跑是探索运行,不该被看板当成最近一次正式运行。
|
2026-11-03 23:26:36 +08:00 |
|
ThearchyHelios
|
91754e05bd
|
补上 caliber_trial 进系统来源时漏改的断言
试跑是服务端派生的只读运行,计进使用统计会把「试一下」算成「在用」。
|
2026-11-03 23:11:45 +08:00 |
|
ThearchyHelios
|
1cd9cab7b4
|
同义词随定义一起留在口径卡上
文档里叫「月活」,卡上指标叫「月度活跃买家」;同义词丢了,以后按名字找这份口径就永远对不上。
合并时带上(大小写与空白不算新说法),并让口径描述把它交出去。
|
2026-11-03 23:08:28 +08:00 |
|
ThearchyHelios
|
43a38e926c
|
起草失败单独记一种状态,别再停在「起草中」
没有可用模型、模型回复读不懂时,草稿此前一直留在 drafting,界面会以为还在跑。现在置 failed
并把原因写进 error;补上真指标后 PATCH 仍能把它推回正常流程。
|
2026-11-03 23:07:01 +08:00 |
|
ThearchyHelios
|
f697ab7ed2
|
口径详情给模型看定义说明
文档起草过来的口径,定义是它唯一带着的业务边界(适用范围、不包含什么)。此前 look 只给
指标式和单位,模型只能凭名字猜这份口径答的是不是这个问题。定义压成一句、限 240 字,
概览一行不加。
|
2026-11-03 23:04:58 +08:00 |
|
ThearchyHelios
|
1e6fec98c1
|
补一条端到端:文档草稿接上运行后图能过校验,且在发布前对问数不可见
|
2026-11-03 22:59:47 +08:00 |
|
ThearchyHelios
|
8b80b59a15
|
口径草稿页:看引用原文、清未决问题、接上一次真实运行
列表按状态筛,抽取完成后轮询到出结果;被丢弃的条目单独列出原因,未决问题逐条处理完才
能接数据路径。入口挂在口径目录页头,不动全局导航。
|
2026-11-03 22:59:47 +08:00 |
|
ThearchyHelios
|
7f66985dba
|
口径草稿:从业务文档抽定义,再从一次真实运行接上取数路径
新增 caliber_drafts 表与 /api/ledger/drafts 一组接口:抽取在后台跑,文档缺失整单拒绝,
有未决问题时停在 questions_open,问题清完才到 path_pending。
接上运行沿用从运行固化的建图逻辑,定义按同名或同义词并入指标卡,expression 与 id 不动;
文档引用记进 origin.documents,复核能落回具体段落。接入只产出可试跑的草稿,不发布、不发起运行。
|
2026-11-03 22:50:14 +08:00 |
|
ThearchyHelios
|
51daa7b96c
|
把从运行固化的建图部分抽成 build_graph,供文档草稿接上数据路径时复用
行为逐字不变:节点 id、顺序、报告配置、出口契约都与原来一致,test_ledger_certify
的断言一条未改。
|
2026-11-03 22:42:32 +08:00 |
|
ThearchyHelios
|
4f0aa62dcc
|
业务文档起草口径草稿:只产出定义与逐字引用,不产出取数
文档里写的是业务说法,不是库里的表和 SQL。模型回复里出现 SQL、表名、列名的一律丢弃;
每条定义必须能在原文里按归一化空白逐字定位,定位不到就不进草稿。草稿在 path_pending
状态下不是合法图,因此不写进 workflows.graph。
|
2026-11-03 22:42:28 +08:00 |
|
ThearchyHelios
|
753c35918d
|
复盘修正:试运行不计入统计、评估标签遮罩、规则/评估卡可组合
|
2026-11-03 21:23:08 +08:00 |
|
ThearchyHelios
|
4bf9e56979
|
支持评估型指标:rubric 加权评分、等级与 assessed 标签
|
2026-11-03 20:52:29 +08:00 |
|
ThearchyHelios
|
e1d63e7389
|
规则 DSL 编译成只读 SQL,并用 fixture 验证
|
2026-11-03 20:50:06 +08:00 |
|
ThearchyHelios
|
6e7f2a5ce8
|
支持规则型指标:单元格条件确定性求值与 derived 标签
|
2026-11-03 20:36:04 +08:00 |
|
ThearchyHelios
|
37657e24c3
|
支持外部常量指标:来源、生效日期、过期降档与 external 标签
|
2026-11-03 20:32:55 +08:00 |
|
ThearchyHelios
|
214a3367ff
|
指标定义卡与参数进入校验、descriptor 和目录页
|
2026-11-03 19:45:41 +08:00 |
|
ThearchyHelios
|
68af29a180
|
增加口径目录页与试跑:入口表单、依赖说明和只读试跑
|
2026-11-03 19:43:39 +08:00 |
|
ThearchyHelios
|
aeaca4ce69
|
记录口径调用审计:compose 与正式出具各记一条参数指纹
|
2026-11-03 19:38:00 +08:00 |
|
ThearchyHelios
|
5eb1c8ff00
|
增加口径可调用 descriptor:入口 Schema、依赖与出具策略
|
2026-11-03 19:34:28 +08:00 |
|
ThearchyHelios
|
97710463fe
|
补子图查询进入父图账本比对的回归测试
|
2026-11-03 19:14:23 +08:00 |
|
ThearchyHelios
|
89817a6ef4
|
修正旧图金样对新增口径内容指纹的断言
|
2026-11-03 19:12:41 +08:00 |
|
ThearchyHelios
|
539119cf5c
|
分析结论记录说法模板版本:复算时版本不同不误报文字差异
|
2026-11-03 19:12:27 +08:00 |
|
ThearchyHelios
|
174375c6c7
|
新设遮罩列时清理目录里的码值、含义与备注
|
2026-11-03 18:53:39 +08:00 |
|
ThearchyHelios
|
90597d5540
|
口径增加内容指纹:指标集与账本候选记录定义哈希
|
2026-11-03 18:47:32 +08:00 |
|
ThearchyHelios
|
ce2f68a373
|
口径取数 SQL 增加书写 lint:取整、补 0 在画布提示并在受管发布时拦截
|
2026-11-03 18:36:26 +08:00 |
|
ThearchyHelios
|
80a479d723
|
合入:分析能力一轮(算、想、核六项 + 评测)
平台补上一层「确定性的数据分析」,补的是原来缺的那半:报告里站得住的数只来自 SQL 的格、口径卡的标量式和运行输入,而写作者被要求「说清变化和原因」,系统既不给原因从哪来、也不核对原因。本轮把「算什么」「怎么想」「怎么说」都做成可复算、可点开、可核对的东西。
算(五个算子,app/analysis)
- 可比性检查:两份查询是否只差日期、窗口是否一样长、本期是否整期、星期构成是否相同;按 SQL 里的格式串认周号算法(SQLite %W / %U、MySQL %U / %u / %V / %v、to_char WW / IW),算不出真实起止就判「核对不了」,绝不判完整;口径卡的指标用到两份同形只差字面量的查询时自动做一次,结果挂在指标上,出具时不可比记缺口、有条件可比只标注。
- 变化拆解:可加按维度算贡献(各段之和与总数闭合,不闭合不给占比、不下集中判断)、比率拆出结构效应与各段自身效应(中点对称拆法,能识别辛普森悖论)、乘积按 LMDI 拆因子,逐层下钻(上一层那一段的值做闭合)。
- 波动基线:把本期放回过去 N 期的历史,用中位数与 MAD 判常规波动、超出、明显超出;本期不完整、缺期、历史不够都照实说算不了。
- 趋势:Theil–Sen 斜率 + Mann–Kendall(小样本精确分布、并列修正、连续性校正),末尾连续同向期数。
- 差异检验:Wilson / Newcombe 区间、合并比例 z 检验与 Fisher 精确、Welch t、Holm 多重比较校正、去掉极值的敏感性。
- 统计全是纯 Python(不加依赖);数与判定语规范化、同输入逐字节相同;每份结论记方法版本、实际阈值、输入快照、现查的表范围、判定标准,按内容哈希寻址,复算逐字段相同才算核对通过。
想(分析型问数)
- 五个 agent 分析工具(analysis_decompose / baseline / trend / differ / comparable),参数只有「算什么」、没有阈值;绑了就注入一套分析方法(先可比性和基线、再拆因子与结构、由粗到细拆维度、找到主要来源再下钻一层、写明假设、拆了不集中也是结论、不作因果断言、算不了照实说)。
- 问题意图词表判断「为什么 / 是否异常 / 趋势 / 差异」这类问题;助手按分析类问题的形状建图并自查是否绑了分析工具(只挡一轮)。
- 结论末尾由系统写「分析范围」:查了什么、排除了什么、没拆的是哪些候选维度(候选维度从数据目录算,目录没维护就照实说没维护)。
- 内置模板 ⑪「异动分析(可追溯)」;评测变体加「分析工具开 / 关」对照与预设。
核(分析说法核对)
- 报告里的判断词(主要来自、集中在、拖累、分散、结构变化、异常、大幅、新高新低、正常波动、持续、趋势、显著高于、差异不大)必须挂对应的分析结论,而且判定、点名的段、方向要对得上;因果说法要有知识库原话或运行输入作依据,否则写成推测。
- 判定语由系统渲染,写作者只引用([[a:A1]]、[[a:A1.top_share]]、[[table:A1 …]]),不再自己下判断;分析结论里的占比、变化率按百分数、比率之差按百分点、有量纲的比率(客单价这类)照原值显示。
- 缺省「重写一次后标出」、不影响出具档位;受管级要求严格(重写后仍有就进出具缺口),出口独立复核。
- 修掉一个口子:引用模式下被引指标的输入追不到原始数据时,受管级记缺口降档,和证据面板的说法一致。
证据与界面
- 分析结论进证据台账编号 A1、A2…,按内容哈希寻址、随运行封存;出处链六步(判定 → 方法 → 计算 → 输入 → 复算 → 封存),网页证据面板、报告导出、可验证报告三处同一套;证据图多一种「派生自」的边。
- 分析卡:画布新增节点类型,模板里固定要做哪些分析、可写阈值覆盖、产出可接分支;分析卡里随数据变化的错误记成「算不了」不让卡失败。
- 前端:分析卡与分析项编辑器、设置「分析」一节(17 项)、问数据时间线的分析步骤、运行对比的分析卡一区、正文里判定语可点与说法违规标注、分析范围一段、出具横幅三项。
- 设置「偏好设置 → 分析」:阈值只来自这里的快照和分析卡上的覆盖,模型改不了。
评测
- 两种新期望:贡献(按维度的主要来源与方向)、判定(波动基线 / 趋势 / 差异检验 / 可比性),期望值由期望 SQL 的快照加同一套算子算出来,仍不许人填;评分沿用五种结论,评分规则第 3 版,提示词指纹包含分析方法与写作者的分析规则。
- 新建虚构库 retail_trends(26 周、埋了八个效应)与分析题集,现有零售库不动。
验收
- 后端全量 16026 通过;PostgreSQL 全量未跑(本轮没改表结构、没加迁移);tsc、check-copy、check-docs 通过;浏览器检查 14 项 5599 项通过,最后受影响的 5 项 2229 项重跑通过。
- 真实模型验收:隔离数据目录、虚构库,8 道分析题 × 分析工具开 / 关 × 每臂 3 次(48 次作答)。开:准确率 75.0%、可追溯准确率 58.3%;关:20.8%、0%;配对检验 p=0.031(开对关错 6 题、关对开错 0 题)。人工核 8 次作答的证据链、判定、说法,查出并修掉了:比率本身被套百分数(客单价 160.76 显示成 16,076.0%)、有量纲比率的效应值乘了一百、判定语整句搬进正文与「核对不了」当结论、因子正确主来源被判不符、目录没维护时的误导话术、评测估不出花费时按 0 预留却记成已计价。
- 遗留:可追溯匹配不核主口径一致性(会略微抬高准确率);未计价模型的金额上限不起作用(设计如此);「问数据」里有的模型会绕开题目要的口径(模型行为,评测分数会体现)。
升级说明
- 报告节点新增两个配置:分析说法核对(缺省「重写一次后标出」)、分析范围(缺省有分析结论时附上)。已发布的版本照常运行,只多一次重写和一处标注、不改档位;下次发布时按新的受管要求(严格)检查。
- 数据目录、数据库表结构、迁移都没有变化;老报告按记下的显示规则版本复核,结果不变。
|
2026-10-22 00:05:39 +00:00 |
|
ThearchyHelios
|
cf30f999f6
|
验收复核查出的三处:有量纲比率的效应值(结构效应、自身效应、合计影响、变化)照原值显示,不再乘一百说成百分点(客单价影响 -11.12 元 / 单以前显示 -1,112.1 个百分点);只读一张表、目录还没维护时分析范围照实说目录没维护,不说成对不上目录里的列;写作规则补一条不写重复判定语开头的引言
|
2026-10-21 18:08:59 +00:00 |
|
ThearchyHelios
|
9219df8190
|
真实模型验收查出的五条修正:①比率拆解里比率本身是有量纲的比率(客单价,元 / 单)时不套百分数,以前 160.76 显示成 16,076.0%,各段分子都不超过分母(退款率这类占比)照旧按百分数;②写作规则补两条——判定语一句只引用一份结论、不把几份判定语用逗号拼成一句,「核对不了」是系统的核对说明不是结论;③说法核对的来源判断看整个分句(主来源写在判断词后面的「主要由订单量放大带来」也能认),点名的段按去掉结尾量词的词根兜底(订单量 认 订单数);④数据目录还没维护时候选维度照实说目录没维护、提示怎么补,不说成认不出事实表;⑤评测估不出每题花费时金额照 0 记但记成未计价,账本上看得出;金额上限照旧按累计金额判
|
2026-10-21 17:33:49 +00:00 |
|
ThearchyHelios
|
30423a0686
|
可验证报告那条新测试按列名找结果表的格:S8 起出处面板写结果表记的列名(占变化的比重),不把列 id(share)当叫法
|
2026-10-21 16:27:43 +00:00 |
|
ThearchyHelios
|
7b47ce1724
|
合入第 2 波复核修复 S1:分析结论的占比、变化率、比率之差按百分数 / 百分点显示——结果表带每列的显示格式、具名的数带格式,证据渲染、整表、写作目录、证据面板、导出、可验证报告都按它;显示规则 4 版,老文档按记下的版本复核;空格写「—」
# Conflicts:
# backend/tests/test_analysis_pages.py
|
2026-10-21 16:23:39 +00:00 |
|
ThearchyHelios
|
709a50208a
|
合入第 2 波复核修复 S2、S5、S6:关分析工具那一臂挡分析卡与用了分析的子工作流、节点手册里不再出现分析;问题意图词表与自查那句进评测的提示词指纹;问题意图不把问构成当来源、不把问数据质量当异常
|
2026-10-21 16:22:21 +00:00 |
|
ThearchyHelios
|
eade5aab5d
|
关分析工具那一臂挡分析卡:图里有分析卡、嵌套的子工作流里有分析卡或分析工具都挡回去改;关掉时节点手册里不再出现分析卡、分析工具和分析相关的配置(改写与整段去掉);问题意图词表版本与自查交回的那句进评测的提示词指纹;问题意图不把「哪个贡献最多」当来源、不把「数据是否正常」当异常;评测「关」那一臂的替身改成照样试着加分析卡、靠真代码挡
|
2026-10-21 16:19:49 +00:00 |
|
ThearchyHelios
|
316863b2e0
|
零售样例题集的试算:退款金额两边都按两位小数比(SQLite 的 ROUND(SUM(amount), 2) 出来是浮点,6448.19 存成 6448.1900000000005,逐字比会随数据变而失败;main 上同样失败)
|
2026-10-21 16:19:28 +00:00 |
|
ThearchyHelios
|
e225fcdd2c
|
合入第 2 波复核修复 S3、S7、S8、S10、P1:分析卡上写在验证什么的那句照实说是模板作者写的、分析步骤的编号写明是哪一层、证据面板的格写列名与总数按服务端渲染、注释归位、窄屏收起工具栏的改名图标
|
2026-10-21 16:17:20 +00:00 |
|
ThearchyHelios
|
74ab9d57f2
|
工作流工具栏:窄屏收起改名图标。768 宽、失败的运行加未保存加两枚芯片时,顶栏最右的控件伸到 791px、出了视口(main 上 3c5c9d3c 给名字旁边加的那枚铅笔)。照其它次要按钮的做法在窄于 880px 的容器里收起来,改名在「切换工作流」的列表里照样有。check-studio 加两条:窄屏工具栏上看不到它、列表里有
|
2026-10-21 16:08:55 +00:00 |
|
ThearchyHelios
|
3311fead7f
|
check-runs 的「有出处」一组不再写死三行:第 2 波 S1 起报告多引了变化率、比重、一处没写换算的具名的数和整表展开的几格,行数照夹具里审计的「有出处」一组数对
|
2026-10-21 15:59:56 +00:00 |
|
ThearchyHelios
|
28e7b0e12b
|
测试:占比、变化率、权重按百分数显示(第 2 波 S1)——每种实测情况一条断言:正文引用 [[a:A1.top_share]]、[[v:A1.r0.share]]、[[v:A1.r0.pct]] 没写换算时取结论记的格式(61.9%、-14.6%),写了换算的照写作者的;整表按格式展开;写作目录的具名的数与结果表按格式写;证据面板接口的具名的数、结果表的格、整体比率那一格(空格写「—」);导出页与可验证报告照引用渲染;老文档(3 版)照原样、复核不判对不上,按新规则重渲染才判对不上。另钉住各算子填了哪些列、pct 与 pp 的写法、同输入两次 run 逐字节相同、复算逐字段相同
|
2026-10-21 15:55:51 +00:00 |
|
ThearchyHelios
|
851506761c
|
文档:分析结论里的占比、变化率由系统按百分数显示,比率的变化按百分点,写作者照常引用、不用自己写换算(写了照他的)。分析能力、证据与出具两份文档的中英各补一句,标题层级不动,check-docs 0 问题
|
2026-10-21 15:55:41 +00:00 |
|
ThearchyHelios
|
d3ba6de882
|
证据面板的前端夹具按第 2 波 S1 重新录制(真跑一次,模型换成脚本):报告里多引了两处没写换算的格(变化率 [[v:A1.r0.pct]]、比重 [[v:A1.r0.share]])、一处没写换算的具名的数([[a:A1.top_share]]),另展开一张 [[table:A1 cols=region,delta,pct,share rows=0-1]],文档记 cell_display: 4;计算一步的具名的数、结果表按结论记的格式写(88.2%、-30.0%),比率拆解的整体比率写成 3.5%。check-evidence 补四条:具名的数 88.2% 而不是 0.8823529412、结果表 -30.0%、没写换算的引用与整表按格式写、空格是「—」不是 null
|
2026-10-21 15:55:32 +00:00 |
|