clearai-dsh 0.3.0 → 0.4.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 (148) hide show
  1. package/CHANGELOG.md +147 -0
  2. package/README.md +28 -28
  3. package/README.zh-CN.md +28 -28
  4. package/lib/client.js +861 -2555
  5. package/lib/domain-language.js +552 -48
  6. package/lib/fold.js +351 -1015
  7. package/lib/host.js +47 -557
  8. package/lib/invariant.js +9 -12
  9. package/lib/knowledge-view.js +363 -226
  10. package/lib/lang.js +81 -0
  11. package/package.json +1 -1
  12. package/presets/clearai/agent.cordis.yml +54 -82
  13. package/presets/clearai/clearai.patch.yml +54 -82
  14. package/presets/clearai/plugins/clearai-kernel.js +1590 -5437
  15. package/presets/clearai/plugins/ontology.js +56 -14
  16. package/presets/clearai/plugins/prompts.js +73 -363
  17. package/presets/clearai/skills/clearai-loop/SKILL.md +73 -59
  18. package/presets/clearai/plugins/brain.js +0 -547
  19. package/presets/clearai/plugins/commands.js +0 -199
  20. package/presets/clearai/template/knowledge/README.md +0 -25
  21. package/presets/clearai/template/memory/README.md +0 -34
  22. package/presets/clearai/template/project.md +0 -49
  23. package/presets/clearai/template/skills/README.md +0 -37
  24. package/presets/clearai/template/skills/chart-diagram-qa/SKILL.md +0 -43
  25. package/presets/clearai/template/skills/citation-management/SKILL.md +0 -73
  26. package/presets/clearai/template/skills/citation-management/references/bibtex_formatting.md +0 -908
  27. package/presets/clearai/template/skills/citation-management/references/citation_validation.md +0 -794
  28. package/presets/clearai/template/skills/citation-management/references/google_scholar_search.md +0 -725
  29. package/presets/clearai/template/skills/citation-management/references/metadata_extraction.md +0 -870
  30. package/presets/clearai/template/skills/citation-management/references/pubmed_search.md +0 -839
  31. package/presets/clearai/template/skills/citation-management/scripts/doi_to_bibtex.py +0 -204
  32. package/presets/clearai/template/skills/citation-management/scripts/extract_metadata.py +0 -569
  33. package/presets/clearai/template/skills/citation-management/scripts/format_bibtex.py +0 -349
  34. package/presets/clearai/template/skills/citation-management/scripts/generate_schematic.py +0 -139
  35. package/presets/clearai/template/skills/citation-management/scripts/generate_schematic_ai.py +0 -817
  36. package/presets/clearai/template/skills/citation-management/scripts/search_google_scholar.py +0 -282
  37. package/presets/clearai/template/skills/citation-management/scripts/search_pubmed.py +0 -398
  38. package/presets/clearai/template/skills/citation-management/scripts/validate_citations.py +0 -497
  39. package/presets/clearai/template/skills/data-analysis/SKILL.md +0 -92
  40. package/presets/clearai/template/skills/data-analysis/checklists/readiness_check.md +0 -23
  41. package/presets/clearai/template/skills/data-analysis/templates/analysis_report.md.tpl +0 -63
  42. package/presets/clearai/template/skills/data-analysis/templates/cleaning_rules_draft.yaml.tpl +0 -32
  43. package/presets/clearai/template/skills/data-analysis/templates/data_dictionary.md.tpl +0 -12
  44. package/presets/clearai/template/skills/data-analysis/templates/domain_knowledge_template.md.tpl +0 -316
  45. package/presets/clearai/template/skills/data-analysis/templates/feature_candidates.json.tpl +0 -20
  46. package/presets/clearai/template/skills/data-analysis/templates/quality_scorecard.md.tpl +0 -30
  47. package/presets/clearai/template/skills/data-analysis/workflows/01-data-profiling.md +0 -42
  48. package/presets/clearai/template/skills/data-analysis/workflows/02-quality-audit.md +0 -36
  49. package/presets/clearai/template/skills/data-analysis/workflows/03-physical-correlation.md +0 -25
  50. package/presets/clearai/template/skills/data-analysis/workflows/04-unstructured-mining.md +0 -26
  51. package/presets/clearai/template/skills/data-qa-analysis/SKILL.md +0 -102
  52. package/presets/clearai/template/skills/data-qa-analysis/checklists/readiness_check.md +0 -62
  53. package/presets/clearai/template/skills/data-qa-analysis/templates/best_in_class_report.md.tpl +0 -56
  54. package/presets/clearai/template/skills/data-qa-analysis/templates/cleaning_rules_draft.yaml.tpl +0 -56
  55. package/presets/clearai/template/skills/data-qa-analysis/templates/data_dictionary.md.tpl +0 -13
  56. package/presets/clearai/template/skills/data-qa-analysis/templates/data_source_inventory_and_lineage.md.tpl +0 -146
  57. package/presets/clearai/template/skills/data-qa-analysis/templates/data_status_report.md.tpl +0 -60
  58. package/presets/clearai/template/skills/data-qa-analysis/templates/steady_state_rules.yaml.tpl +0 -41
  59. package/presets/clearai/template/skills/data-qa-analysis/templates/subsystem_registry.md.tpl +0 -101
  60. package/presets/clearai/template/skills/data-qa-analysis/templates/unified_execution_plan.md.tpl +0 -100
  61. package/presets/clearai/template/skills/data-qa-analysis/workflows/01-data-source-inventory-and-lineage.md +0 -194
  62. package/presets/clearai/template/skills/data-qa-analysis/workflows/02-data-alignment-and-tag-semantics.md +0 -122
  63. package/presets/clearai/template/skills/data-qa-analysis/workflows/03-steady-state-identification.md +0 -126
  64. package/presets/clearai/template/skills/data-qa-analysis/workflows/04-consumption-analysis.md +0 -152
  65. package/presets/clearai/template/skills/data-qa-analysis/workflows/05-best-in-class-and-optimization-space.md +0 -78
  66. package/presets/clearai/template/skills/domain-presearch/SKILL.md +0 -131
  67. package/presets/clearai/template/skills/domain-presearch/checklists/domain_checklist.md +0 -24
  68. package/presets/clearai/template/skills/domain-presearch/references/figure_code.md +0 -78
  69. package/presets/clearai/template/skills/domain-presearch/references/strategic_frameworks.md +0 -38
  70. package/presets/clearai/template/skills/exploration-loop/SKILL.md +0 -81
  71. package/presets/clearai/template/skills/exploratory-data-analysis/SKILL.md +0 -77
  72. package/presets/clearai/template/skills/exploratory-data-analysis/references/bioinformatics_genomics_formats.md +0 -664
  73. package/presets/clearai/template/skills/exploratory-data-analysis/references/chemistry_molecular_formats.md +0 -664
  74. package/presets/clearai/template/skills/exploratory-data-analysis/references/general_scientific_formats.md +0 -518
  75. package/presets/clearai/template/skills/exploratory-data-analysis/references/microscopy_imaging_formats.md +0 -620
  76. package/presets/clearai/template/skills/exploratory-data-analysis/references/proteomics_metabolomics_formats.md +0 -517
  77. package/presets/clearai/template/skills/exploratory-data-analysis/references/spectroscopy_analytical_formats.md +0 -633
  78. package/presets/clearai/template/skills/exploratory-data-analysis/scripts/eda_analyzer.py +0 -547
  79. package/presets/clearai/template/skills/hypothesis-generation/SKILL.md +0 -73
  80. package/presets/clearai/template/skills/hypothesis-generation/references/experimental_design_patterns.md +0 -329
  81. package/presets/clearai/template/skills/hypothesis-generation/references/hypothesis_quality_criteria.md +0 -198
  82. package/presets/clearai/template/skills/hypothesis-generation/references/literature_search_strategies.md +0 -622
  83. package/presets/clearai/template/skills/hypothesis-generation/scripts/generate_schematic.py +0 -139
  84. package/presets/clearai/template/skills/hypothesis-generation/scripts/generate_schematic_ai.py +0 -817
  85. package/presets/clearai/template/skills/literature-review/SKILL.md +0 -72
  86. package/presets/clearai/template/skills/literature-review/references/citation_styles.md +0 -166
  87. package/presets/clearai/template/skills/literature-review/references/database_strategies.md +0 -455
  88. package/presets/clearai/template/skills/literature-review/scripts/generate_pdf.py +0 -176
  89. package/presets/clearai/template/skills/literature-review/scripts/generate_schematic.py +0 -139
  90. package/presets/clearai/template/skills/literature-review/scripts/generate_schematic_ai.py +0 -817
  91. package/presets/clearai/template/skills/literature-review/scripts/search_databases.py +0 -303
  92. package/presets/clearai/template/skills/literature-review/scripts/verify_citations.py +0 -221
  93. package/presets/clearai/template/skills/paper-lookup/SKILL.md +0 -59
  94. package/presets/clearai/template/skills/paper-lookup/references/arxiv.md +0 -161
  95. package/presets/clearai/template/skills/paper-lookup/references/biorxiv.md +0 -118
  96. package/presets/clearai/template/skills/paper-lookup/references/core.md +0 -150
  97. package/presets/clearai/template/skills/paper-lookup/references/crossref.md +0 -181
  98. package/presets/clearai/template/skills/paper-lookup/references/medrxiv.md +0 -104
  99. package/presets/clearai/template/skills/paper-lookup/references/openalex.md +0 -174
  100. package/presets/clearai/template/skills/paper-lookup/references/pmc.md +0 -152
  101. package/presets/clearai/template/skills/paper-lookup/references/pubmed.md +0 -124
  102. package/presets/clearai/template/skills/paper-lookup/references/semantic-scholar.md +0 -203
  103. package/presets/clearai/template/skills/paper-lookup/references/unpaywall.md +0 -127
  104. package/presets/clearai/template/skills/process-presearch/SKILL.md +0 -196
  105. package/presets/clearai/template/skills/process-presearch/checklists/process_checklist.md +0 -18
  106. package/presets/clearai/template/skills/process-presearch/references/figure_code.md +0 -107
  107. package/presets/clearai/template/skills/process-presearch/references/source_attribution_example.md +0 -22
  108. package/presets/clearai/template/skills/process-understanding-extraction/SKILL.md +0 -69
  109. package/presets/clearai/template/skills/process-understanding-extraction/checklists/readiness_check.md +0 -34
  110. package/presets/clearai/template/skills/process-understanding-extraction/templates/docx_raw_dump_extractor.py.tpl +0 -132
  111. package/presets/clearai/template/skills/process-understanding-extraction/templates/entity_map_unit_topology.json.tpl +0 -86
  112. package/presets/clearai/template/skills/process-understanding-extraction/templates/process_brief.md.tpl +0 -89
  113. package/presets/clearai/template/skills/process-understanding-extraction/templates/process_brief_builder_from_raw_dump.py.tpl +0 -203
  114. package/presets/clearai/template/skills/process-understanding-extraction/templates/process_flow_mermaid.md.tpl +0 -41
  115. package/presets/clearai/template/skills/process-understanding-extraction/templates/unified_execution_plan.md.tpl +0 -53
  116. package/presets/clearai/template/skills/process-understanding-extraction/workflows/01-process-doc-discovery.md +0 -173
  117. package/presets/clearai/template/skills/process-understanding-extraction/workflows/02-process-understanding-and-diagramming.md +0 -106
  118. package/presets/clearai/template/skills/scientific-brainstorming/SKILL.md +0 -64
  119. package/presets/clearai/template/skills/scientific-brainstorming/references/brainstorming_methods.md +0 -326
  120. package/presets/clearai/template/skills/scientific-critical-thinking/SKILL.md +0 -72
  121. package/presets/clearai/template/skills/scientific-critical-thinking/references/common_biases.md +0 -364
  122. package/presets/clearai/template/skills/scientific-critical-thinking/references/evidence_hierarchy.md +0 -485
  123. package/presets/clearai/template/skills/scientific-critical-thinking/references/experimental_design.md +0 -496
  124. package/presets/clearai/template/skills/scientific-critical-thinking/references/logical_fallacies.md +0 -478
  125. package/presets/clearai/template/skills/scientific-critical-thinking/references/scientific_method.md +0 -169
  126. package/presets/clearai/template/skills/scientific-critical-thinking/references/statistical_pitfalls.md +0 -506
  127. package/presets/clearai/template/skills/skill-creator/SKILL.md +0 -109
  128. package/presets/clearai/template/skills/skill-creator/references/authoring-guide.md +0 -89
  129. package/presets/clearai/template/skills/statistical-analysis/SKILL.md +0 -79
  130. package/presets/clearai/template/skills/statistical-analysis/references/assumptions_and_diagnostics.md +0 -369
  131. package/presets/clearai/template/skills/statistical-analysis/references/bayesian_statistics.md +0 -653
  132. package/presets/clearai/template/skills/statistical-analysis/references/effect_sizes_and_power.md +0 -578
  133. package/presets/clearai/template/skills/statistical-analysis/references/reporting_standards.md +0 -469
  134. package/presets/clearai/template/skills/statistical-analysis/references/test_selection_guide.md +0 -129
  135. package/presets/clearai/template/skills/statistical-analysis/scripts/assumption_checks.py +0 -538
  136. package/presets/clearai/template/skills/web-artifact/SKILL.md +0 -165
  137. package/presets/clearai/template/skills/web-artifact/assets/renderer/renderer.css +0 -229
  138. package/presets/clearai/template/skills/web-artifact/assets/renderer/renderer.js +0 -373
  139. package/presets/clearai/template/skills/web-artifact/assets/vendor/elkjs/LICENSE +0 -263
  140. package/presets/clearai/template/skills/web-artifact/assets/vendor/elkjs/UPSTREAM.md +0 -26
  141. package/presets/clearai/template/skills/web-artifact/assets/vendor/elkjs/elk.bundled.js +0 -6605
  142. package/presets/clearai/template/skills/web-artifact/references/when-drawing-a-topology.md +0 -150
  143. package/presets/clearai/template/skills/web-artifact/references/when-the-page-must-work-offline.md +0 -62
  144. package/presets/clearai/template/skills/web-artifact/scripts/check_artifact.py +0 -167
  145. package/presets/clearai/template/skills/web-artifact/scripts/render_topology.js +0 -272
  146. package/presets/clearai/template/skills/what-if-oracle/LICENSE.txt +0 -5
  147. package/presets/clearai/template/skills/what-if-oracle/SKILL.md +0 -72
  148. package/presets/clearai/template/skills/what-if-oracle/references/scenario-templates.md +0 -154
