clearai-dsh 0.3.1 → 0.5.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 (150) hide show
  1. package/CHANGELOG.md +172 -0
  2. package/README.md +30 -30
  3. package/README.zh-CN.md +30 -30
  4. package/bin/clearai.mjs +29 -231
  5. package/cordis.patch.yml +3 -3
  6. package/lib/client.js +862 -2555
  7. package/lib/domain-language.js +614 -48
  8. package/lib/fold.js +449 -1020
  9. package/lib/host.js +47 -557
  10. package/lib/invariant.js +9 -12
  11. package/lib/knowledge-view.js +421 -225
  12. package/lib/lang.js +81 -0
  13. package/package.json +2 -2
  14. package/presets/clearai/agent.cordis.yml +57 -82
  15. package/presets/clearai/clearai.patch.yml +57 -82
  16. package/presets/clearai/plugins/clearai-kernel.js +2103 -5457
  17. package/presets/clearai/plugins/ontology.js +76 -20
  18. package/presets/clearai/plugins/prompts.js +75 -363
  19. package/presets/clearai/skills/clearai-loop/SKILL.md +81 -59
  20. package/presets/clearai/plugins/brain.js +0 -547
  21. package/presets/clearai/plugins/commands.js +0 -199
  22. package/presets/clearai/template/knowledge/README.md +0 -25
  23. package/presets/clearai/template/memory/README.md +0 -34
  24. package/presets/clearai/template/project.md +0 -49
  25. package/presets/clearai/template/skills/README.md +0 -37
  26. package/presets/clearai/template/skills/chart-diagram-qa/SKILL.md +0 -43
  27. package/presets/clearai/template/skills/citation-management/SKILL.md +0 -73
  28. package/presets/clearai/template/skills/citation-management/references/bibtex_formatting.md +0 -908
  29. package/presets/clearai/template/skills/citation-management/references/citation_validation.md +0 -794
  30. package/presets/clearai/template/skills/citation-management/references/google_scholar_search.md +0 -725
  31. package/presets/clearai/template/skills/citation-management/references/metadata_extraction.md +0 -870
  32. package/presets/clearai/template/skills/citation-management/references/pubmed_search.md +0 -839
  33. package/presets/clearai/template/skills/citation-management/scripts/doi_to_bibtex.py +0 -204
  34. package/presets/clearai/template/skills/citation-management/scripts/extract_metadata.py +0 -569
  35. package/presets/clearai/template/skills/citation-management/scripts/format_bibtex.py +0 -349
  36. package/presets/clearai/template/skills/citation-management/scripts/generate_schematic.py +0 -139
  37. package/presets/clearai/template/skills/citation-management/scripts/generate_schematic_ai.py +0 -817
  38. package/presets/clearai/template/skills/citation-management/scripts/search_google_scholar.py +0 -282
  39. package/presets/clearai/template/skills/citation-management/scripts/search_pubmed.py +0 -398
  40. package/presets/clearai/template/skills/citation-management/scripts/validate_citations.py +0 -497
  41. package/presets/clearai/template/skills/data-analysis/SKILL.md +0 -92
  42. package/presets/clearai/template/skills/data-analysis/checklists/readiness_check.md +0 -23
  43. package/presets/clearai/template/skills/data-analysis/templates/analysis_report.md.tpl +0 -63
  44. package/presets/clearai/template/skills/data-analysis/templates/cleaning_rules_draft.yaml.tpl +0 -32
  45. package/presets/clearai/template/skills/data-analysis/templates/data_dictionary.md.tpl +0 -12
  46. package/presets/clearai/template/skills/data-analysis/templates/domain_knowledge_template.md.tpl +0 -316
  47. package/presets/clearai/template/skills/data-analysis/templates/feature_candidates.json.tpl +0 -20
  48. package/presets/clearai/template/skills/data-analysis/templates/quality_scorecard.md.tpl +0 -30
  49. package/presets/clearai/template/skills/data-analysis/workflows/01-data-profiling.md +0 -42
  50. package/presets/clearai/template/skills/data-analysis/workflows/02-quality-audit.md +0 -36
  51. package/presets/clearai/template/skills/data-analysis/workflows/03-physical-correlation.md +0 -25
  52. package/presets/clearai/template/skills/data-analysis/workflows/04-unstructured-mining.md +0 -26
  53. package/presets/clearai/template/skills/data-qa-analysis/SKILL.md +0 -102
  54. package/presets/clearai/template/skills/data-qa-analysis/checklists/readiness_check.md +0 -62
  55. package/presets/clearai/template/skills/data-qa-analysis/templates/best_in_class_report.md.tpl +0 -56
  56. package/presets/clearai/template/skills/data-qa-analysis/templates/cleaning_rules_draft.yaml.tpl +0 -56
  57. package/presets/clearai/template/skills/data-qa-analysis/templates/data_dictionary.md.tpl +0 -13
  58. package/presets/clearai/template/skills/data-qa-analysis/templates/data_source_inventory_and_lineage.md.tpl +0 -146
  59. package/presets/clearai/template/skills/data-qa-analysis/templates/data_status_report.md.tpl +0 -60
  60. package/presets/clearai/template/skills/data-qa-analysis/templates/steady_state_rules.yaml.tpl +0 -41
  61. package/presets/clearai/template/skills/data-qa-analysis/templates/subsystem_registry.md.tpl +0 -101
  62. package/presets/clearai/template/skills/data-qa-analysis/templates/unified_execution_plan.md.tpl +0 -100
  63. package/presets/clearai/template/skills/data-qa-analysis/workflows/01-data-source-inventory-and-lineage.md +0 -194
  64. package/presets/clearai/template/skills/data-qa-analysis/workflows/02-data-alignment-and-tag-semantics.md +0 -122
  65. package/presets/clearai/template/skills/data-qa-analysis/workflows/03-steady-state-identification.md +0 -126
  66. package/presets/clearai/template/skills/data-qa-analysis/workflows/04-consumption-analysis.md +0 -152
  67. package/presets/clearai/template/skills/data-qa-analysis/workflows/05-best-in-class-and-optimization-space.md +0 -78
  68. package/presets/clearai/template/skills/domain-presearch/SKILL.md +0 -131
  69. package/presets/clearai/template/skills/domain-presearch/checklists/domain_checklist.md +0 -24
  70. package/presets/clearai/template/skills/domain-presearch/references/figure_code.md +0 -78
  71. package/presets/clearai/template/skills/domain-presearch/references/strategic_frameworks.md +0 -38
  72. package/presets/clearai/template/skills/exploration-loop/SKILL.md +0 -81
  73. package/presets/clearai/template/skills/exploratory-data-analysis/SKILL.md +0 -77
  74. package/presets/clearai/template/skills/exploratory-data-analysis/references/bioinformatics_genomics_formats.md +0 -664
  75. package/presets/clearai/template/skills/exploratory-data-analysis/references/chemistry_molecular_formats.md +0 -664
  76. package/presets/clearai/template/skills/exploratory-data-analysis/references/general_scientific_formats.md +0 -518
  77. package/presets/clearai/template/skills/exploratory-data-analysis/references/microscopy_imaging_formats.md +0 -620
  78. package/presets/clearai/template/skills/exploratory-data-analysis/references/proteomics_metabolomics_formats.md +0 -517
  79. package/presets/clearai/template/skills/exploratory-data-analysis/references/spectroscopy_analytical_formats.md +0 -633
  80. package/presets/clearai/template/skills/exploratory-data-analysis/scripts/eda_analyzer.py +0 -547
  81. package/presets/clearai/template/skills/hypothesis-generation/SKILL.md +0 -73
  82. package/presets/clearai/template/skills/hypothesis-generation/references/experimental_design_patterns.md +0 -329
  83. package/presets/clearai/template/skills/hypothesis-generation/references/hypothesis_quality_criteria.md +0 -198
  84. package/presets/clearai/template/skills/hypothesis-generation/references/literature_search_strategies.md +0 -622
  85. package/presets/clearai/template/skills/hypothesis-generation/scripts/generate_schematic.py +0 -139
  86. package/presets/clearai/template/skills/hypothesis-generation/scripts/generate_schematic_ai.py +0 -817
  87. package/presets/clearai/template/skills/literature-review/SKILL.md +0 -72
  88. package/presets/clearai/template/skills/literature-review/references/citation_styles.md +0 -166
  89. package/presets/clearai/template/skills/literature-review/references/database_strategies.md +0 -455
  90. package/presets/clearai/template/skills/literature-review/scripts/generate_pdf.py +0 -176
  91. package/presets/clearai/template/skills/literature-review/scripts/generate_schematic.py +0 -139
  92. package/presets/clearai/template/skills/literature-review/scripts/generate_schematic_ai.py +0 -817
  93. package/presets/clearai/template/skills/literature-review/scripts/search_databases.py +0 -303
  94. package/presets/clearai/template/skills/literature-review/scripts/verify_citations.py +0 -221
  95. package/presets/clearai/template/skills/paper-lookup/SKILL.md +0 -59
  96. package/presets/clearai/template/skills/paper-lookup/references/arxiv.md +0 -161
  97. package/presets/clearai/template/skills/paper-lookup/references/biorxiv.md +0 -118
  98. package/presets/clearai/template/skills/paper-lookup/references/core.md +0 -150
  99. package/presets/clearai/template/skills/paper-lookup/references/crossref.md +0 -181
  100. package/presets/clearai/template/skills/paper-lookup/references/medrxiv.md +0 -104
  101. package/presets/clearai/template/skills/paper-lookup/references/openalex.md +0 -174
  102. package/presets/clearai/template/skills/paper-lookup/references/pmc.md +0 -152
  103. package/presets/clearai/template/skills/paper-lookup/references/pubmed.md +0 -124
  104. package/presets/clearai/template/skills/paper-lookup/references/semantic-scholar.md +0 -203
  105. package/presets/clearai/template/skills/paper-lookup/references/unpaywall.md +0 -127
  106. package/presets/clearai/template/skills/process-presearch/SKILL.md +0 -196
  107. package/presets/clearai/template/skills/process-presearch/checklists/process_checklist.md +0 -18
  108. package/presets/clearai/template/skills/process-presearch/references/figure_code.md +0 -107
  109. package/presets/clearai/template/skills/process-presearch/references/source_attribution_example.md +0 -22
  110. package/presets/clearai/template/skills/process-understanding-extraction/SKILL.md +0 -69
  111. package/presets/clearai/template/skills/process-understanding-extraction/checklists/readiness_check.md +0 -34
  112. package/presets/clearai/template/skills/process-understanding-extraction/templates/docx_raw_dump_extractor.py.tpl +0 -132
  113. package/presets/clearai/template/skills/process-understanding-extraction/templates/entity_map_unit_topology.json.tpl +0 -86
  114. package/presets/clearai/template/skills/process-understanding-extraction/templates/process_brief.md.tpl +0 -89
  115. package/presets/clearai/template/skills/process-understanding-extraction/templates/process_brief_builder_from_raw_dump.py.tpl +0 -203
  116. package/presets/clearai/template/skills/process-understanding-extraction/templates/process_flow_mermaid.md.tpl +0 -41
  117. package/presets/clearai/template/skills/process-understanding-extraction/templates/unified_execution_plan.md.tpl +0 -53
  118. package/presets/clearai/template/skills/process-understanding-extraction/workflows/01-process-doc-discovery.md +0 -173
  119. package/presets/clearai/template/skills/process-understanding-extraction/workflows/02-process-understanding-and-diagramming.md +0 -106
  120. package/presets/clearai/template/skills/scientific-brainstorming/SKILL.md +0 -64
  121. package/presets/clearai/template/skills/scientific-brainstorming/references/brainstorming_methods.md +0 -326
  122. package/presets/clearai/template/skills/scientific-critical-thinking/SKILL.md +0 -72
  123. package/presets/clearai/template/skills/scientific-critical-thinking/references/common_biases.md +0 -364
  124. package/presets/clearai/template/skills/scientific-critical-thinking/references/evidence_hierarchy.md +0 -485
  125. package/presets/clearai/template/skills/scientific-critical-thinking/references/experimental_design.md +0 -496
  126. package/presets/clearai/template/skills/scientific-critical-thinking/references/logical_fallacies.md +0 -478
  127. package/presets/clearai/template/skills/scientific-critical-thinking/references/scientific_method.md +0 -169
  128. package/presets/clearai/template/skills/scientific-critical-thinking/references/statistical_pitfalls.md +0 -506
  129. package/presets/clearai/template/skills/skill-creator/SKILL.md +0 -109
  130. package/presets/clearai/template/skills/skill-creator/references/authoring-guide.md +0 -89
  131. package/presets/clearai/template/skills/statistical-analysis/SKILL.md +0 -79
  132. package/presets/clearai/template/skills/statistical-analysis/references/assumptions_and_diagnostics.md +0 -369
  133. package/presets/clearai/template/skills/statistical-analysis/references/bayesian_statistics.md +0 -653
  134. package/presets/clearai/template/skills/statistical-analysis/references/effect_sizes_and_power.md +0 -578
  135. package/presets/clearai/template/skills/statistical-analysis/references/reporting_standards.md +0 -469
  136. package/presets/clearai/template/skills/statistical-analysis/references/test_selection_guide.md +0 -129
  137. package/presets/clearai/template/skills/statistical-analysis/scripts/assumption_checks.py +0 -538
  138. package/presets/clearai/template/skills/web-artifact/SKILL.md +0 -165
  139. package/presets/clearai/template/skills/web-artifact/assets/renderer/renderer.css +0 -229
  140. package/presets/clearai/template/skills/web-artifact/assets/renderer/renderer.js +0 -373
  141. package/presets/clearai/template/skills/web-artifact/assets/vendor/elkjs/LICENSE +0 -263
  142. package/presets/clearai/template/skills/web-artifact/assets/vendor/elkjs/UPSTREAM.md +0 -26
  143. package/presets/clearai/template/skills/web-artifact/assets/vendor/elkjs/elk.bundled.js +0 -6605
  144. package/presets/clearai/template/skills/web-artifact/references/when-drawing-a-topology.md +0 -150
  145. package/presets/clearai/template/skills/web-artifact/references/when-the-page-must-work-offline.md +0 -62
  146. package/presets/clearai/template/skills/web-artifact/scripts/check_artifact.py +0 -167
  147. package/presets/clearai/template/skills/web-artifact/scripts/render_topology.js +0 -272
  148. package/presets/clearai/template/skills/what-if-oracle/LICENSE.txt +0 -5
  149. package/presets/clearai/template/skills/what-if-oracle/SKILL.md +0 -72
  150. package/presets/clearai/template/skills/what-if-oracle/references/scenario-templates.md +0 -154
