clearai-dsh 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/LICENSE +201 -0
  3. package/README.md +138 -0
  4. package/README.zh-CN.md +138 -0
  5. package/bin/clearai.mjs +224 -0
  6. package/brand/README.md +41 -0
  7. package/brand/logo-512-dark.png +0 -0
  8. package/brand/logo-512.png +0 -0
  9. package/brand/logo-lockup-dark.png +0 -0
  10. package/brand/logo-lockup.png +0 -0
  11. package/brand/logo-lockup.svg +12 -0
  12. package/brand/logo-wordmark.svg +6 -0
  13. package/brand/logo.svg +19 -0
  14. package/cordis.patch.yml +39 -0
  15. package/lib/client.js +3071 -0
  16. package/lib/fold.js +1576 -0
  17. package/lib/host.js +605 -0
  18. package/package.json +65 -0
  19. package/presets/clearai/agent.cordis.yml +226 -0
  20. package/presets/clearai/plugins/brain.js +547 -0
  21. package/presets/clearai/plugins/clearai-kernel.js +5485 -0
  22. package/presets/clearai/plugins/ontology.js +306 -0
  23. package/presets/clearai/plugins/prompts.js +312 -0
  24. package/presets/clearai/preset.yml +5 -0
  25. package/presets/clearai/skills/clearai-loop/SKILL.md +89 -0
  26. package/presets/clearai/template/knowledge/README.md +25 -0
  27. package/presets/clearai/template/memory/README.md +34 -0
  28. package/presets/clearai/template/project.md +49 -0
  29. package/presets/clearai/template/skills/README.md +37 -0
  30. package/presets/clearai/template/skills/chart-diagram-qa/SKILL.md +43 -0
  31. package/presets/clearai/template/skills/citation-management/SKILL.md +73 -0
  32. package/presets/clearai/template/skills/citation-management/references/bibtex_formatting.md +908 -0
  33. package/presets/clearai/template/skills/citation-management/references/citation_validation.md +794 -0
  34. package/presets/clearai/template/skills/citation-management/references/google_scholar_search.md +725 -0
  35. package/presets/clearai/template/skills/citation-management/references/metadata_extraction.md +870 -0
  36. package/presets/clearai/template/skills/citation-management/references/pubmed_search.md +839 -0
  37. package/presets/clearai/template/skills/citation-management/scripts/doi_to_bibtex.py +204 -0
  38. package/presets/clearai/template/skills/citation-management/scripts/extract_metadata.py +569 -0
  39. package/presets/clearai/template/skills/citation-management/scripts/format_bibtex.py +349 -0
  40. package/presets/clearai/template/skills/citation-management/scripts/generate_schematic.py +139 -0
  41. package/presets/clearai/template/skills/citation-management/scripts/generate_schematic_ai.py +817 -0
  42. package/presets/clearai/template/skills/citation-management/scripts/search_google_scholar.py +282 -0
  43. package/presets/clearai/template/skills/citation-management/scripts/search_pubmed.py +398 -0
  44. package/presets/clearai/template/skills/citation-management/scripts/validate_citations.py +497 -0
  45. package/presets/clearai/template/skills/data-analysis/SKILL.md +92 -0
  46. package/presets/clearai/template/skills/data-analysis/checklists/readiness_check.md +23 -0
  47. package/presets/clearai/template/skills/data-analysis/templates/analysis_report.md.tpl +63 -0
  48. package/presets/clearai/template/skills/data-analysis/templates/cleaning_rules_draft.yaml.tpl +32 -0
  49. package/presets/clearai/template/skills/data-analysis/templates/data_dictionary.md.tpl +12 -0
  50. package/presets/clearai/template/skills/data-analysis/templates/domain_knowledge_template.md.tpl +316 -0
  51. package/presets/clearai/template/skills/data-analysis/templates/feature_candidates.json.tpl +20 -0
  52. package/presets/clearai/template/skills/data-analysis/templates/quality_scorecard.md.tpl +30 -0
  53. package/presets/clearai/template/skills/data-analysis/workflows/01-data-profiling.md +42 -0
  54. package/presets/clearai/template/skills/data-analysis/workflows/02-quality-audit.md +36 -0
  55. package/presets/clearai/template/skills/data-analysis/workflows/03-physical-correlation.md +25 -0
  56. package/presets/clearai/template/skills/data-analysis/workflows/04-unstructured-mining.md +26 -0
  57. package/presets/clearai/template/skills/data-qa-analysis/SKILL.md +102 -0
  58. package/presets/clearai/template/skills/data-qa-analysis/checklists/readiness_check.md +62 -0
  59. package/presets/clearai/template/skills/data-qa-analysis/templates/best_in_class_report.md.tpl +56 -0
  60. package/presets/clearai/template/skills/data-qa-analysis/templates/cleaning_rules_draft.yaml.tpl +56 -0
  61. package/presets/clearai/template/skills/data-qa-analysis/templates/data_dictionary.md.tpl +13 -0
  62. package/presets/clearai/template/skills/data-qa-analysis/templates/data_source_inventory_and_lineage.md.tpl +146 -0
  63. package/presets/clearai/template/skills/data-qa-analysis/templates/data_status_report.md.tpl +60 -0
  64. package/presets/clearai/template/skills/data-qa-analysis/templates/steady_state_rules.yaml.tpl +41 -0
  65. package/presets/clearai/template/skills/data-qa-analysis/templates/subsystem_registry.md.tpl +101 -0
  66. package/presets/clearai/template/skills/data-qa-analysis/templates/unified_execution_plan.md.tpl +100 -0
  67. package/presets/clearai/template/skills/data-qa-analysis/workflows/01-data-source-inventory-and-lineage.md +194 -0
  68. package/presets/clearai/template/skills/data-qa-analysis/workflows/02-data-alignment-and-tag-semantics.md +122 -0
  69. package/presets/clearai/template/skills/data-qa-analysis/workflows/03-steady-state-identification.md +126 -0
  70. package/presets/clearai/template/skills/data-qa-analysis/workflows/04-consumption-analysis.md +152 -0
  71. package/presets/clearai/template/skills/data-qa-analysis/workflows/05-best-in-class-and-optimization-space.md +78 -0
  72. package/presets/clearai/template/skills/domain-presearch/SKILL.md +131 -0
  73. package/presets/clearai/template/skills/domain-presearch/checklists/domain_checklist.md +24 -0
  74. package/presets/clearai/template/skills/domain-presearch/references/figure_code.md +78 -0
  75. package/presets/clearai/template/skills/domain-presearch/references/strategic_frameworks.md +38 -0
  76. package/presets/clearai/template/skills/exploration-loop/SKILL.md +81 -0
  77. package/presets/clearai/template/skills/exploratory-data-analysis/SKILL.md +77 -0
  78. package/presets/clearai/template/skills/exploratory-data-analysis/references/bioinformatics_genomics_formats.md +664 -0
  79. package/presets/clearai/template/skills/exploratory-data-analysis/references/chemistry_molecular_formats.md +664 -0
  80. package/presets/clearai/template/skills/exploratory-data-analysis/references/general_scientific_formats.md +518 -0
  81. package/presets/clearai/template/skills/exploratory-data-analysis/references/microscopy_imaging_formats.md +620 -0
  82. package/presets/clearai/template/skills/exploratory-data-analysis/references/proteomics_metabolomics_formats.md +517 -0
  83. package/presets/clearai/template/skills/exploratory-data-analysis/references/spectroscopy_analytical_formats.md +633 -0
  84. package/presets/clearai/template/skills/exploratory-data-analysis/scripts/eda_analyzer.py +547 -0
  85. package/presets/clearai/template/skills/hypothesis-generation/SKILL.md +73 -0
  86. package/presets/clearai/template/skills/hypothesis-generation/references/experimental_design_patterns.md +329 -0
  87. package/presets/clearai/template/skills/hypothesis-generation/references/hypothesis_quality_criteria.md +198 -0
  88. package/presets/clearai/template/skills/hypothesis-generation/references/literature_search_strategies.md +622 -0
  89. package/presets/clearai/template/skills/hypothesis-generation/scripts/generate_schematic.py +139 -0
  90. package/presets/clearai/template/skills/hypothesis-generation/scripts/generate_schematic_ai.py +817 -0
  91. package/presets/clearai/template/skills/literature-review/SKILL.md +72 -0
  92. package/presets/clearai/template/skills/literature-review/references/citation_styles.md +166 -0
  93. package/presets/clearai/template/skills/literature-review/references/database_strategies.md +455 -0
  94. package/presets/clearai/template/skills/literature-review/scripts/generate_pdf.py +176 -0
  95. package/presets/clearai/template/skills/literature-review/scripts/generate_schematic.py +139 -0
  96. package/presets/clearai/template/skills/literature-review/scripts/generate_schematic_ai.py +817 -0
  97. package/presets/clearai/template/skills/literature-review/scripts/search_databases.py +303 -0
  98. package/presets/clearai/template/skills/literature-review/scripts/verify_citations.py +221 -0
  99. package/presets/clearai/template/skills/paper-lookup/SKILL.md +59 -0
  100. package/presets/clearai/template/skills/paper-lookup/references/arxiv.md +161 -0
  101. package/presets/clearai/template/skills/paper-lookup/references/biorxiv.md +118 -0
  102. package/presets/clearai/template/skills/paper-lookup/references/core.md +150 -0
  103. package/presets/clearai/template/skills/paper-lookup/references/crossref.md +181 -0
  104. package/presets/clearai/template/skills/paper-lookup/references/medrxiv.md +104 -0
  105. package/presets/clearai/template/skills/paper-lookup/references/openalex.md +174 -0
  106. package/presets/clearai/template/skills/paper-lookup/references/pmc.md +152 -0
  107. package/presets/clearai/template/skills/paper-lookup/references/pubmed.md +124 -0
  108. package/presets/clearai/template/skills/paper-lookup/references/semantic-scholar.md +203 -0
  109. package/presets/clearai/template/skills/paper-lookup/references/unpaywall.md +127 -0
  110. package/presets/clearai/template/skills/process-presearch/SKILL.md +196 -0
  111. package/presets/clearai/template/skills/process-presearch/checklists/process_checklist.md +18 -0
  112. package/presets/clearai/template/skills/process-presearch/references/figure_code.md +107 -0
  113. package/presets/clearai/template/skills/process-presearch/references/source_attribution_example.md +22 -0
  114. package/presets/clearai/template/skills/process-understanding-extraction/SKILL.md +69 -0
  115. package/presets/clearai/template/skills/process-understanding-extraction/checklists/readiness_check.md +34 -0
  116. package/presets/clearai/template/skills/process-understanding-extraction/templates/docx_raw_dump_extractor.py.tpl +132 -0
  117. package/presets/clearai/template/skills/process-understanding-extraction/templates/entity_map_unit_topology.json.tpl +86 -0
  118. package/presets/clearai/template/skills/process-understanding-extraction/templates/process_brief.md.tpl +89 -0
  119. package/presets/clearai/template/skills/process-understanding-extraction/templates/process_brief_builder_from_raw_dump.py.tpl +203 -0
  120. package/presets/clearai/template/skills/process-understanding-extraction/templates/process_flow_mermaid.md.tpl +41 -0
  121. package/presets/clearai/template/skills/process-understanding-extraction/templates/unified_execution_plan.md.tpl +53 -0
  122. package/presets/clearai/template/skills/process-understanding-extraction/workflows/01-process-doc-discovery.md +173 -0
  123. package/presets/clearai/template/skills/process-understanding-extraction/workflows/02-process-understanding-and-diagramming.md +106 -0
  124. package/presets/clearai/template/skills/scientific-brainstorming/SKILL.md +64 -0
  125. package/presets/clearai/template/skills/scientific-brainstorming/references/brainstorming_methods.md +326 -0
  126. package/presets/clearai/template/skills/scientific-critical-thinking/SKILL.md +72 -0
  127. package/presets/clearai/template/skills/scientific-critical-thinking/references/common_biases.md +364 -0
  128. package/presets/clearai/template/skills/scientific-critical-thinking/references/evidence_hierarchy.md +485 -0
  129. package/presets/clearai/template/skills/scientific-critical-thinking/references/experimental_design.md +496 -0
  130. package/presets/clearai/template/skills/scientific-critical-thinking/references/logical_fallacies.md +478 -0
  131. package/presets/clearai/template/skills/scientific-critical-thinking/references/scientific_method.md +169 -0
  132. package/presets/clearai/template/skills/scientific-critical-thinking/references/statistical_pitfalls.md +506 -0
  133. package/presets/clearai/template/skills/skill-creator/SKILL.md +109 -0
  134. package/presets/clearai/template/skills/skill-creator/references/authoring-guide.md +89 -0
  135. package/presets/clearai/template/skills/statistical-analysis/SKILL.md +79 -0
  136. package/presets/clearai/template/skills/statistical-analysis/references/assumptions_and_diagnostics.md +369 -0
  137. package/presets/clearai/template/skills/statistical-analysis/references/bayesian_statistics.md +653 -0
  138. package/presets/clearai/template/skills/statistical-analysis/references/effect_sizes_and_power.md +578 -0
  139. package/presets/clearai/template/skills/statistical-analysis/references/reporting_standards.md +469 -0
  140. package/presets/clearai/template/skills/statistical-analysis/references/test_selection_guide.md +129 -0
  141. package/presets/clearai/template/skills/statistical-analysis/scripts/assumption_checks.py +538 -0
  142. package/presets/clearai/template/skills/web-artifact/SKILL.md +165 -0
  143. package/presets/clearai/template/skills/web-artifact/assets/renderer/renderer.css +229 -0
  144. package/presets/clearai/template/skills/web-artifact/assets/renderer/renderer.js +373 -0
  145. package/presets/clearai/template/skills/web-artifact/assets/vendor/elkjs/LICENSE +263 -0
  146. package/presets/clearai/template/skills/web-artifact/assets/vendor/elkjs/UPSTREAM.md +26 -0
  147. package/presets/clearai/template/skills/web-artifact/assets/vendor/elkjs/elk.bundled.js +6605 -0
  148. package/presets/clearai/template/skills/web-artifact/references/when-drawing-a-topology.md +150 -0
  149. package/presets/clearai/template/skills/web-artifact/references/when-the-page-must-work-offline.md +62 -0
  150. package/presets/clearai/template/skills/web-artifact/scripts/check_artifact.py +167 -0
  151. package/presets/clearai/template/skills/web-artifact/scripts/render_topology.js +272 -0
  152. package/presets/clearai/template/skills/what-if-oracle/LICENSE.txt +5 -0
  153. package/presets/clearai/template/skills/what-if-oracle/SKILL.md +72 -0
  154. package/presets/clearai/template/skills/what-if-oracle/references/scenario-templates.md +154 -0