@@ -145,23 +145,65 @@ export function validateOntology(spec) {
145
145
  return problems
146
146
  }
147
147
 
148
- /** 一份给人/给模型读的说明(markdown)。货架写的就是它。 */
149
- export function describeOntology(spec) {
150
- const lines = [`# 本体:${spec.id}`, '', spec.note, '', '## 对象']
148
+ /**
149
+ * 货架那份说明的英文版:键是声明里的中文原文(声明本身只有一份,是数据)。
150
+ * 只收货架上真会印出来的那几处:总说明、对象说明、落点、五级说明。
151
+ */
152
+ const ENGLISH = new Map([
153
+ ['九个对象 + 五级验证。声明是数据;实例状态由事实算出来(见文件头那条红线)。', 'Nine objects plus five verification levels. The declaration is data; instance states are computed from facts.'],
154
+ ['只靠推理的快速合理性检查;依据必须可复查', 'A quick plausibility check by reasoning alone; the basis must be checkable'],
155
+ ['已有知识:文献、数据库是否已回答或已否定', 'Existing knowledge: whether literature or databases already answer or rule it out'],
156
+ ['已有数据或小规模计算', 'Existing data or a small computation'],
157
+ ['新产生且可重跑的证据;判据先写后做,裁决由独立评估者写', 'Newly produced, re-runnable evidence; criteria written before the work, verdict written by an independent evaluator'],
158
+ ['不可重复或来自外部的证据;先登记标准,人放行(原生审批栈的权威记录)', 'Unrepeatable or external evidence; criteria registered first, released by a person (the native approval stack is the authoritative record)'],
159
+ ['这一平面的一等对象(那一侧记在 goal 文档里);status 是派生值,声明里没有它的住处', 'A first-class object (recorded in the goal document); status is derived and has no place in the declaration'],
160
+ [
161
+ '状态由证据算:**confirmed 那条边的落账在 fact 对象那边**(升格成事实 ⇒ 面板把它读成已确认),假设自己没有那条变更;refuted 与 retracted 都是黏性终态(与「目标侧被推翻的计划不可复活」同一个病同一个修法),而 retracted 是**人的动作**、落账在 fact 对象上(`fact/retracted`);不声明 status',
162
+ 'Status is computed from evidence: **the confirmed edge is recorded on the fact object** (promoted to a fact, so the panel reads it as confirmed); the judgment itself has no such change. refuted and retracted are sticky terminal states, and retracted is **a person\'s act**, recorded on the fact object (`fact/retracted`); status is not declared',
163
+ ],
164
+ ['「受阻」是字段不是状态(它会被清掉);授权记号也是字段——有记号或已推进过都算授权', '"Blocked" is a field, not a state (it gets cleared); the authorization mark is a field too: a mark or earlier progress both count as authorization'],
165
+ [
166
+ '这一平面上它同时就是「一次验证」(step.tests = hypothesis + level);没有「降级重做」那条边:秩明令降级不可表示;「受阻」不在步的状态里——它是计划上的字段(见 plan 的自环)',
167
+ 'A step is also one verification (step.tests = hypothesis + level); there is no "downgrade and redo" edge; "blocked" is not a step state but a field on the plan (see the plan self-loop)',
168
+ ],
169
+ ['fold.hypotheses(goal/set 一起落)', 'fold.hypotheses (recorded together with goal/set)'],
170
+ ['fold.materials(收下的)+ 准入账(不收的)', 'fold.materials (accepted) + intake ledger (rejected)'],
171
+ [
172
+ '`received` 活在一次交付调用之内(候选观测):收下的才成为对象,不收的只留一条准入事实——「不收」不是对象的终态,是账本上的一行。来源取值与生产者**逐一对齐**(见 `source` 字段的说明):类型只声明今天真能发生的那些',
173
+ '`received` lives inside one delivery call (a candidate observation): only accepted ones become objects; a rejected one leaves just an intake fact, a line in the ledger rather than a terminal state. Source values match their producers **one to one**: the type declares only what can actually happen today',
174
+ ],
175
+ ['写下就不改;重评产生新的一条。做的人与判的人按等级分开(L3 以上只能由独立评估者写)', 'Never changed once written; a re-evaluation adds a new one. Who works and who judges are split by level (from L3 up, only an independent evaluator writes)'],
176
+ ['与步骤上的收敛记录分开;anchor 说这条证据钉在哪(独立裁决 / 物证)', 'Kept apart from the step\'s own record; anchor says what the evidence is pinned to (an independent verdict or an output)'],
177
+ [
178
+ '升格由系统做;每条带边界(scope)与等级,下一轮作为「已知」引用时先看边界。货架在 clear/knowledge/facts/INDEX.md(面板「事实」那一格读的是同一张表)。被推翻只**标记**(refuted,派生),撤回是**人的动作**(retracted,落 fact/retracted)——两件事分开记,因为数据自己也可能错',
179
+ 'Promotion is done by the system; each fact carries a boundary (scope) and a level, and the boundary is checked before citing it as known. The shelf is clear/knowledge/facts/INDEX.md (the panel reads the same table). Refutation only **marks** a fact (refuted, derived); retraction is **a person\'s act** (retracted, recorded as fact/retracted). They are kept apart because the data itself can be wrong',
180
+ ],
181
+ ['fold.releases(原生审批栈的审计对是权威记录)', 'fold.releases (the native approval stack is the authoritative record)'],
182
+ ['L4 的人放行:一次一放行;步级的事实一落,同一步重试不再问人)', 'A person\'s release for L4: one release per delivery; once the step-level fact lands, retrying the same step does not ask again'],
183
+ ])
184
+
185
+ /** 一份给人/给模型读的说明(markdown)。货架写的就是它;`lang` 是会话的语言。 */
186
+ export function describeOntology(spec, lang = 'zh') {
187
+ const en = lang === 'en'
188
+ const say = (text) => (en ? (ENGLISH.get(text) ?? text) : text)
189
+ const list = (items) => items.join(en ? ', ' : '、')
190
+ const lines = en ? [`# Ontology: ${spec.id}`, '', say(spec.note), '', '## Objects'] : [`# 本体:${spec.id}`, '', spec.note, '', '## 对象']
151
191
  for (const obj of spec.objects) {
152
- lines.push('', `### ${obj.name}`, `- 状态:${obj.states.join(' → ')}`, `- 初始:${obj.initial} · 终态:${obj.terminal.length === 0 ? '(无)' : obj.terminal.join('、')}`)
153
- if (obj.persistence !== '') lines.push(`- 落点:${obj.persistence}(不新建存储)`)
154
- if (obj.event_kind !== '') lines.push(`- 每次转移发:${obj.event_kind}`)
192
+ const terminal = obj.terminal.length === 0 ? (en ? '(none)' : '(无)') : list(obj.terminal)
193
+ lines.push('', `### ${obj.name}`, en ? `- States: ${obj.states.join(' → ')}` : `- 状态:${obj.states.join(' → ')}`, en ? `- Initial: ${obj.initial} · terminal: ${terminal}` : `- 初始:${obj.initial} · 终态:${terminal}`)
194
+ if (obj.persistence !== '') lines.push(en ? `- Stored in: ${say(obj.persistence)} (no new storage)` : `- 落点:${obj.persistence}(不新建存储)`)
195
+ if (obj.event_kind !== '') lines.push(en ? `- Each transition emits: ${obj.event_kind}` : `- 每次转移发:${obj.event_kind}`)
155
196
  for (const edge of obj.transitions) {
156
- lines.push(` - ${edge.from} → ${edge.to}:由 **${edge.actor}** 发起,当 ${edge.on}${edge.guards.length === 0 ? '' : `(守卫:${edge.guards.join('、')})`}`)
197
+ const guards = edge.guards.length === 0 ? '' : en ? ` (guards: ${list(edge.guards)})` : `(守卫:${list(edge.guards)})`
198
+ lines.push(en ? ` - ${edge.from} → ${edge.to}: started by **${edge.actor}** on ${edge.on}${guards}` : ` - ${edge.from} → ${edge.to}:由 **${edge.actor}** 发起,当 ${edge.on}${guards}`)
157
199
  }
158
- if (obj.fields.length > 0) lines.push(`- 字段:${obj.fields.map((item) => `${item.name}${item.values === null ? '' : `(${item.values.join('|')})`}`).join('、')}`)
159
- if (obj.note !== '') lines.push(`- 说明:${obj.note}`)
200
+ if (obj.fields.length > 0) lines.push(`${en ? '- Fields: ' : '- 字段:'}${list(obj.fields.map((item) => `${item.name}${item.values === null ? '' : `(${item.values.join('|')})`}`))}`)
201
+ if (obj.note !== '') lines.push(en ? `- Note: ${say(obj.note)}` : `- 说明:${obj.note}`)
160
202
  }
161
203
  if (spec.levels.length > 0) {
162
- lines.push('', '## 五级')
204
+ lines.push('', en ? '## Five levels' : '## 五级')
163
205
  for (const item of spec.levels) {
164
- lines.push(`- **${item.id}** 判者 ${item.judge} · 来源 ${item.sources.join('、')} · 门 ${item.gate} —— ${item.note}`)
206
+ lines.push(en ? `- **${item.id}** judge ${item.judge} · sources ${list(item.sources)} · gate ${item.gate}: ${say(item.note)}` : `- **${item.id}** 判者 ${item.judge} · 来源 ${list(item.sources)} · 门 ${item.gate} —— ${item.note}`)
165
207
  }
166
208
  }
167
209
  return `${lines.join('\n')}\n`
@@ -256,12 +298,12 @@ export const VERIFICATION_LOOP = ontology('verification-loop', {
256
298
  transition('received', 'rejected', 'system', 'source_not_admissible', [], '不收:只在准入账(`admission/checked`)上留痕,不落观测对象', 'admission/checked'),
257
299
  ],
258
300
  /**
259
- * `source` **只声明真有生产者的取值**:内核只写过 `self`(主线/世界线的交付)与 `scout`(侦察)。
301
+ * `source` **只声明真有生产者的取值**:内核只写过 `self`(主线的交付)。
260
302
  * 一个取值要存在,必须同时有**生产者**与**消费它的决策**——否则它就是类型里的一句假话
261
303
  * (声明了「有种观测来自人上传」,而那条路根本不存在)。`human_upload` / `file_drop` /
262
304
  * `callback` / `pull` 是「后续候选」,等它们各自的入口真的接上再回来加。
263
305
  */
264
- fields: [field('content'), field('source', { values: ['self', 'scout'] }), field('ref')],
306
+ fields: [field('content'), field('source', { values: ['self'] }), field('ref')],
265
307
  persistence: 'fold.materials(收下的)+ 准入账(不收的)',
266
308
  event_kind: 'observation/recorded',
267
309
  note: '`received` 活在一次交付调用之内(候选观测):收下的才成为对象,不收的只留一条准入事实——「不收」不是对象的终态,是账本上的一行。来源取值与生产者**逐一对齐**(见 `source` 字段的说明):类型只声明今天真能发生的那些',
@@ -312,7 +354,7 @@ export const VERIFICATION_LOOP = ontology('verification-loop', {
312
354
  initial: 'granted',
313
355
  terminal: ['granted'],
314
356
  transitions: [],
315
- fields: [field('step', { required: false }), field('branch', { required: false }), field('call'), field('via', { values: ['approval'] })],
357
+ fields: [field('step', { required: false }), field('call'), field('via', { values: ['approval'] })],
316
358
  persistence: 'fold.releases(原生审批栈的审计对是权威记录)',
317
359
  event_kind: 'human/released',
318
360
  note: 'L4 的人放行:一次一放行;步级的事实一落,同一步重试不再问人)',