package/lib/invariant.js CHANGED
@@ -50,9 +50,9 @@ function mutationsOf(event) {
50
50
  }
51
51
 
52
52
  /**
53
- * **伪步骤**:目标轴(`goal:<id>`)与世界线轴(`<forkId>:<branchId>`)的裁决也带 `step`,
54
- * 但它们本来就不在 `plan/created` 里登记。计划步骤 id 的取字纪律是字母/数字/下划线/短横
55
- * (见内核 `STEP_SCHEMA`),两条伪轴一律带冒号。
53
+ * **伪步骤**:目标轴(`goal:<id>`)的裁决也带 `step`,但它本来就不在 `plan/created` 里登记。
54
+ * 计划步骤 id 的取字纪律是字母/数字/下划线/短横(见内核 `STEP_SCHEMA`),伪轴一律带冒号
55
+ * (旧日志里的世界线轴 `<forkId>:<branchId>` 同样带冒号,照旧被识别为伪步骤)。
56
56
  */
57
57
  const isPseudoStep = (step) => String(step).includes(':')
58
58
 
@@ -84,14 +84,13 @@ function judge(before, mutations, admittedIn, fail) {
84
84
  */
85
85
  const admitted = new Set(admittedIn ?? [])
86
86
  const auditsSeen = new Set((Array.isArray(before?.audits) ? before.audits : []).map((item) => String(item.id)))
87
- const scoutsSeen = new Set((Array.isArray(before?.scouts) ? before.scouts : []).map((item) => String(item.id)))
88
87
  for (const mutation of mutations) {
89
88
  if (mutation === null || typeof mutation !== 'object' || typeof mutation.t !== 'string') continue
90
89
  const t = mutation.t
91
90
  const step = mutation.step === undefined || mutation.step === null ? null : String(mutation.step)
92
91
 
93
92
  // ── 契约①:引用完整性(查生产状态,不是另一份索引) ────────────────────
94
- if (step !== null && !isPseudoStep(step) && hasAnyStep && ['evidence/recorded', 'observation/recorded', 'step/advanced', 'scout/dispatched'].includes(t)) {
93
+ if (step !== null && !isPseudoStep(step) && hasAnyStep && ['evidence/recorded', 'observation/recorded', 'step/advanced'].includes(t)) {
95
94
  if (findStep(before, step) === undefined) fail(`引用完整性:${t} 指向不存在的步骤 ${step}——事实不能指向还没登记的东西`)
96
95
  }
97
96
 
@@ -105,24 +104,22 @@ function judge(before, mutations, admittedIn, fail) {
105
104
  if (t === 'audit/settled' && !auditsSeen.has(String(mutation.id))) {
106
105
  fail(`结算必有派遣:audit/settled(${String(mutation.id)}) 之前没有 audit/dispatched`)
107
106
  }
108
- if (t === 'scout/settled' && !scoutsSeen.has(String(mutation.id))) {
109
- fail(`结算必有派遣:scout/settled(${String(mutation.id)}) 之前没有 scout/dispatched`)
110
- }
111
107
  if (t === 'audit/dispatched' && mutation.id !== undefined && mutation.id !== null) auditsSeen.add(String(mutation.id))
112
- if (t === 'scout/dispatched' && mutation.id !== undefined && mutation.id !== null) scoutsSeen.add(String(mutation.id))
113
108
 
114
109
  // ── 契约④:升格有据(目标登记的门槛 vs 已落账的支持证据) ─────────────────
115
110
  if (t === 'fact/promoted') {
116
111
  const goal = before?.goal ?? null
117
112
  const need = LEVEL_RANK[String(goal?.promote_at_level ?? '')]
118
113
  if (goal !== null && need !== undefined) {
119
- /** 顺着 假设(claim 匹配)→ 步骤(tests.hypothesis)→ 证据(support) 这条边走。 */
114
+ /** 顺着 假设(claim 匹配)→ 证据(新账写明 hypothesis;旧账走步骤的 tests)→ support 这条边走。 */
120
115
  const hypothesis = (Array.isArray(before?.hypotheses) ? before.hypotheses : []).find((item) => String(item.claim ?? '') === String(mutation.text ?? ''))
121
116
  const hypId = hypothesis === undefined ? null : String(hypothesis.id)
122
117
  const stepIds = new Set(
123
- hypId === null ? [] : plans.flatMap((plan) => (plan.steps ?? []).filter((s) => String(s?.tests?.hypothesis ?? '') === hypId).map((s) => String(s.id))),
118
+ hypId === null ? [] : plans.flatMap((plan) => (plan.steps ?? []).filter((s) => (s?.tests?.hypotheses ?? []).map(String).includes(hypId)).map((s) => String(s.id))),
119
+ )
120
+ const support = (Array.isArray(before?.evidence) ? before.evidence : []).filter(
121
+ (item) => String(item.verdict) === 'support' && (hypId === null || (item.hypothesis !== undefined ? String(item.hypothesis) === hypId : stepIds.has(String(item.step)))),
124
122
  )
125
- const support = (Array.isArray(before?.evidence) ? before.evidence : []).filter((item) => String(item.verdict) === 'support' && (hypId === null || stepIds.has(String(item.step))))
126
123
  const best = support.reduce((max, item) => Math.max(max, LEVEL_RANK[String(item.level)] ?? -1), -1)
127
124
  if (best < need) fail(`升格有据:fact/promoted 的最高支持等级(${best === -1 ? '无' : `L${best}`})没到目标登记的 promote_at_level(${String(goal.promote_at_level)})`)
128
125
  }