@@ -0,0 +1,62 @@
1
+ # 数据 QA & 分析交付自检清单(Readiness Checklist:Workflow01-05)
2
+
3
+ > 在宣布“数据对齐/稳态/代价&波动/BiC 改进空间完成”前,必须通过以下所有检查。
4
+
5
+ ## 0. 上游依赖(来自结构 skill)
6
+ - [ ] 已具备 `products/extracted/unit_inventory.md`(存在性三态 + 观测单元/流转关系 + 资源接口),且内容覆盖关键单元。
7
+ - [ ] 已具备 `products/extracted/entity_map.json`(topology-only),节点=观测单元/支持设施/边界,边=物质或信号流/资源接口,且每条边带 evidence(不含通道号)。
8
+
9
+ ## 1. 执行计划与交付分区 (Plan & Delivery)
10
+ - [ ] 已在执行第一个 workflow 前输出“覆盖本次所有 workflows(仅限本 skill)的统一 plan”并获得用户确认(确认后再执行)。
11
+ - [ ] plan 已逐 workflow 列出 01-05,且每一步明确标注强制产出物清单(含文件路径)。
12
+ - [ ] plan 已显式声明产物分区:过程文件/中间产物输出至 `lab/`,最终交付输出至 `products/`,且每一步标明输出落点。
13
+ - [ ] plan 包含“产出物对照表”,并已逐条对照所选 workflows 的 `## 产出物` 清单逐行复制(无漏项、无概括省略);可选项也已明确 Yes/No 与原因。
14
+ - [ ] 若执行中新增/删除 workflow 或调整交付物,已更新统一 plan 并再次获得用户确认(有记录可追溯)。
15
+ - [ ] 最终交付物(workflows 声明的 `products/extracted/*`)已按 plan 约定落在 `products/`(推荐 `products/extracted/*`)。
16
+
17
+ ## 2. 数据源与血缘 (Lineage)
18
+ - [ ] 已完成数据源盘点:`products/extracted/data_source_inventory.md` 字段完整(路径模式/来源系统/粒度/时间范围/表头结构/编码/单位等)。
19
+ - [ ] 已绘制 `products/extracted/data_lineage.mmd`,且已声明 Pattern 选型(P0~P5)并解释每个 stage 的输入/输出与关键动作。
20
+ - [ ] 已明确 `products/extracted/merge_contract.md`:按时间 outer join / 去重规则 / 冲突优先级(同通道同时间)/ 多行表头处理策略可复现。
21
+ - [ ] 已输出 `products/extracted/mother_table_aligned.csv`,且后续所有分析均以其作为唯一母表输入。
22
+ - [ ] 若存在多张母表:已输出并维护 `products/extracted/mother_table_registry.md`(母表用途/边界/粒度/关系清楚)。
23
+
24
+ ## 3. 通道语义与测量口径 (Tag Semantics & Metric-of-Record)
25
+ - [ ] 已输出 `products/extracted/data_dictionary.md`,通道语义/单位/角色(PV/MV/KPI)/来源优先级清楚。
26
+ - [ ] 已输出 `products/extracted/cleaning_rules.yaml`,并覆盖:时间解析/去重/物理越限/冻结值/缺口处理等。
27
+ - [ ] 已输出 `products/extracted/missing_tags.md`,并明确区分:
28
+ - ObjectNotConfirmed(观测对象存在性未确认,禁止写成无测量通道)
29
+ - Schema 缺失(列缺失)
30
+ - 语义缺失(描述/单位缺失)
31
+ - 数据缺失(值缺失/NaN)
32
+ - [ ] “设备编号≠测量通道”:已通过 `products/extracted/tag_map.csv` / `products/extracted/entity_map_enriched.json` 固化 metric-of-record(对象→测量通道),且 tag 可在母表列名/通道清单中验证存在。
33
+ - [ ] 任何“可能无测量通道/需代理”结论都满足:对象存在性为 State_A/State_B 且已尝试映射仍无任何可用 tag,并附证据链与候选代理规则。
34
+
35
+ ## 4. 稳态与代表性 (Steady State)
36
+ - [ ] 已先输出 `products/extracted/data_status_report.md`(时间范围/间隔/连续段/重复时间点/稳态关键通道齐全性),并确认满足稳态分析条件。
37
+ - [ ] 已先输出并确认 `products/extracted/steady_state_basis.md`(有效判据:负荷阈值 + 过渡窗口剔除 + 连续性/NaN/阈值依据/验证计划),且确认记录发生在生成 mask/table 之前。
38
+ - [ ] 已输出 `products/extracted/steady_state_rules.yaml` 且与 basis 一致。
39
+ - [ ] 已输出 `products/extracted/steady_state_table.csv`,并确认后续所有分析均使用该文件(不是母表/原始导出)。
40
+ - [ ] 已输出 `products/extracted/steady_state_segments.csv` 并检查稳态段连续性与关键通道齐全性。
41
+ - [ ] 已输出 `products/extracted/steady_state_summary.md` 与 `products/extracted/steady_state_validation.md`(抽检记录可追溯)。
42
+
43
+ ## 5. 代价与波动分析 (Cost & Variability)
44
+ - [ ] 已在 `products/extracted/subsystem_registry.md` 固化:最大代价口径(含资源规格,如 power@kW / reagent@gradeA)、子系统边界/负荷口径、共享项分摊规则。
45
+ - [ ] 已完成“资源规格消耗方覆盖完整性检查”(expected vs metered 差集与处理策略)并写入 `products/extracted/subsystem_registry.md`。
46
+ - [ ] 已输出 `products/extracted/consumption_summary.md`(按子系统 + 系统总计),且外推假设与风险已显式声明。
47
+ - [ ] 已输出 `products/extracted/load_distribution.csv`,包含 `subsystem_id`,并基于 `reference_hours` 外推基准期小时与消耗基线。
48
+ - [ ] 波动分析覆盖范围完整:SSC/Q/L(系统+子系统)+ 系统状态 PV + 控制/干预动作 MV/CO;并对“均值接近 0 的变量”做 CV 防错。
49
+ - [ ] `products/extracted/variability_summary.md` 已按 unit 逐一诊断(每节含:波动形态、影响假设、可验证假设、下一步核对动作)。
50
+ - [ ] 已输出 `products/extracted/workflow06_figures.md`(必选图表索引:口径 + 文件落点可追溯)。
51
+
52
+ ## 6. Best-in-Class 与改进空间 (BiC & Improvement Space)
53
+ - [ ] 若系统强耦合,BiC 使用系统级 P20 先选最优时段集合,再进行单元归因(避免“单元最优拼不出系统最优”)。
54
+ - [ ] 外推计算采用“绝对量差/逐负荷段累计”或逐时累计,避免 `avg(A/B)*avg(B)` 偏差。
55
+ - [ ] 并行冗余单元(A/B 两路)已按物理意义合并后再计算(如两路并行回路消耗相加)。
56
+ - [ ] 外推假设(基准期运行小时、单位成本【如启用】、权重口径)已显式声明并与边界契约一致。
57
+
58
+ ---
59
+
60
+ **自检结论**:
61
+ - [ ] 通过 (Ready to Submit)
62
+ - [ ] 需返工 (Needs Rework)
@@ -0,0 +1,56 @@
1
+ # Best-in-Class (BiC/P20) 与改进空间报告模板
2
+
3
+ **对象系统**: ${SYSTEM_NAME}
4
+ **分析周期**: ${DATE_RANGE}
5
+ **数据集**: ${DATASET_DESC}(稳态口径:${STEADY_STATE_DESC})
6
+
7
+ ---
8
+
9
+ ## 1. 口径与定义
10
+
11
+ ### 1.1 系统边界
12
+ ${BOUNDARY_SUMMARY}
13
+
14
+ ### 1.2 KPI 定义
15
+ - 系统负荷:${LOAD_DEF}
16
+ - 系统消耗:${CONS_DEF}
17
+ - 系统单位代价:${SSC_DEF}
18
+
19
+ ### 1.3 标杆定义(P20)
20
+ ${BIC_DEF}
21
+
22
+ ---
23
+
24
+ ## 2. 分负荷段标杆(系统级)
25
+
26
+ | 负荷段 | 样本数 | 平均负荷 | 单位代价P20 | 单位代价P50 | 备注 |
27
+ |---|---:|---:|---:|---:|---|
28
+ | ${BIN_1} | ${N_1} | ${LOAD_AVG_1} | ${P20_1} | ${P50_1} | - |
29
+
30
+ ---
31
+
32
+ ## 3. 系统最优时段集合(System_BiC Hours)
33
+ - 定义:系统单位代价(t) ≤ P20(负荷段(t))
34
+ - 样本占比:${BIC_HOUR_RATE}
35
+
36
+ ---
37
+
38
+ ## 4. 单元归因(在 System_BiC Hours 内)
39
+
40
+ | 单元 | 当前均值消耗 | BiC集合内均值消耗 | 绝对差 | 长周期节省(物理量) | 长周期节省(成本,可选) | 备注 |
41
+ |---|---:|---:|---:|---:|---:|---|
42
+ | ${UNIT_1} | ${CUR_1} | ${BIC_1} | ${DIFF_1} | ${SAVE_Q_1} | ${SAVE_C_1} | - |
43
+
44
+ ---
45
+
46
+ ## 5. 外推假设
47
+ - 基准期运行小时:${HOURS_REF} h
48
+ - 单位成本(如启用):${UNIT_COST}
49
+
50
+ ---
51
+
52
+ ## 6. Pitfalls(必读反例)
53
+ - 系统级 vs 单元级:${PITFALL_COUPLING}
54
+ - 比值平均陷阱:`avg(A/B) * avg(B) != avg(A)`(需使用绝对差/逐段累计)
55
+ - 负荷段过宽:${PITFALL_BINNING}
56
+ - 并行冗余单元未合并:${PITFALL_PARALLEL}
@@ -0,0 +1,56 @@
1
+ # 清洗规则草案 (Cleaning Rules Draft)
2
+ # Purpose: 观测/实验母表的质量门槛与可复现清洗契约
3
+
4
+ rules:
5
+ - id: "R001"
6
+ target_field: "${TIME_COL}"
7
+ action: "drop_invalid_time"
8
+ condition: "time_parse_failed == true"
9
+ reason: "Invalid timestamp"
10
+
11
+ - id: "R002"
12
+ target_field: "${TIME_COL}"
13
+ action: "drop_duplicates"
14
+ params:
15
+ subset: ["${TIME_COL}"]
16
+ keep: "first"
17
+ reason: "Duplicate timestamps"
18
+
19
+ - id: "R003"
20
+ target_field: "${TAG_FIELD}"
21
+ action: "normalize_tag"
22
+ params:
23
+ replace:
24
+ "-": "_"
25
+ strip_suffix: [".PV", ".MV", ".OUT", ".VALUE", ".SP", ".OP"]
26
+ upper: true
27
+ reason: "Normalize tag naming for matching (do not erase PV/MV semantics in final schema)"
28
+
29
+ - id: "R004"
30
+ target_field: "${SENSOR_FIELD}"
31
+ action: "set_null"
32
+ condition: "value < ${PHYS_MIN} or value > ${PHYS_MAX}"
33
+ reason: "Physical limits exceeded (sensor failure)"
34
+
35
+ - id: "R005"
36
+ target_field: "${SENSOR_FIELD}"
37
+ action: "detect_freeze"
38
+ params:
39
+ window_points: ${FREEZE_WINDOW_POINTS}
40
+ tolerance: ${FREEZE_TOL}
41
+ reason: "Sensor freeze / stuck value"
42
+
43
+ - id: "R006"
44
+ target_field: "all_sensors"
45
+ action: "ffill"
46
+ params:
47
+ limit: ${FFILL_LIMIT}
48
+ reason: "Short communication gaps (only if domain-approved)"
49
+
50
+ - id: "R007"
51
+ target_field: "${STEADY_STATE_FLAG}"
52
+ action: "pre_filter_transient"
53
+ params:
54
+ window_minutes: ${WINDOW_MINUTES}
55
+ policy: "${TRANSIENT_POLICY}"
56
+ reason: "Pre-filter startup/shutdown/calibration transient segments before KPI analysis"
@@ -0,0 +1,13 @@
1
+ # 数据字典 (Data Dictionary)
2
+
3
+ ## 模板说明
4
+ 用于观测/实验母表的通道语义固化。建议“通道-语义-单位-角色-来源”一次写清楚,避免后续口径漂移。
5
+
6
+ | 通道 (Tag) | 物理含义 (Meaning) | 单位 (Unit) | 角色 (PV/MV/SP/KPI) | 采样频率 | 正常范围 | 设计值 | 告警限LL/L/H/HH | 来源优先级 | 备注 |
7
+ |---|---|---|---|---|---|---|---|---|---|
8
+ | `${TAG_1}` | ${MEANING_1} | ${UNIT_1} | ${ROLE_1} | ${FREQ_1} | ${RANGE_1} | ${DESIGN_1} | ${ALARM_1} | ${SOURCE_1} | ${REMARK_1} |
9
+ | `${TAG_2}` | ${MEANING_2} | ${UNIT_2} | ${ROLE_2} | ${FREQ_2} | ${RANGE_2} | ${DESIGN_2} | ${ALARM_2} | ${SOURCE_2} | ${REMARK_2} |
10
+
11
+ ## 补充说明
12
+ - **通道归一化规则**:${NORMALIZATION_RULES}
13
+ - **缺失值语义**:${MISSING_VALUE_CODES}
@@ -0,0 +1,146 @@
1
+ # 数据源盘点与数据血缘模板 (Data Source Inventory & Lineage)
2
+
3
+ ## 模板说明
4
+ 用于观测/实验数据项目的“数据源盘点 + 母表血缘 + 合并契约”交付。目标是让任何 KPI/稳态/标杆结论都 **可追溯**。
5
+
6
+ **对象系统**: ${SYSTEM_NAME}
7
+ **分析日期**: ${DATE}
8
+ **负责人**: ${OWNER}
9
+
10
+ ---
11
+
12
+ # 1. 数据源清单 (Inventory)
13
+
14
+ > 填写原则:先覆盖全量,再逐步标注“已纳入母表/未纳入但可补充/仅用于解释”。
15
+
16
+ | 数据源ID | 路径/文件模式 | 来源系统 | 数据类型 | 粒度/频率 | 时间范围 | 时间列 | 主键 | 编码 | 单位状态 | 表头结构 | 备注 |
17
+ |---|---|---|---|---|---|---|---|---|---|---|---|
18
+ | S01 | ${PATH_1} | ${SYSTEM_1} | 时序模拟量 | 1min | ${RANGE_1} | ${TIME_COL_1} | - | gbk/utf-8 | 未统一/已统一 | 单行/多行 | - |
19
+ | S02 | ${PATH_2} | ${SYSTEM_2} | 报警/事件 | event | ${RANGE_2} | ${TIME_COL_2} | ${KEY_2} | - | - | - | - |
20
+
21
+ ## 1.1 表头行定义(如存在多行表头)
22
+ 若存在多行表头,请在此定义每一行含义(示例):
23
+ - 第1行:列名/通道(Tag)
24
+ - 第2行:通道清单描述(Meaning)
25
+ - 第3行:要点(Key points)
26
+ - 第4行:方案/说明抽取描述(Protocol summary)
27
+ - 第5-11行:设计值/正常范围/告警限/仪器量程(如有)
28
+
29
+ ---
30
+
31
+ # 2. 母表定义 (Mother Table)
32
+
33
+ **母表路径**: ${MOTHER_TABLE_PATH}
34
+
35
+ ## 2.1 一行代表什么?
36
+ - [ ] 时间点(连续观测常见)
37
+ - [ ] 实验批次/轮次
38
+ - [ ] 事件/报警
39
+ - [ ] 其他:${ROW_SEMANTIC}
40
+
41
+ ## 2.2 母表关键字段
42
+ - 时间列:${MOTHER_TIME_COL}
43
+ - 时间解析:${TIME_PARSE_RULE}
44
+ - 连续性定义:相邻间隔 ≤ ${CONTINUOUS_GAP} 视为连续
45
+
46
+ ## 2.3 母表包含哪些信息层?
47
+ - [ ] 数据层(时间点 → 通道值)
48
+ - [ ] 元数据层(通道 → 描述/单位/量程/设计值/告警限)
49
+ - [ ] 两者混合(多行表头 + 数据行)
50
+
51
+ ---
52
+
53
+ # 3. 数据血缘 (Lineage)
54
+
55
+ ## 3.0 母表合成模式选择(必填,避免误解“母表如何来的”)
56
+ > 说明:不同项目拿到的上游数据形态不同,母表合成链路也不同。请从下列 Pattern 中选择最符合本项目实际情况的一种,并写明理由与各 stage 的输入/输出文件名模式(用占位路径表达即可)。
57
+
58
+ - 选用 Pattern:${PATTERN_ID}(P0/P1/P2/P3/P4/P5)
59
+ - 选型理由:${PATTERN_REASON}
60
+ - Stage 列表(输入/输出文件名模式 + 关键加工动作):${STAGE_LIST}
61
+
62
+ Pattern 速查(填写时只需选一种):
63
+ - **P0**:只拿到现成母表或等价对齐宽表(仍需补齐 Spec+Contract)
64
+ - **P1**:分阶段合并 `raw_history_exports/ → history_merged/ → project_merged/ → products/extracted/mother_table_aligned.csv`
65
+ - **P2**:已有项目级宽表直对齐 `project_merged/ → products/extracted/mother_table_aligned.csv`
66
+ - **P3**:直连历史库查询对齐 `historian_query → aligned_wide_table → products/extracted/mother_table_aligned.csv`
67
+ - **P4**:多观测段多母表 `mother_segment_* → system_mother`
68
+ - **P5**:增量追加滚动重算 `monthly_append/ → rolling_merged → products/extracted/mother_table_aligned.csv`
69
+
70
+ ## 3.1 血缘图(Mermaid)
71
+
72
+ > 画你项目实际采用的那一种即可;边上必须标注关键动作(outer join/dedup/priority/meta header/alignSpec 等)。
73
+
74
+ ### 示例块:Pattern P1(分阶段合并)
75
+
76
+ ```mermaid
77
+ flowchart LR
78
+ rawHistoryExports["raw_history_exports/ (raw)"] -->|"concat+sort+dedup + metaHeaderExtract"| historyMerged["history_merged/ (stage1)"]
79
+ historyMerged -->|"outerJoinOnTime + priorityRule + tagNormalize"| projectMerged["project_merged/ (stage2)"]
80
+ projectMerged -->|"alignSpec + protectAllTags + dataTableOnly"| motherAligned["products/extracted/mother_table_aligned.csv (aligned)"]
81
+
82
+ supplementWide["supplement_wide_table.csv (optional)"] -.->|"outerJoinOnTime + fillNA_byPriority"| projectMerged
83
+ ```
84
+
85
+ ### 示例块:Pattern P2(已有项目级宽表直对齐)
86
+
87
+ ```mermaid
88
+ flowchart LR
89
+ projectMerged["project_merged/ (existing artifacts)"] -->|"alignSpec + protectAllTags + dataTableOnly"| motherAligned["products/extracted/mother_table_aligned.csv (aligned)"]
90
+ ```
91
+
92
+ ### 示例块:Pattern P3(直连历史库查询对齐)
93
+
94
+ ```mermaid
95
+ flowchart LR
96
+ historianQuery["historian_query(tags,time_range)"] -->|"timeAlign+resample + tagNormalize"| alignedWide["aligned_wide_table.csv"]
97
+ alignedWide -->|"alignSpec + protectAllTags + dataTableOnly"| motherAligned["products/extracted/mother_table_aligned.csv (aligned)"]
98
+ ```
99
+
100
+ ## 3.2 节点说明
101
+ | 节点 | 含义 | 生成方式 | 负责人 | 版本/日期 |
102
+ |---|---|---|---|---|
103
+ | raw_history_exports/ | ${RAW_HISTORY_DESC} | 原始导出(可选:按月/按系统) | - | - |
104
+ | history_merged/ | ${HISTORY_MERGED_DESC} | concat+dedup(仅对 Pattern P1 常见) | - | - |
105
+ | project_merged/ | ${PROJECT_MERGED_DESC} | outer join + priority + tagNormalize | - | - |
106
+ | mother_table_aligned.csv | ${MOTHER_DESC} | alignSpec(对齐母表) | - | - |
107
+
108
+ ---
109
+
110
+ # 4. 合并契约 (Merge Contract)
111
+
112
+ ## 4.1 合并主键与方式
113
+ - 合并主键:${MERGE_KEY}(如时间列)
114
+ - 合并方式:outer join / left join / union all
115
+
116
+ ## 4.2 冲突优先级(同 Tag + 同时间)
117
+ 必须明确一条“可复现规则”:
118
+ - 优先级顺序:${PRIORITY_ORDER}
119
+ - 填空策略:${FILL_STRATEGY}(如“历史优先,补充填空”)
120
+
121
+ ## 4.3 去重规则(同时间多行)
122
+ - 去重字段:${DEDUP_FIELDS}
123
+ - 保留策略:keep=first/last 或聚合(avg/median)
124
+
125
+ ## 4.4 编码与单位
126
+ - 编码:${ENCODING_POLICY}
127
+ - 单位统一:${UNIT_POLICY}
128
+
129
+ ---
130
+
131
+ # 5. 质量审计摘要 (Quick Audit)
132
+
133
+ | 检查项 | 结果 | 备注 |
134
+ |---|---|---|
135
+ | 时间列可解析率 | ${TIME_PARSE_RATE} | - |
136
+ | 重复时间点比例 | ${DUP_TIME_RATE} | - |
137
+ | 缺失率Top10通道 | ${MISSING_TOP10} | - |
138
+ | 多源重叠通道数 | ${OVERLAP_TAGS} | - |
139
+
140
+ ---
141
+
142
+ # 6. 示例链路(可选,用于展示写法)
143
+ 示例链路(仅用于展示结构,不要依赖任何特定项目路径):
144
+ - Pattern P1:`lab/data/raw_history_exports/*` → `lab/data/history_merged/*` → `lab/data/project_merged/*` → `products/extracted/mother_table_aligned.csv`
145
+ - Pattern P2:`lab/data/project_merged/*` → `products/extracted/mother_table_aligned.csv`
146
+ - Pattern P3:`historian_query(...)` → `lab/data/aligned_wide_table.csv` → `products/extracted/mother_table_aligned.csv`
@@ -0,0 +1,60 @@
1
+ # 数据状况报告模板(稳态前必备)
2
+
3
+ **对象系统**: ${SYSTEM_NAME}
4
+ **母表**: ${MOTHER_TABLE}
5
+ **分析日期**: ${DATE}
6
+
7
+ ---
8
+
9
+ ## 1. 基本信息
10
+ | 项目 | 值 |
11
+ |---|---|
12
+ | 总时间点数 | ${N_POINTS} |
13
+ | 时间范围 | ${T_START} ~ ${T_END} |
14
+ | 覆盖时长 | ${COVERAGE} |
15
+ | 采样期望 | ${EXPECTED_SAMPLING} |
16
+
17
+ ---
18
+
19
+ ## 2. 时间间隔与连续性
20
+
21
+ ### 2.1 时间间隔分布(相邻点差分)
22
+ | 指标 | 值 |
23
+ |---|---:|
24
+ | P50 | ${GAP_P50} |
25
+ | P90 | ${GAP_P90} |
26
+ | P95 | ${GAP_P95} |
27
+ | Max | ${GAP_MAX} |
28
+
29
+ ### 2.2 连续段统计(连续性定义:相邻间隔 ≤ ${CONTINUOUS_GAP})
30
+ | 指标 | 值 |
31
+ |---|---:|
32
+ | 连续段数量 | ${N_SEGMENTS} |
33
+ | 最长连续段 | ${MAX_SEGMENT} |
34
+ | 最短连续段 | ${MIN_SEGMENT} |
35
+ | 平均连续段 | ${AVG_SEGMENT} |
36
+
37
+ Top 段列表(示例):
38
+ | 序号 | 开始时间 | 结束时间 | 时长 | 点数 |
39
+ |---:|---|---|---:|---:|
40
+ | 1 | ${S1_START} | ${S1_END} | ${S1_DUR} | ${S1_N} |
41
+
42
+ ---
43
+
44
+ ## 3. 重复时间点与去重
45
+ | 项目 | 值 |
46
+ |---|---:|
47
+ | 重复时间点行数 | ${N_DUP_ROWS} |
48
+ | 重复占比 | ${DUP_RATE} |
49
+ | 去重策略 | ${DEDUP_POLICY} |
50
+
51
+ ---
52
+
53
+ ## 4. 关键通道齐全性(仅稳态判据所需通道)
54
+ | 通道 | 非空率 | 最大连续缺失 | 备注 |
55
+ |---|---:|---:|---|
56
+ | ${TAG_1} | ${TAG_1_RATE} | ${TAG_1_MAX_GAP} | - |
57
+
58
+ 结论(是否满足进入稳态分析):
59
+ - [ ] 满足
60
+ - [ ] 不满足(需要回到 `workflows/01-data-source-inventory-and-lineage.md` / `workflows/02-data-alignment-and-tag-semantics.md` 修正母表/通道语义)
@@ -0,0 +1,41 @@
1
+ # 稳态规则模板 (Steady State / In-observation Rules)
2
+ # 输出物:可复现的“有效稳态(In-observation)”判据(阈值需结合数据分布校准)
3
+
4
+ meta:
5
+ system_name: "${SYSTEM_NAME}"
6
+ time_col: "${TIME_COL}"
7
+ sampling_minutes: ${SAMPLING_MINUTES}
8
+ continuous_gap_minutes: ${CONTINUOUS_GAP_MINUTES}
9
+
10
+ in_observation:
11
+ # 有效判据(强制,建议以输入通量/负荷为主)
12
+ running_conditions:
13
+ - id: "RUN001"
14
+ expression: "${LOAD_TAG} > ${LOAD_MIN}"
15
+ reason: "In-observation: input flux/load above minimum threshold"
16
+ - id: "RUN002"
17
+ expression: "${AUX_TAG} > ${AUX_MIN}"
18
+ reason: "Optional supporting evidence (auxiliary resource consumption / operating condition)"
19
+ combine: "AND" # AND / OR(建议:以输入通量为主;辅助证据可 OR 或不启用)
20
+
21
+ transition_exclusion:
22
+ enabled: true
23
+ window_minutes: ${TRANSITION_WINDOW_MINUTES}
24
+ # 在 in_observation 状态切换点附近剔除过渡段(避免刚启动/刚停止瞬态)
25
+ nan_policy: "${NAN_POLICY}" # off / abnormal / skip
26
+
27
+ optional_deep_steady_state:
28
+ enabled: false
29
+ # 可选:仅当业务需要“深稳态/波动小”时启用(例如用于机理建模/回归)
30
+ window_minutes: ${DEEP_STEADY_WINDOW_MINUTES}
31
+ criteria:
32
+ - id: "DSS001"
33
+ type: "std_over_mean"
34
+ field: "${KEY_TEMP_TAG}"
35
+ max_cv: ${TEMP_MAX_CV}
36
+ reason: "Optional: key temperature variability filter"
37
+ - id: "DSS002"
38
+ type: "std_over_mean"
39
+ field: "${KEY_PRESS_TAG}"
40
+ max_cv: ${PRESS_MAX_CV}
41
+ reason: "Optional: key pressure variability filter"
@@ -0,0 +1,101 @@
1
+ # 子系统登记表 (Subsystem Registry)
2
+
3
+ > 目的:把“一个大系统如何拆分为多个子系统(按输入/负荷)”与“代价资源规格的消耗方覆盖检查”固化为可审计口径。
4
+ > 本文件一旦确认,将作为后续 `workflow04`(单位代价/外推/波动)的唯一边界与口径约束。
5
+
6
+ ## 0. 基本信息
7
+
8
+ - **系统/观测段名称**:${SYSTEM_NAME}
9
+ - **登记日期**:${DATE}
10
+ - **负责人**:${OWNER}
11
+ - **稳态数据输入**:`products/extracted/steady_state_table.csv`
12
+ - **口径来源**:`products/extracted/unit_inventory.md`、`products/extracted/tag_map.csv`、`products/extracted/entity_map_enriched.json`
13
+
14
+ ---
15
+
16
+ ## 1. 代价资源口径(Primary Cost Driver Spec,必填)
17
+
18
+ - **资源类型**:${COST_MEDIUM}(power / coolant / reagent / compute / ...)
19
+ - **资源规格/等级**:${COST_GRADE}(例如 power@kW / reagent@gradeA / compute@GPUh)
20
+ - **消耗量 Q 定义**:${Q_DEFINITION}(单点/多点求和/换算规则)
21
+ - **单位**:${Q_UNIT}
22
+ - **净值规则**:${NET_RULES}(是否扣除回收/旁路/内循环等)
23
+
24
+ ---
25
+
26
+ ## 2. 子系统列表(按输入/负荷拆分,必填)
27
+
28
+ | subsystem_id | subsystem_name | 输入/负荷 tags(负荷口径) | unit 清单(边界内) | 备注 |
29
+ |-------------|----------------|----------------------------|---------------------------|------|
30
+ | S1 | ${SUBSYSTEM_1_NAME} | ${SUBSYSTEM_1_LOAD_TAGS} | ${SUBSYSTEM_1_UNITS} | ${SUBSYSTEM_1_NOTE} |
31
+ | S2 | ${SUBSYSTEM_2_NAME} | ${SUBSYSTEM_2_LOAD_TAGS} | ${SUBSYSTEM_2_UNITS} | ${SUBSYSTEM_2_NOTE} |
32
+
33
+ > **拆分依据(必填)**:说明为何需要拆分,并写出判定证据。建议至少覆盖以下通用原则:
34
+ > - **入口位置原则(强烈建议默认采用)**:若不同输入进入不同的“直接接收单元/入口位置”(例如分别进入不同处理单元/不同实验线路),则应拆分为不同子系统(每路输入对应一个子系统),避免把不同入口的系统硬合并造成口径错误。
35
+ > - 证据优先来自上游结构 skill 输出的“输入去向映射表”(Feed → DirectReceivingUnit)与 `products/extracted/entity_map_enriched.json` 的边界输入边(Boundary_Feed_* → Unit)。
36
+ > - **互斥/分模式原则**:若多路输入在稳态数据中明显互斥(A 开时 B 基本为 0),应拆分为不同 mode/subsystem。
37
+ > - **合并的例外条件**:只有在能证明输入在上游很快汇合并共享同一套主要代价资源/主要单元链路时,才允许合并,并必须说明为何不会导致口径缺路或重复计入。
38
+ ${SPLIT_RATIONALE}
39
+
40
+ ---
41
+
42
+ ## 3. 子系统负荷与系统总计规则(必填)
43
+
44
+ ### 3.1 子系统负荷定义
45
+
46
+ 对每个子系统写清楚:
47
+ - **L_s(t) 公式**:${LOAD_FORMULA}
48
+ - **多路输入合并规则**:sum / mode / other
49
+ - **互斥/并行判断**:${MUTUAL_EXCLUSION_RULE}
50
+
51
+ ### 3.2 系统总计规则
52
+
53
+ - **L_total(t)**:${L_TOTAL_RULE}
54
+ - **Q_total(t)**:${Q_TOTAL_RULE}
55
+ - **共享项分摊/不分摊**:${ALLOCATION_RULES}(若无法分摊,必须标注风险)
56
+
57
+ ---
58
+
59
+ ## 4. 资源规格“消耗方覆盖完整性检查”(必填)
60
+
61
+ > 目标:确保所有“使用该资源规格”的单元都纳入 Q 统计,避免漏项(例如某些单元使用同一规格电力/试剂但未计入总量)。
62
+
63
+ ### 4.1 expected_consumers(理论应计入)
64
+
65
+ 来源:`products/extracted/unit_inventory.md` 的 `energy_interfaces`(资源接口)与/或 `products/extracted/entity_map_enriched.json` 的 resource edges。
66
+ | unit | resource_interface | medium@grade | 证据位置 |
67
+ |-----------|------------------|--------------|----------|
68
+ | ${UNIT_1} | ${IFACE_1} | ${GRADE_1} | ${EVID_1} |
69
+
70
+ ### 4.2 metered_consumers(实际已计量并纳入 Q)
71
+
72
+ 来源:`products/extracted/tag_map.csv`(资源边/节点对应 tag)。
73
+ | unit | q_tag(s) | unit | 来源/置信度 |
74
+ |-----------|----------|------|-------------|
75
+ | ${UNIT_1} | ${TAG_1} | ${UNIT} | ${SRC} |
76
+
77
+ ### 4.3 缺口与处理
78
+
79
+ | unit | 缺口类型 | 影响 | 处理建议 |
80
+ |-----------|----------|------|----------|
81
+ | ${UNIT_X} | Unmetered / TagMissingInMotherTable / ObjectNotConfirmed | ${IMPACT} | ${ACTION} |
82
+
83
+ > **结论(必填)**:覆盖是否完整?若不完整,是否允许继续计算(需在 `products/extracted/consumption_summary.md` 与后续改进空间测算中标注风险)?
84
+ ${COVERAGE_CONCLUSION}
85
+
86
+ ---
87
+
88
+ ## 5. 按子系统的资源计入规则(必填)
89
+
90
+ 对每个子系统说明:
91
+ - 纳入哪些 unit 的资源消耗(与覆盖检查一致)
92
+ - 若有共享计量表/共享设施:如何分摊到子系统(或不分摊)
93
+
94
+ ---
95
+
96
+ ## 6. 确认记录(闸门)
97
+
98
+ - **确认日期**:${CONFIRM_DATE}
99
+ - **确认人**:${CONFIRMER}
100
+ - **结论**:[ ] 通过 / [ ] 需修改
101
+ - **变更记录**:${CHANGELOG}
@@ -0,0 +1,100 @@
1
+ # 统一执行计划(Unified Plan,数据 QA & 分析版:Workflow01-05)
2
+
3
+ > **强制**:本 plan 覆盖本次任务将执行的**所有 workflows(仅限本 skill)**。执行第一个 workflow 前必须先让用户确认本 plan。
4
+
5
+ ## 0. 基本信息
6
+
7
+ - **项目/系统**:${PROJECT_NAME}
8
+ - **边界范围(简述)**:${SCOPE_SUMMARY}
9
+ - **计划日期**:${DATE}
10
+ - **负责人**:${OWNER}
11
+
12
+ ## 1. 前置依赖(来自结构 skill 的交付物)
13
+
14
+ > 本 skill 依赖“系统理解与结构提取”skill 的上游产物作为输入约束(不跨目录引用模板/清单,但必须满足这些文件已存在且可用)。
15
+
16
+ - `products/extracted/unit_inventory.md`(存在性三态 + 观测单元/流转关系 + 资源接口)
17
+ - `products/extracted/entity_map.json`(topology-only:节点=观测单元/支持设施/边界;边=物质或信号流/资源接口;含 evidence;不含通道号)
18
+
19
+ ## 2. 产物分区(必须)
20
+
21
+ - **lab/**:过程文件/中间产物(临时表、探索性 notebook、截图等)
22
+ - **products/**:最终交付(推荐把 workflows 声明的 `products/extracted/*` 映射为 `products/extracted/*`)
23
+
24
+ > **规则**:任何 workflow 的“强制产出物”必须在 plan 中写清楚最终落点(`lab/` or `products/` + 具体文件路径)。
25
+
26
+ ## 3. 本次将执行的 Workflows(顺序与原因)
27
+
28
+ | 顺序 | workflow | 目的 | 前置依赖 | 主要强制产出物(文件) |
29
+ |------|----------|------|----------|------------------------|
30
+ | 01 | `workflows/01-data-source-inventory-and-lineage.md` | ${WHY_WF01} | 结构产物 + 数据源 | `products/extracted/data_source_inventory.md`<br/>`products/extracted/data_lineage.mmd`<br/>`products/extracted/merge_contract.md`<br/>`products/extracted/mother_table_aligned.csv`<br/>`products/extracted/mother_table_registry.md` |
31
+ | 02 | `workflows/02-data-alignment-and-tag-semantics.md` | ${WHY_WF02} | wf01 + 结构产物 | `products/extracted/data_dictionary.md`<br/>`products/extracted/cleaning_rules.yaml`<br/>`products/extracted/missing_tags.md`<br/>`products/extracted/tag_map.csv`<br/>`products/extracted/entity_map_enriched.json` |
32
+ | 03 | `workflows/03-steady-state-identification.md` | ${WHY_WF03} | wf01/02 | `products/extracted/data_status_report.md`<br/>`products/extracted/time_gap_summary.csv`<br/>`products/extracted/continuous_segments.csv`<br/>`products/extracted/steady_state_basis.md`<br/>`products/extracted/steady_state_rules.yaml`<br/>`products/extracted/steady_state_mask.csv`<br/>`products/extracted/steady_state_segments.csv`<br/>`products/extracted/steady_state_table.csv`<br/>`products/extracted/steady_state_summary.md`<br/>`products/extracted/steady_state_validation.md` |
33
+ | 04 | `workflows/04-consumption-analysis.md` | ${WHY_WF04} | wf03 | `products/extracted/subsystem_registry.md`<br/>`products/extracted/consumption_summary.md`<br/>`products/extracted/load_distribution.csv`<br/>`products/extracted/variability_summary.md`<br/>`products/extracted/workflow06_figures.md` |
34
+ | 05 | `workflows/05-best-in-class-and-optimization-space.md` | ${WHY_WF05} | wf04 | `products/extracted/bic_thresholds.csv`<br/>`products/extracted/optimization_space_by_unit.csv`<br/>`products/extracted/improvement_space_summary.md` |
35
+
36
+ > 上表默认“执行 01-05 全链路”。若本次不执行某些 workflow,必须在下方“产出物对照表”里明确标记为 N/A,并说明原因与风险。
37
+
38
+ ## 4. 产出物对照表(强制,逐条对照 workflow 的 `## 产出物`)
39
+
40
+ > **硬规则**:本表必须逐条对照你将执行的每个 workflow 文件中的 `## 产出物` 清单,**逐行复制**文件名/路径,不允许“概括/省略/合并同类项”。
41
+ > 若 workflow 的产出物有“可选”,也必须在本表明确是否产出(Yes/No)与原因。
42
+
43
+ ### 4.1 Workflow 01
44
+
45
+ | 条目 | 来自 workflow 的产出物条目 | 本次是否产出 | 最终落点(lab/product + 路径) | 备注 |
46
+ |------|---------------------------|--------------|------------------------------|------|
47
+ | 01-1 | `products/extracted/data_source_inventory.md` | Yes | `products/extracted/data_source_inventory.md` | |
48
+ | 01-2 | `products/extracted/data_lineage.mmd` | Yes | `products/extracted/data_lineage.mmd` | |
49
+ | 01-3 | `products/extracted/merge_contract.md` | Yes | `products/extracted/merge_contract.md` | |
50
+ | 01-4 | `products/extracted/mother_table_aligned.csv` | Yes | `products/extracted/mother_table_aligned.csv` | |
51
+ | 01-5 | `products/extracted/mother_table_registry.md` | Yes | `products/extracted/mother_table_registry.md` | 推荐始终产出 |
52
+ | 01-6 | (可选,但推荐)`products/extracted/header_meta.csv` | ${YES_NO} | ${PATH} | |
53
+ | 01-7 | (可选)`products/extracted/tag_map.csv` | ${YES_NO} | ${PATH} | |
54
+
55
+ ### 4.2 Workflow 02
56
+
57
+ | 条目 | 来自 workflow 的产出物条目 | 本次是否产出 | 最终落点(lab/product + 路径) | 备注 |
58
+ |------|---------------------------|--------------|------------------------------|------|
59
+ | 02-1 | `products/extracted/data_dictionary.md` | Yes | `products/extracted/data_dictionary.md` | |
60
+ | 02-2 | `products/extracted/cleaning_rules.yaml` | Yes | `products/extracted/cleaning_rules.yaml` | |
61
+ | 02-3 | `products/extracted/missing_tags.md` | Yes | `products/extracted/missing_tags.md` | |
62
+ | 02-4 | `products/extracted/tag_map.csv` | Yes | `products/extracted/tag_map.csv` | |
63
+ | 02-5 | `products/extracted/entity_map_enriched.json` | Yes | `products/extracted/entity_map_enriched.json` | |
64
+
65
+ ### 4.3 Workflow 03
66
+
67
+ | 条目 | 来自 workflow 的产出物条目 | 本次是否产出 | 最终落点(lab/product + 路径) | 备注 |
68
+ |------|---------------------------|--------------|------------------------------|------|
69
+ | 03-1 | `products/extracted/data_status_report.md` | Yes | `products/extracted/data_status_report.md` | |
70
+ | 03-2 | `products/extracted/time_gap_summary.csv` | Yes | `products/extracted/time_gap_summary.csv` | |
71
+ | 03-3 | `products/extracted/continuous_segments.csv` | Yes | `products/extracted/continuous_segments.csv` | |
72
+ | 03-4 | `products/extracted/steady_state_basis.md` | Yes | `products/extracted/steady_state_basis.md` | 必须先确认后再继续 |
73
+ | 03-5 | `products/extracted/steady_state_rules.yaml` | Yes | `products/extracted/steady_state_rules.yaml` | |
74
+ | 03-6 | `products/extracted/steady_state_mask.csv` | Yes | `products/extracted/steady_state_mask.csv` | |
75
+ | 03-7 | `products/extracted/steady_state_segments.csv` | Yes | `products/extracted/steady_state_segments.csv` | |
76
+ | 03-8 | `products/extracted/steady_state_table.csv` | Yes | `products/extracted/steady_state_table.csv` | 下游唯一输入 |
77
+ | 03-9 | `products/extracted/steady_state_summary.md` | Yes | `products/extracted/steady_state_summary.md` | |
78
+ | 03-10 | `products/extracted/steady_state_validation.md` | Yes | `products/extracted/steady_state_validation.md` | |
79
+
80
+ ### 4.4 Workflow 04
81
+
82
+ | 条目 | 来自 workflow 的产出物条目 | 本次是否产出 | 最终落点(lab/product + 路径) | 备注 |
83
+ |------|---------------------------|--------------|------------------------------|------|
84
+ | 04-1 | `products/extracted/subsystem_registry.md` | Yes | `products/extracted/subsystem_registry.md` | |
85
+ | 04-2 | `products/extracted/consumption_summary.md` | Yes | `products/extracted/consumption_summary.md` | |
86
+ | 04-3 | `products/extracted/load_distribution.csv` | Yes | `products/extracted/load_distribution.csv` | 按子系统长周期外推 |
87
+ | 04-4 | `products/extracted/variability_summary.md` | Yes | `products/extracted/variability_summary.md` | 按 unit 逐一诊断 |
88
+ | 04-5 | `products/extracted/workflow06_figures.md` | Yes | `products/extracted/workflow06_figures.md` | 图表索引 |
89
+
90
+ ### 4.5 Workflow 05
91
+
92
+ | 条目 | 来自 workflow 的产出物条目 | 本次是否产出 | 最终落点(lab/product + 路径) | 备注 |
93
+ |------|---------------------------|--------------|------------------------------|------|
94
+ | 05-1 | `products/extracted/bic_thresholds.csv` | Yes | `products/extracted/bic_thresholds.csv` | 系统 P20 |
95
+ | 05-2 | `products/extracted/optimization_space_by_unit.csv` | Yes | `products/extracted/optimization_space_by_unit.csv` | 单元改进空间 |
96
+ | 05-3 | `products/extracted/improvement_space_summary.md` | Yes | `products/extracted/improvement_space_summary.md` | 改进空间与长周期收益 |
97
+
98
+ ## 5. 计划确认(用户确认后才允许执行)
99
+
100
+ - [ ] 用户确认 plan(日期/确认人/备注):${PLAN_APPROVAL}