用户令:「所有的计算 均要形成 观澜的源代码,确保 观澜 在别的电脑安装后,系统运行正常。」
本清单是这条令的可核对底稿:把"页面/接口要用的每一件数据,是不是都由包内的源代码算出来的"逐族列清, 列出还没落到源代码的那些族的现状、喂谁、缺什么、怎么补。
判据来源(机器可读,不靠印象):scripts/products_reverse_audit.py::FAMILIES 的族表 ——
kind=shipped/human 且 gen=None 的族就是"没有生成端";scripts/products_reverse_audit.py --check
在交付前会把族表与盘上账目对一遍(当前 rc=0:1,778 件全部 raw-derived)。
| 件 | 生成端(在包内) | 喂谁 | 复检 |
|---|---|---|---|
m5_cms_tcm/handoff_vibration_v2.json(融合面) |
scripts/rudong_fusion_handoff.py(观澜自算:报告状态等级 + fusion_38.csv + L6 过闸线 → 同结构件;meta.from 标"观澜自算",盘上若有振动线正本则不覆盖) |
/detail/v2 的「需要关注」+「全场状态」(/api/fleet 的 fus) |
链盘 38 行 / 需要关注 3 台(WTG09 齿轮箱、WTG17/WTG27 发电机)/ 矩阵 38 行 ✔ |
windscada/index.html(总览「全场状态」页) |
scripts/windscada_overview_build.py(用组件同一个快照烘焙器 src/windscada/ui/snapshot.py::bake 把 /api/fleet・curves・vibcms・本体响应烤进单文件页) |
/detail/v2 的「全场状态总览」<iframe src="/static/index.html"> |
3.78 MB 真页面(此前是 2 KB 的"产物不在位"说明页)✔ |
两件都已进重算链:④b 里 model_run → fusion → report → **fusion_handoff** → kb;⑦ 之后新增 ⑦b 全场状态总览页(自算烘焙)。
| # | 族 | 件 | 喂谁(页面/接口) | 现在没源代码的后果 | 需要的生成端(输入 → 产物) | 可行性 |
|---|---|---|---|---|---|---|
| 1 | pitch_shipped |
pitch/pitch_daily.parquet、pitch_zero_monthly.parquet |
/api/fleet 的变桨面判级(逐台页/总览的"变桨系统"格) |
变桨面显示"缺件 ⇒ 不可判" | scada_10min(+scada_1min) 的桨距角/桨叶油压通道 → 日粒度零位/漂移表 |
中:通道在数据里,需定"零位口径"(停机段中位?满发段中位?) |
| 2 | vib_handoff_and_scans 其余件 |
m5_cms_tcm/component_history.json、baseline_38.json、oem_frequency_scan.parquet 等扫描件 |
本体 trend_ingest(在升/闭环证据)、vib_confidence、maintenance 数据层页、报告附录 |
趋势/置信度面少一维;数据层页把这几件列成缺件 | component_history:由逐窗 L6+标量按部件聚合历史;baseline_38:由 fleet_scalar_z/标量算三层基线(自/机群/绝对) |
中:结构简单,但"口径"要与消费端字段对齐(trend_ingest.py 读法已可参照) |
| 3 | tcm_replay |
tcm_compatible_replay/model/mask_thresholds.tsv 等 |
CMS 报告/逐台页的厂商黄红阈值线;data.load_masks |
页面只画机群中位,阈值线缺失(现文案:"厂商未设阈值") | 由 data/raw/如东/windcms 导出件里的 red_alarm/yellow_alarm/red_hys/… 索引列反解出每 (测点,测量,工况) 的中位/黄/红标量 |
中偏低:索引里确有这些列(54 列之一),口径需反推 + 抽台对拍 |
| 4 | ontology_releases |
ontology/release_r1/*、release_r2/* |
网关 /release/*(只读发布层)、门户"发布层"入口 |
/release/ 两件 503(如实报缺) |
由 ontology/objects.json + 层清单配置生成 r1/r2 层(kb_ingest/populate 之后跑一步) |
易:纯搬运/投影,无判据 |
| 5 | guanlan_contract + sop_workspace + paradigm_r1 |
guanlan/facts_contract_v0.json 及 derived/*;sop/findings.json;E3/E5/E8 底稿 |
门户「本场结论·契约生成」段、/detail 问答/报告页(/api/facts 503) |
门户结论段停在旧数;问答/报告面 503 | 新增"从重算台账生成 claims"的生成端(alarms/workorders/oil/temp/本体 → 结构化 claim:claim_id/裁决/时间窗/样本/证据引用),替代人裁底稿作为输入 | 难且涉及口径:这一族原本是人裁结论(119 条),改成机器生成等于换口径 → 需你点头(见 §2) |
| 6 | windcms_pages 剩余件 |
windcms/ 下厂家报告转录、kb 之外的其他件 |
CMS 首页/工作台的少数入口 | 个别入口空 | 多数已由 windcms.py report/kb 覆盖;剩余是"厂家报告转录"(输入是现场 PDF,属外部正本) |
易/不适用 |
| 7 | vib_figs |
m5_cms_tcm/figs/* |
振动报告里的插图 | 报告少图 | 由谱库渲染 PNG(可复用 src/windcms 的 SVG/绘图) |
低优先 |
| 8 | windscada_pages 剩余件 |
windscada/turbines/*、review/* |
静态副本(运行期逐台页由组件动态出,不依赖它) | 无实际影响 | 若要静态副本:复用 windscada_overview_build.py 的烘焙(逐台 slim 版) |
易 |
| 9 | human_deliverables |
windscada/mblub_alarm_cross.json、review_presented.json、送审结论 |
本体 populate 的证据来源之一 |
少一条人工证据(本体仍可用) | 不应由源代码生成(是人对人的交证件/回执) | 不适用(族表已记 kind=human,不参与呼应校验) |
sop/findings.json 的字段结构写生成端,门户结论段/问答/报告三处随之由重算驱动;pitch_daily 的"零位"用停机段中位还是满发段中位(或两者都出、分列)?
定了我就把生成端写进链(口径写进产物与台账)。① ontology_releases 生成端(易,先把 /release 两件点亮)
② component_history / baseline_38 生成端(中,补趋势与置信度面)
③ tcm_replay 掩码阈值反解(中偏低,页面阈值线回来)
④ pitch 面生成端(中,需你先定零位口径)
⑤ 事实契约生成端(难,需你先定口径)
⑥ vib_figs / 静态逐台副本(低优先)
每补一族都走同一套纪律:生成端进包 + 进重算链 + 写进族表(gen/input) + 产物自登记 + 复检页面,
并在 docs/系统设计说明.md §13.6 与族表里把该族从"无生成端"改成"已在重算链上(附口径与验证依据)"。