@furongjun1999/dsh-memory 0.4.7 → 0.4.8

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 (172) hide show
  1. package/README.md +92 -37
  2. package/codebuddy/CODEBUDDY.md +195 -185
  3. package/docs/Pi/345/217/257/345/255/246/344/271/240/344/274/230/347/202/271_/347/201/265/346/236/242/345/244/247/350/204/221/346/224/271/350/277/233/344/272/244/346/216/245_20260915.md +144 -0
  4. package/docs/README.md +111 -0
  5. package/docs/discipline/harnesses.yaml +215 -152
  6. package/docs/discipline/templates/full.md.tmpl +60 -58
  7. package/docs/eval//347/254/254/344/270/211/346/226/271/351/252/214/350/257/201/346/212/245/345/221/212_LoCoMo_/347/201/265/346/236/242_.md +127 -0
  8. package/docs/eval//347/254/254/344/270/211/346/226/271/351/252/214/350/257/201/346/212/245/345/221/212_LoCoMo_/347/201/265/346/236/242_.png +0 -0
  9. package/docs/eval//347/254/254/344/270/211/346/226/271/351/252/214/350/257/201/346/212/245/345/221/212_/347/201/265/346/236/242_vs_dejavu_/347/273/237/344/270/200/350/257/204/345/210/206_v7.md +202 -0
  10. package/docs/experiments/m4-role-probe/census.py +86 -0
  11. package/docs/experiments/m4-role-probe/probe.py +89 -0
  12. package/docs/experiments/mapped_confidence/bench_mapped_conf.py +216 -0
  13. package/docs/experiments/mapped_confidence/post_check.py +75 -0
  14. package/docs/experiments/mapped_confidence/repro_thirdparty_tol.py +83 -0
  15. package/docs/experiments/mapped_confidence/result_mapped_conf.json +215 -0
  16. package/docs/{ → hive/}/350/234/202/345/267/242/345/267/245/344/275/234/350/256/260/345/277/206_/351/241/271/347/233/256/350/256/241/345/210/222.md +14 -2
  17. package/docs/{README → mdcg/README}/350/257/246/347/273/206/347/211/210_v0.4.5.md +9 -9
  18. package/docs/{ → mdcg/}/344/270/273/344/273/243/347/220/206/345/255/220/344/273/243/347/220/206/350/256/260/345/277/206/346/236/266/346/236/204/350/256/276/350/256/241.md +1 -1
  19. package/docs/mdcg//345/212/237/350/203/275/350/260/203/347/224/250/346/230/240/345/260/204/350/241/250_v0.1.md +261 -0
  20. package/docs/{ → mdcg/}/345/215/225/345/205/203/350/207/252/346/210/221/351/224/232/347/202/271_/347/263/273/347/273/237/346/217/220/347/244/272/350/257/215/346/240/207/345/207/206_v0.3.md +1 -1
  21. package/docs/mdcg//345/255/220/344/273/243/347/220/206/351/205/215/347/275/256/346/240/207/345/207/206_v0.4.md +148 -0
  22. package/docs/{ → mdcg/}/346/272/220/347/240/201/347/272/247/346/236/266/346/236/204/345/256/241/350/256/241_GPT/346/211/271/350/257/204/345/257/271/347/205/247_v1.0.md +2 -2
  23. package/docs/{ → mdcg/}/347/201/265/346/236/242/344/270/211/345/261/202/346/213/206/345/210/206/350/247/204/345/210/222_v0.1.md +181 -181
  24. package/docs/{ → mdcg/}/347/274/272/345/217/243/345/215/225_P0/346/224/266/345/217/243_v0.1.md +2 -2
  25. package/docs/{ → mdcg/}/350/256/244/347/237/245/345/233/276_G4-G8/347/274/272/345/217/243/350/243/201/345/256/232/345/215/225_v0.1.md +1 -1
  26. package/docs/{ → mdcg/}/350/256/244/347/237/245/345/233/276_/347/264/242/345/274/225/344/270/216/345/267/245/347/250/213/350/247/204/350/214/203/345/214/226_/350/256/241/345/210/222_v0.1.md +4 -4
  27. package/docs/{ → mdcg/}/350/256/260/345/277/206/346/223/215/344/275/234/347/263/273/347/273/237_MdCGOS/344/270/216MCP/346/216/245/345/205/245_v0.1.md +2 -2
  28. package/docs/plans/GridWorld/346/234/200/345/260/217/351/227/255/347/216/257/350/247/204/346/240/274_v0.1.md +176 -0
  29. package/docs/{ → swarm/}/350/234/202/347/276/244/344/272/222/350/201/224_v0.1.md +3 -3
  30. package/docs/swarm//350/234/202/347/276/244/345/220/214/351/224/231/346/243/200/346/265/213/345/256/236/351/252/214/345/215/217/350/256/256_v0.1.md +242 -0
  31. package/docs/theory//345/215/225/347/272/277/347/250/213/344/270/216/346/263/250/346/204/217/345/212/233/351/233/206/344/270/255_/346/227/240/344/272/211/350/256/256/347/220/206/350/256/272/346/226/207/346/241/243_v1.0.md +129 -0
  32. package/docs/theory//345/271/266/345/217/221/345/277/205/347/204/266/346/200/247/347/220/206/350/256/272_v0.2.md +134 -0
  33. package/docs/theory//346/246/202/345/277/265/345/210/206/345/261/202/345/257/271/351/275/220/350/241/250_v0.1.md +145 -0
  34. package/docs/{ → theory/}/347/220/206/350/256/272_/346/234/272/345/210/266_/344/273/243/347/240/201_/345/256/236/351/252/214_/347/274/272/345/217/243/347/237/251/351/230/265_v0.1.md +3 -3
  35. package/docs/{ → theory/}/347/220/206/350/256/272/344/273/223/346/213/206/345/210/206/344/270/216/347/231/275/347/256/261/347/237/245/350/257/206/345/272/223/345/206/205/350/277/201_v0.1.md +1 -1
  36. package/docs/theory//350/256/244/347/237/245/344/273/243/347/220/206/344/270/216/346/224/266/346/225/233/347/273/223/346/236/204_/346/235/241/344/273/266/350/256/272/351/207/215/346/236/204_v0.1.md +221 -0
  37. package/docs/world_model//344/270/226/347/225/214/346/250/241/345/236/213_/347/245/236/347/273/217/347/275/221/347/273/234/345/272/225/345/261/202/346/236/266/346/236/204_v1.0.md +237 -0
  38. package/docs//345/255/230/347/256/227/344/270/200/344/275/223/346/236/266/346/236/204/345/255/246/344/271/240_/345/244/226/351/203/250/347/220/206/350/256/272/345/257/271/347/205/247/344/270/216/350/267/257/347/272/277/344/272/244/346/216/245_20260916.md +98 -0
  39. package/docs//345/255/230/347/256/227/344/270/200/344/275/223/347/245/236/347/273/217/347/275/221/347/273/234/346/236/266/346/236/204_/346/200/273/347/272/262/344/270/216/344/272/244/346/216/245_20260916.md +109 -0
  40. package/docs//345/267/245/344/275/234/347/272/252/345/276/213_/350/256/244/347/237/245/345/233/276/346/235/241/347/233/256_v1.1.json +34 -6
  41. package/docs//347/231/275/347/256/261/345/214/226/347/272/262/351/242/206_/344/270/211/351/241/271/347/233/256/345/255/246/344/271/240/346/200/273/346/236/266/346/236/204/344/270/216Ghidra/344/272/244/346/216/245_20260916.md +104 -0
  42. package/docs//350/256/260/345/277/206/350/257/204/345/256/241/347/263/273/347/273/237_/347/253/213/351/241/271/350/256/276/350/256/241/344/270/216/346/226/275/345/267/245/344/272/244/346/216/245_20260915.md +183 -0
  43. package/dsh/README.md +1 -1
  44. package/lib/hooks.d.ts +5 -0
  45. package/lib/hooks.js +10 -1
  46. package/lib/lib/prompt_safety.d.ts +48 -0
  47. package/lib/lib/prompt_safety.js +62 -0
  48. package/md_cg/audit.py +76 -2
  49. package/md_cg/bench_membench.py +10 -5
  50. package/md_cg/bench_progressive.py +48 -9
  51. package/md_cg/branches.py +275 -0
  52. package/md_cg/ccgc.py +884 -0
  53. package/md_cg/conformance.py +662 -0
  54. package/md_cg/consistency.py +1 -1
  55. package/md_cg/corpus.py +1 -1
  56. package/md_cg/eval_common.py +6 -5
  57. package/md_cg/forgetting.py +11 -3
  58. package/md_cg/fsutil.py +63 -1
  59. package/md_cg/identity.py +2 -2
  60. package/md_cg/insight.py +2 -2
  61. package/md_cg/lifecycle.py +262 -0
  62. package/md_cg/mcp_server.py +547 -140
  63. package/md_cg/mdcg.py +206 -18
  64. package/md_cg/mdcos.py +512 -50
  65. package/md_cg/metacognition.py +2 -2
  66. package/md_cg/mreview/__init__.py +25 -0
  67. package/md_cg/mreview/__main__.py +107 -0
  68. package/md_cg/mreview/bundle.py +170 -0
  69. package/md_cg/mreview/candidates.py +253 -0
  70. package/md_cg/mreview/govern.py +674 -0
  71. package/md_cg/mreview/locate.py +905 -0
  72. package/md_cg/mreview/pipeline.py +701 -0
  73. package/md_cg/mreview/rules/duplication.json +21 -0
  74. package/md_cg/mreview/rules/field_coverage.json +54 -0
  75. package/md_cg/mreview/rules/source_license.json +21 -0
  76. package/md_cg/mreview/rules/template_flow.json +21 -0
  77. package/md_cg/mreview/ruleset.py +238 -0
  78. package/md_cg/nodefile.py +38 -0
  79. package/md_cg/predict.py +24 -6
  80. package/md_cg/protect.py +4 -4
  81. package/md_cg/refindex.py +41 -2
  82. package/md_cg/scrub.py +5 -1
  83. package/md_cg/self_state.py +1 -1
  84. package/md_cg/semantic/en_normalizer.py +85 -25
  85. package/md_cg/sustain.py +18 -0
  86. package/md_cg/tasks.py +447 -0
  87. package/md_cg/test_action_derive.py +203 -0
  88. package/md_cg/test_audit_rotate.py +270 -0
  89. package/md_cg/test_branches.py +249 -0
  90. package/md_cg/test_ccg_perturb.py +1 -1
  91. package/md_cg/test_ccgc.py +423 -0
  92. package/md_cg/test_conformance.py +343 -0
  93. package/md_cg/test_en_pipeline.py +24 -0
  94. package/md_cg/test_health_scale.py +173 -0
  95. package/md_cg/test_identity_attribution.py +6 -0
  96. package/md_cg/test_index_durability.py +224 -0
  97. package/md_cg/test_lifecycle.py +309 -0
  98. package/md_cg/test_mr_m1.py +679 -0
  99. package/md_cg/test_mr_m2.py +587 -0
  100. package/md_cg/test_mr_m3.py +703 -0
  101. package/md_cg/test_mr_m4.py +485 -0
  102. package/md_cg/test_p1.py +1 -1
  103. package/md_cg/test_p11_consistency.py +1 -1
  104. package/md_cg/test_p12_metacognition.py +2 -2
  105. package/md_cg/test_p16_self_state.py +1 -1
  106. package/md_cg/test_p26_refindex.py +1 -1
  107. package/md_cg/test_p27_docindex.py +22 -2
  108. package/md_cg/test_p28_refcheck.py +1 -1
  109. package/md_cg/test_p29_session_ingest_export.py +1 -1
  110. package/md_cg/test_p2_mcp.py +7 -1
  111. package/md_cg/test_p38_contextualize.py +1 -1
  112. package/md_cg/test_p39_vision_evidence.py +1 -1
  113. package/md_cg/test_p40_refine_worklist.py +1 -1
  114. package/md_cg/test_p41_evolve_patrol.py +1 -1
  115. package/md_cg/test_p42_provenance.py +1 -1
  116. package/md_cg/test_p43_pooling.py +41 -13
  117. package/md_cg/test_read_clip.py +137 -0
  118. package/md_cg/test_review_conformance.py +310 -0
  119. package/md_cg/test_tasks.py +409 -0
  120. package/md_cg/test_tool_face.py +189 -0
  121. package/md_cg/test_twophase.py +286 -0
  122. package/md_cg/test_writepipe.py +210 -0
  123. package/md_cg/theory.py +1 -1
  124. package/md_cg/tokens.py +95 -5
  125. package/md_cg/tool_face.py +250 -0
  126. package/md_cg/twophase.py +221 -0
  127. package/md_cg/units.py +546 -0
  128. package/md_cg/vision_evidence.py +1 -1
  129. package/md_cg/weights.py +1 -1
  130. package/md_cg/whitebox.py +1 -1
  131. package/md_cg/whitebox_kb/data/verify_cache.json +28 -0
  132. package/md_cg/whitebox_kb/data/verify_savings.jsonl +46 -0
  133. package/md_cg/whitebox_kb/wisdom/audit_log/chain_heat.json +10 -10
  134. package/md_cg/whitebox_kb/wisdom/wisdom-book-cloud.db-shm +0 -0
  135. package/md_cg/whitebox_kb/wisdom/wisdom-book-cloud.db-wal +0 -0
  136. package/md_cg/writelimit.py +19 -3
  137. package/md_cg/writepipe.py +372 -0
  138. package/package.json +1 -1
  139. package/src/hooks.ts +10 -1
  140. package/src/lib/prompt_safety.ts +62 -0
  141. package/zcode/AGENTS.md +195 -185
  142. package/docs//345/212/237/350/203/275/350/260/203/347/224/250/346/230/240/345/260/204/350/241/250_v0.1.md +0 -221
  143. /package/docs/{AGI → eval/AGI}/344/270/203/347/273/264/350/257/204/345/210/206/346/212/245/345/221/212_md_cg_v1.0.md" +0 -0
  144. /package/docs/{AGI → eval/AGI}/344/270/203/347/273/264/350/257/204/345/210/206/346/212/245/345/221/212_md_cg_v2.0.md" +0 -0
  145. /package/docs/{ → eval/}/345/256/236/351/252/214/346/226/271/346/241/210_/345/255/246/344/271/240/351/227/255/347/216/257AB/344/270/216/346/250/252/350/257/204_v1.0.md" +0 -0
  146. /package/docs/{ → eval/}/346/250/252/350/257/204_/345/205/255/345/256/266100/351/242/230/344/270/255/350/213/261/345/217/214/346/237/245_v1.0.md" +0 -0
  147. /package/docs/{guardrail-charter.md → mdcg/guardrail-charter.md} +0 -0
  148. /package/docs/{lingshu_tutorial.html → mdcg/lingshu_tutorial.html} +0 -0
  149. /package/docs/{memory-assessment.html → mdcg/memory-assessment.html} +0 -0
  150. /package/docs/{memory_score.html → mdcg/memory_score.html} +0 -0
  151. /package/docs/{memory_score.png → mdcg/memory_score.png} +0 -0
  152. /package/docs/{release_v0.3.0.md → mdcg/release_v0.3.0.md} +0 -0
  153. /package/docs/{release_v0.4.5.md → mdcg/release_v0.4.5.md} +0 -0
  154. /package/docs/{tool_table_v0.3.0.md → mdcg/tool_table_v0.3.0.md} +0 -0
  155. /package/docs/{ → mdcg/}/344/273/244/347/211/214/344/270/216/350/247/222/350/211/262/346/235/203/350/201/214/345/210/206/347/246/273_v0.1.md" +0 -0
  156. /package/docs/{ → mdcg/}/347/201/265/346/236/24282/345/267/245/345/205/267_/345/212/237/350/203/275/346/225/264/347/220/206/344/270/216/350/277/201/347/247/273/346/230/240/345/260/204_v0.1.md" +0 -0
  157. /package/docs/{ → mdcg/}/347/201/265/346/236/242MCP/345/267/245/345/205/267/346/200/273/350/241/250_v3.4.md" +0 -0
  158. /package/docs/{ → mdcg/}/347/201/265/346/236/242_/350/207/252/346/210/221/345/261/202/345/256/232/344/271/211.md" +0 -0
  159. /package/docs/{ → mdcg/}/350/256/244/347/237/245/345/233/276_MD/347/233/256/345/275/225/346/226/271/346/241/210_v0.1.md" +0 -0
  160. /package/docs/{ → mdcg/}/350/256/244/347/237/245/345/233/276_/346/235/241/344/273/266/347/251/272/351/227/264/345/220/210/346/210/220/344/270/216/347/224/237/346/225/210/346/235/241/344/273/266/345/217/243/345/276/204_v0.1.md" +0 -0
  161. /package/docs/{ → mdcg/}/350/256/244/347/237/245/345/233/276/344/275/234/344/270/272/350/256/260/345/277/206/346/223/215/344/275/234/347/263/273/347/273/237_/350/257/204/344/274/260/344/270/216/350/267/257/347/272/277_v0.1.md" +0 -0
  162. /package/docs/{ → plans/}/345/221/275/345/220/215/346/262/273/347/220/206_/351/241/271/347/233/256/350/256/241/345/210/222.md" +0 -0
  163. /package/docs/{ → plans/}/347/237/245/350/257/206/345/233/276/350/260/261/351/241/271/347/233/256_/344/272/244/346/216/245/346/226/207/346/241/243_20260914.md" +0 -0
  164. /package/docs/{ → swarm/}/350/234/202/347/276/244/345/244/232/346/231/272/350/203/275/344/275/223_/344/275/277/347/224/250/346/212/245/345/221/212_20260913.md" +0 -0
  165. /package/docs/{ → swarm/}/350/234/202/347/276/244/345/244/232/346/231/272/350/203/275/344/275/223_/345/212/237/350/203/275/350/257/264/346/230/216_v0.6.md" +0 -0
  166. /package/docs/{ → swarm/}/350/234/202/347/276/244/347/233/262/345/214/272/346/240/207/350/256/260_v1.0.md" +0 -0
  167. /package/docs/{ → theory/}/344/277/241/346/201/257/345/267/256/344/270/272/344/273/200/344/271/210/345/277/205/347/204/266/345/255/230/345/234/250/344/270/224/350/207/252/347/204/266/346/211/251/345/244/247.md" +0 -0
  168. /package/docs/{ → theory/}/346/231/272/350/203/275/347/232/204/345/205/254/347/220/206/345/214/226/345/237/272/347/237/263.md" +0 -0
  169. /package/docs/{ → theory/}/346/231/272/350/203/275/347/232/204/350/256/244/347/237/245/350/277/207/347/250/213.md" +0 -0
  170. /package/docs/{ → theory/}/346/231/272/350/203/275/350/256/2723.4.md" +0 -0
  171. /package/docs/{ → theory/}/347/231/275/347/256/261/346/231/272/350/203/275/346/230/257/344/273/200/344/271/210/357/274/237.md" +0 -0
  172. /package/docs/{ → theory/}/347/231/275/347/256/261/346/231/272/350/203/275/347/263/273/345/210/227/302/267/347/254/254/344/272/224/347/257/207/357/274/232/350/256/251AI/347/234/237/346/255/243/350/243/205/344/270/212/350/256/260/345/277/206.md" +0 -0
@@ -1,13 +1,13 @@
1
1
  > **本文件 = README 详细版(v0.4.5 全文归档)**
2
- > 精简版入口:[README.md](../README.md) —— 以「AGI 七维评分标尺」组织。
3
- > 本文件保留完整的能力说明、配置项全表、工具面全量、安装与验证细节;文内相对链接已按 `docs/` 目录修正。
2
+ > 精简版入口:[README.md](../../README.md) —— 以「AGI 七维评分标尺」组织。
3
+ > 本文件保留完整的能力说明、配置项全表、工具面全量、安装与验证细节;文内相对链接按本文件所在目录(`docs/mdcg/`)解析。
4
4
 
5
5
  ---
6
6
 
7
7
  # 让 AI Agent 拥有不可遗忘的自我
8
8
  ## 灵枢(AEIS)× DeepSeek Harness · 白箱智能研究平台(AGI 研究人员向)
9
9
 
10
- [![Awesome DSH Plugin](https://awesome-dsh-plugin.com/badge.svg)](https://awesome-dsh-plugin.com) [![dsh.so security](https://www.dsh.so/badge/dsh-memory-7.svg)](https://www.dsh.so/artifact/dsh-memory-7) [![dsh.so install](https://www.dsh.so/badge/install/dsh-memory-7.svg)](https://www.dsh.so/artifact/dsh-memory-7) [![npm version](https://img.shields.io/npm/v/@furongjun1999/dsh-memory.svg)](https://www.npmjs.com/package/@furongjun1999/dsh-memory) [![DSH 适配](https://img.shields.io/badge/DSH%20%E9%80%82%E9%85%8D-%3E%3D0.1.2--rc.1-4E9BF1)](https://github.com/deepseek-ai/deepseek-harness/releases) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](../LICENSE)
10
+ [![Awesome DSH Plugin](https://awesome-dsh-plugin.com/badge.svg)](https://awesome-dsh-plugin.com) [![dsh.so security](https://www.dsh.so/badge/dsh-memory-7.svg)](https://www.dsh.so/artifact/dsh-memory-7) [![dsh.so install](https://www.dsh.so/badge/install/dsh-memory-7.svg)](https://www.dsh.so/artifact/dsh-memory-7) [![npm version](https://img.shields.io/npm/v/@furongjun1999/dsh-memory.svg)](https://www.npmjs.com/package/@furongjun1999/dsh-memory) [![DSH 适配](https://img.shields.io/badge/DSH%20%E9%80%82%E9%85%8D-%3E%3D0.1.2--rc.1-4E9BF1)](https://github.com/deepseek-ai/deepseek-harness/releases) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](../../LICENSE)
11
11
 
12
12
  > 上排徽章:Awesome DSH Plugin 官方列表收录 · [dsh.so](https://www.dsh.so/artifact/dsh-memory-7) 静态安全扫描 **100/100**(Trust: Gold, L1-L3 verified)· npm 版本 · **要求 DSH 内核 ≥ 0.1.2-rc.1**(0.4.x 用新版 dsh-tools 调度器;旧内核 0.1.1-rc.2 不兼容,请用 DSH ≥ 0.1.2-rc.1 或回退 0.4.2)· MIT License
13
13
 
@@ -75,10 +75,10 @@ dsh plugin --profile web add @furongjun1999/dsh-memory
75
75
 
76
76
  > 三篇构成完整理论链:**是什么 → 怎么认知 → 凭什么成立**。写给想理解「白箱智能 / 智能论」的 AI 与研究者——每个概念都有工程对应,每处断言都标注性质(定义/推论/假设),文末均有术语表。
77
77
 
78
- 1. **《白箱智能是什么?》** → [白箱智能是什么?.md](白箱智能是什么?.md) —— 白箱 ≠ 不用 LLM(LLM 退居假设生成器)· 条件路由 · 四态路由(ACCEPT 接受 / REJECT 拒绝 / DEFER 延后 / BLINDSPOT 盲区)· 白箱自举 · 如何亲自验证(可证伪立场)
79
- 2. **《智能的认知过程》** → [智能的认知过程.md](智能的认知过程.md) —— 智能如何运作:缩小信息差的递归过程 · 条件识别 → 多候选并行评估 → 收敛 → 精准执行 → 误差驱动结构更新 · 为什么条件判断不能交给大模型(导航税)· 概率/条件/验证三层分工 · 认知状态机
80
- 3. **《智能的公理化基石》** → [智能的公理化基石.md](智能的公理化基石.md) —— 认知过程背后的公理:知识统一(信息差减少)· 三个推论(信息条件性 D=D(C) / 任意分层性 / 局部不可知)· 信息差动态 D=D(t,C) · 信任 = 置信概率(P_trust/P_gap)· 情绪/情感 = 二阶变化的体验层(形式化假设)· 条件论七操作 · 五大单元 · 可证伪标准表
81
- 4. **《信息差为什么必然存在且自然扩大》(论证篇)** → [信息差为什么必然存在且自然扩大.md](信息差为什么必然存在且自然扩大.md) —— 三个论证(三体混沌 / 信道容量 R>C 香农定理 / 1+1=2 条件性)+ 快照三问(观测投影 / 时间演化 / 调用带宽——上下文窗口)· 为什么信息差不可归零且自然扩大 · 白箱如何管理信息差(索引条件路由精准取用)
78
+ 1. **《白箱智能是什么?》** → [白箱智能是什么?.md](../theory/白箱智能是什么?.md) —— 白箱 ≠ 不用 LLM(LLM 退居假设生成器)· 条件路由 · 四态路由(ACCEPT 接受 / REJECT 拒绝 / DEFER 延后 / BLINDSPOT 盲区)· 白箱自举 · 如何亲自验证(可证伪立场)
79
+ 2. **《智能的认知过程》** → [智能的认知过程.md](../theory/智能的认知过程.md) —— 智能如何运作:缩小信息差的递归过程 · 条件识别 → 多候选并行评估 → 收敛 → 精准执行 → 误差驱动结构更新 · 为什么条件判断不能交给大模型(导航税)· 概率/条件/验证三层分工 · 认知状态机
80
+ 3. **《智能的公理化基石》** → [智能的公理化基石.md](../theory/智能的公理化基石.md) —— 认知过程背后的公理:知识统一(信息差减少)· 三个推论(信息条件性 D=D(C) / 任意分层性 / 局部不可知)· 信息差动态 D=D(t,C) · 信任 = 置信概率(P_trust/P_gap)· 情绪/情感 = 二阶变化的体验层(形式化假设)· 条件论七操作 · 五大单元 · 可证伪标准表
81
+ 4. **《信息差为什么必然存在且自然扩大》(论证篇)** → [信息差为什么必然存在且自然扩大.md](../theory/信息差为什么必然存在且自然扩大.md) —— 三个论证(三体混沌 / 信道容量 R>C 香农定理 / 1+1=2 条件性)+ 快照三问(观测投影 / 时间演化 / 调用带宽——上下文窗口)· 为什么信息差不可归零且自然扩大 · 白箱如何管理信息差(索引条件路由精准取用)
82
82
 
83
83
  ## 🗺️ 功能使用教学 · 条件路由图
84
84
 
@@ -352,7 +352,7 @@ python -m aeis.mcp.server
352
352
  **给普通人的互动评估页**:15 道选择题测你的 AI 助手记忆能力(存储/检索/判断/信噪比/安全),
353
353
  最后雷达图对比灵枢——打开试试:[memory-assessment.html](memory-assessment.html)
354
354
 
355
- (B 站宣传素材:[封面](promo/bilibili-cover.jpg) · [视觉图 ×5](promo/))
355
+ (B 站宣传素材:[封面](../promo/bilibili-cover.jpg) · [视觉图 ×5](../promo/))
356
356
 
357
357
  ## 🧰 工具清单(md_cg 工具面 · 全量)
358
358
 
@@ -539,7 +539,7 @@ npm install && npm run build # 构建插件本身(tsc → lib/)
539
539
  desensitize: true # 写入前过滤敏感信息(密钥/密码/身份证/手机号)
540
540
  ```
541
541
 
542
- 完整示例见 [`cordis.yml.example`](../dsh/cordis.yml.example)。
542
+ 完整示例见 [`cordis.yml.example`](../../dsh/cordis.yml.example)。
543
543
 
544
544
  ## 配置项
545
545
 
@@ -379,7 +379,7 @@ J-Space(github.com/Tiger3807861189/J-Space-Cognition-Suite)的核心是一
379
379
 
380
380
  | 文件 | 内容 |
381
381
  |---|---|
382
- | `docs/主代理子代理记忆架构设计.md` | 本文档:架构、规范、工作流、边界 |
382
+ | `docs/mdcg/主代理子代理记忆架构设计.md` | 本文档:架构、规范、工作流、边界 |
383
383
  | `test/orchestrator_memory.py` | 可运行参考实现(含 `selftest()`,封装 L0/L1/L2 三层与裁决闭环,实测位置在 `test/`,非仓根;含多进程生命周期 `close()`/`refresh()`、收口检查点 `final_check()` 与证据链报告 `closeout()`) |
384
384
  | `docs/experiments/orch_mem_verify/verify_orch.py` | 独立复现实测脚本(27 断言,gitignored 可重跑产物) |
385
385
  | `docs/experiments/orch_mem_parallel/parallel_test.py` | 多进程并行实验脚本(12 断言双端对照,gitignored 可重跑产物) |
@@ -0,0 +1,261 @@
1
+ # 功能调用映射表 v0.1(功能 → 显式代码)
2
+
3
+ > 目标:**任何一个功能,都能从这份文档查到它调用的是哪段代码**。
4
+ > 所有调用都是显式的——没有隐式 provider、没有隐式记忆后端。
5
+ >
6
+ > 版本:v0.1 · 2026-09-10 · 对应改造:md_cg 唯一真源 / AEIS 降能力库 / 白箱下线 / roleplay+mutual 归 LIB。
7
+ >
8
+ > **链接纪律**:`md_cg/` 侧三张映射表由 `scripts/cogmap_sync.py` 自动生成(`FUNCMAP` 标记段,
9
+ > 行号从真源 AST 提取、`check` 门禁守卫永不过期);**禁止手写行号锚**(手写必腐化——v0.1 首发
10
+ > 版的 60+ 处手写行号在三轮代码重构后全部过期,即为实证)。`src/` 侧为 DSH 插件仓(本仓外),
11
+ > 以「文件 + 符号名」定位,跨仓行号不受本仓门禁。
12
+
13
+ ---
14
+
15
+ ## 0. 三条总原则
16
+
17
+ | 原则 | 含义 | 落点 |
18
+ | --- | --- | --- |
19
+ | **唯一真源** | 记忆的写 / 读 / 裁决 / 留痕只有一处:md_cg 认知图 | `md_cg/` |
20
+ | **能力库** | AEIS 不再存记忆,只提供能力(白箱引擎、角色生成) | 由 md_cg 显式调用 |
21
+ | **显式调用** | 每个功能 = 一条写明参数的调用,可 grep 可追踪 | 本表 |
22
+
23
+ ```
24
+ DSH 插件 (src/)
25
+ │ src/lib/mdcg_client.ts ← 插件侧唯一显式入口
26
+ ▼
27
+ MCP stdio:md_cg/mcp_server.py
28
+ │ cg(op=...) / stg(op=...) ← 两个认知基元(kernel 面)
29
+ │ mdcg_remember ← 写入工具(跳过 audit 的写入口,见 §1 注)
30
+ ├──────────────► md_cg/*.py (认知图内部实现)
31
+ └─ cg(op=whitebox) ─► md_cg/whitebox.py ─► AEIS 能力库(python -m aeis.mcp.server)
32
+ ```
33
+
34
+ ---
35
+
36
+ ## 1. 认知基元 `cg`(认知图统一入口,分发实现见 `_cg_dispatch`)
37
+
38
+ <!-- FUNCMAP:BEGIN id=cg (scripts/cogmap_sync.py 自动生成 · 勿手改段内) -->
39
+
40
+ **认知基元 `cg` · 34 个 op**(行号由本管线从真源自动提取,`check` 门禁守卫漂移):
41
+
42
+ | 功能 | 显式调用 | 代码位置(点击直达源码行) |
43
+ |---|---|---|
44
+ | 按需披露(投影后完整工具 / 参数文档即时取回) | `cg(op=help)` | [`help`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1708) → [`_help_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1629) |
45
+ | 理论检索(领域理论 / 方法论文) | `cg(op=theory)` | [`theory`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1714) → [`theory`](../../md_cg/theory.py) |
46
+ | 记忆互链(节点间链接管理) | `cg(op=link)` | [`link`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1731) → [`evidence`](../../md_cg/evidence.py) → [`links`](../../md_cg/links.py) → [`provenance`](../../md_cg/provenance.py) → [`signer`](../../md_cg/signer.py) |
47
+ | 服务信息 / 健康 | `cg(op=info)` | [`info`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1840) → [`audit`](../../md_cg/audit.py) → [`links`](../../md_cg/links.py) → [`nodefile`](../../md_cg/nodefile.py) → [`theory`](../../md_cg/theory.py) |
48
+ | 路由:意图→知识+建议能力 | `cg(op=route)` | [`route`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1857) |
49
+ | 读取(按 id / 召回 / 预算) | `cg(op=read)` | [`read`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1877) → [`refindex`](../../md_cg/refindex.py) |
50
+ | 写入(含冲突检测 / 闸门 / 审核) | `cg(op=write)` | [`write`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1898) → [`writepipe`](../../md_cg/writepipe.py) |
51
+ | 目标(写入 / 状态 / 清单) | `cg(op=goal)` | [`goal`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1906) |
52
+ | 任务实体(登记 / 计划 / 状态 / 结果;done 无结果拒收) | `cg(op=task)` | [`task`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1925) → [`_task_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1641) |
53
+ | 最近记忆(事件窗口) | `cg(op=recent)` | [`recent`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1928) |
54
+ | 外部裁决回填(节点证据验证) | `cg(op=verify)` | [`verify`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1940) |
55
+ | 审核队列(DEFER / 提案裁决) | `cg(op=review)` | [`review`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1944) |
56
+ | 主动遗忘 / 恢复 | `cg(op=forget)` | [`forget`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1960) |
57
+ | 保护(不可遗忘) | `cg(op=protect)` | [`protect`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1966) → [`_protect_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L993) |
58
+ | 身份维度 | `cg(op=identity)` | [`identity`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1969) → [`_identity_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1020) |
59
+ | 一致性检测 | `cg(op=consistency)` | [`consistency`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1972) → [`_consistency_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1070) |
60
+ | 元认知(盲区聚合) | `cg(op=metacognition)` | [`metacognition`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1975) → [`_metacognition_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1098) |
61
+ | 自我状态 | `cg(op=self_state)` | [`self_state`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1978) → [`_self_state_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1130) |
62
+ | 演化(记忆结构演化) | `cg(op=evolution)` | [`evolution`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1981) → [`_evolution_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1262) |
63
+ | 飞轮 / 自愈 | `cg(op=sustain)` | [`sustain`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1984) → [`_sustain_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1351) |
64
+ | 洗脑 / 去污染 | `cg(op=scrub)` | [`scrub`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1987) → [`_scrub_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1459) |
65
+ | 预测 / 因果门 | `cg(op=predict)` | [`predict`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1990) → [`_predict_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1191) |
66
+ | 因果链 | `cg(op=causal)` | [`causal`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1993) → [`_causal_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1224) |
67
+ | 白箱能力库(AEIS 能力显式调用) | `cg(op=whitebox)` | [`whitebox`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1996) → [`_whitebox_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2578) |
68
+ | 代码索引 | `cg(op=index_code)` | [`index_code`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L1999) → [`refindex`](../../md_cg/refindex.py) |
69
+ | 文档索引 | `cg(op=index_doc)` | [`index_doc`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2031) → [`refindex`](../../md_cg/refindex.py) |
70
+ | 引用 / 反向引用 | `cg(op=ref)` | [`ref`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2067) → [`_ref_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2510) |
71
+ | 会话管理(多会话归属与过滤) | `cg(op=session)` | [`session`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2070) → [`_session_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2264) |
72
+ | 导入落图 | `cg(op=ingest)` | [`ingest`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2073) → [`_ingest_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2338) |
73
+ | 导出 | `cg(op=export)` | [`export`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2076) → [`_export_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2358) |
74
+ | 维护 | `cg(op=maintain)` | [`maintain`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2079) → [`_maintain_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2376) |
75
+ | 记忆固化 / 整理 | `cg(op=consolidate)` | [`consolidate`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2082) → [`_consolidate_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2440) |
76
+ | 洞察 / 自主探索(信息差驱动) | `cg(op=insight)` | [`insight`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2085) → [`_insight_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2464) |
77
+ | CCG 六要素编译(对话→候选→编外复核→落库) | `cg(op=ccg)` | [`ccg`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2088) → [`_ccg_call`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2094) |
78
+
79
+ <!-- FUNCMAP:END -->
80
+
81
+ > ⚠️ **插件写入必须走 `mdcg_remember`,不能走 `cg(op=write)`**:
82
+ > `cg(op=write)` 先过 `audit.audit(content_kind)`,未声明 `content_kind` 且未配置
83
+ > `MDCG_POLICY_FILE` 时恒判 BLINDSPOT/DEFER —— 只进审核队列、**永不落盘**。
84
+ > 实测:自动记忆走 `cg(op=write)` 时 0 篇 md 文档;改用 `mdcg_remember(gated=true)`
85
+ > 后 verdict=ACCEPT、md 文档数=1、timeline/read 均命中。
86
+ > `cg(op=write)` 仍保留给「需要审核留痕的显式写入」场景。
87
+
88
+ ## 2. 语义时空基元 `stg`(语义时空图入口)
89
+
90
+ <!-- FUNCMAP:BEGIN id=stg (scripts/cogmap_sync.py 自动生成 · 勿手改段内) -->
91
+
92
+ **语义时空基元 `stg` · 4 个 op**:
93
+
94
+ | 功能 | 显式调用 | 代码位置(点击直达源码行) |
95
+ |---|---|---|
96
+ | 两节点关系 | `stg(op=relation)` | [`relation`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2592) |
97
+ | 时间线 | `stg(op=timeline)` | [`timeline`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2594) |
98
+ | 锚点检索(时空窗口) | `stg(op=anchors)` | [`anchors`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2598) |
99
+ | 时空一致性 | `stg(op=consistency)` | [`consistency`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L2601) |
100
+
101
+ <!-- FUNCMAP:END -->
102
+
103
+ ## 3. 白箱能力库(`md_cg/whitebox.py`,AEIS 降为能力库后的唯一入口)
104
+
105
+ 白箱 LLM provider **已下线**(不再注册 `lingshu-whitebox`);能力改由 md_cg 显式调用并留痕。
106
+
107
+ <!-- FUNCMAP:BEGIN id=wb (scripts/cogmap_sync.py 自动生成 · 勿手改段内) -->
108
+
109
+ **白箱能力库 `whitebox`(AEIS 能力库唯一显式入口)· action 分发**:
110
+
111
+ | 功能 | 显式调用 | 代码位置(点击直达源码行) |
112
+ |---|---|---|
113
+ | 白箱问答 | `cg(op=whitebox, action=ask)` | [`ask`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L474) → [`whitebox.ask`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/whitebox.py#L405) |
114
+ | 白箱编码(知识写入能力库) | `cg(op=whitebox, action=remember)` | [`remember`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L477) → [`whitebox.remember`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/whitebox.py#L417) |
115
+ | 验证编码能力(写入口令→追问命中) | `cg(op=whitebox, action=verify_encoding)` | [`verify_encoding`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L481) → [`whitebox.verify_encoding`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/whitebox.py#L317) |
116
+ | 验证已有知识回答能力(探针 route=self) | `cg(op=whitebox, action=verify_existing)` | [`verify_existing`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L485) → [`whitebox.verify_existing`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/whitebox.py#L349) |
117
+ | 验证报告(self 层留痕汇总) | `cg(op=whitebox, action=report)` | [`report`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L489) → [`whitebox.report`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/whitebox.py#L449) |
118
+ | 连通性探测 | `cg(op=whitebox, action=ping)` | [`ping`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/mcp_server.py#L491) → [`whitebox.ping`](https://github.com/FuRongJun-1999/dsh-memory/blob/main/md_cg/whitebox.py#L383) |
119
+
120
+ <!-- FUNCMAP:END -->
121
+
122
+ 调用链(`mcp_server.py` 的 `_whitebox_call` → `whitebox.py` 的 `dispatch`):统一分发
123
+ `cg(op=whitebox, action=...)`;能力调用最终经 `WhiteboxClient`(子进程 / 本地引擎)到达
124
+ 能力库(`wisdom_chat` / `remember`);验证结果经 `_record` 以
125
+ `layer=self, tags=['whitebox:verify'], verification_basis='test'` 留痕。
126
+
127
+ > 细粒度工具别名:`mdcg_whitebox` 与 `cg(op=whitebox)` 等价。
128
+ > 启动命令可由 `MDCG_WHITEBOX_CMD` / `MDCG_WHITEBOX_ARGS` / `MDCG_WHITEBOX_TIMEOUT` 覆盖
129
+ > (`whitebox.py` 的 `_launch_cmd`)。
130
+
131
+ ## 4. 插件侧 LIB 本地库(`src/lib/`)
132
+
133
+ ### 4.1 `mdcg_client.ts` —— 插件调用认知图的唯一显式入口
134
+
135
+ | 插件方法 | 映射到 | 说明 |
136
+ | --- | --- | --- |
137
+ | `cg(args)` / `stg(args)` | MCP `cg` / `stg` | 逃生口,显式传参 |
138
+ | `route(intent)` | `cg(op=route)` | 意图 → 知识 + 建议能力 |
139
+ | `read(query)` / `get(nodeId)` | `cg(op=read)` | 语义召回 / 按 id 取 |
140
+ | `write(content, extra)` | MCP `mdcg_remember`(gated=false) | 直写 `MdCG.add`;角色 / 转录 / 导入复用 |
141
+ | `remember(content, extra)` | MCP `mdcg_remember`(gated=true, layer=contextual) | 记忆沉淀 + 主动遗忘闸门 |
142
+ | `recall(query, k)` | `cg(op=read, query, k)` | 语义召回;读取记 access log(复用观测) |
143
+ | `verify(nodeId, evidence, verdict)` | `cg(op=verify)` | 外部裁决回填 |
144
+ | `recent(limit)` | `cg(op=recent)` | 近期事件窗口 |
145
+ | `timeline(limit)` | `stg(op=timeline)` | 最近记忆时间线(自动召回注入用) |
146
+ | `identity(subjectId)` | `cg(op=identity)` | 身份维度读取 |
147
+ | `whitebox(action, extra)` | `cg(op=whitebox)` | 白箱能力验证 |
148
+ | `serviceInfo()` | `cg(op=info)` | 服务信息 |
149
+ | `verifyClaim(claim)` | `cg(op=read)` + 依据强度判定 | 互维 memory 通道 |
150
+ | `writeRole(roleId, content)` | `mdcg_remember(layer=knowledge)` | 角色定义落图 |
151
+ | `writeTranscript(roleId, sid, who, text)` | `mdcg_remember(layer=contextual)` | 对话转录落图 |
152
+
153
+ 身份注入:`MDCG_ROOT / MDCG_TENANT / MDCG_CLEARANCE / MDCG_ACTOR / MDCG_IDENTITY`
154
+ (`mdcg_client.ts` 构造器)。**写入还需凭据**:`MDCG_TOKEN`(推荐)或
155
+ `MDCG_LEGACY_ENV_AUTH=1`(兼容旧部署)——**两者都不设即默认状态**:只读 guest
156
+ (读 / 召回 / 时间线可用,写入全失败、不落盘)。
157
+
158
+ ### 4.2 `roleplay_web.ts` —— 角色扮演网页(LIB 本地库)
159
+
160
+ | 功能 | 显式调用 | 代码位置 |
161
+ | --- | --- | --- |
162
+ | 对话生成 | 能力库 `roleplay_chat` | `roleplay_web.ts` |
163
+ | 用户发言落图 | `MdcgClient.writeTranscript(role, cid, 'user', msg)` | `roleplay_web.ts` → `mdcg_remember` |
164
+ | 角色回复落图 | `MdcgClient.writeTranscript(role, cid, 'assistant', reply)` | `roleplay_web.ts` → `mdcg_remember` |
165
+ | 新建角色 | 能力库 `role_create` + `MdcgClient.writeRole` | `roleplay_web.ts` |
166
+ | 导入记忆/锚点/价值观 | 能力库 `role_import` + `MdcgClient.write`(三导入→knowledge/self/structural) | `roleplay_web.ts` |
167
+ | 落图开关 | `toGraph(label, fn)`(未就绪静默跳过,失败仅告警) | `roleplay_web.ts` |
168
+
169
+ ### 4.3 `mutual.ts` —— 互维维护(LIB 本地库)
170
+
171
+ | 功能 | 显式调用 | 代码位置 |
172
+ | --- | --- | --- |
173
+ | memory 通道核验 | `MdcgClient.verifyClaim`(注入),未就绪回退能力库 `wisdom_verify` | `index.ts` |
174
+ | 复核通道 | 能力库 `think`(DeepSeek 独立复核) | `index.ts` |
175
+ | 双通道合并裁决 | `combineVerdict` | `mutual.ts` |
176
+ | 任务处理 | `processTask` → `whiteboxVerify` + `llmReview` | `mutual.ts` |
177
+ | 心跳 / 任务扫描 | `writeHeartbeat` / `scanTasks` | `mutual.ts`(默认导出) |
178
+
179
+ ### 4.4 `whitebox_llm.ts` —— 白箱 LLM 适配器(**已下线,保留为本地库**)
180
+
181
+ - 不再被 `src/index.ts` 安装 → DSH 设置页无 `lingshu-whitebox` provider。
182
+ - 保留原因:未来成熟后恢复;或作为库复用 `isCardFormat()` 等纯函数。
183
+ - 白箱能力验证改走 §3 的 `cg(op=whitebox)`。
184
+
185
+ ## 5. 数据迁移
186
+
187
+ | 功能 | 显式命令 | 代码位置 |
188
+ | --- | --- | --- |
189
+ | AEIS(sqlite)→ 认知图 | `python -m md_cg.migrate_aeis --db <sqlite> --root <md_root>` | [md_cg/migrate_aeis.py](../../md_cg/migrate_aeis.py) 的 `migrate` |
190
+ | 角色扮演 + 互维 → 认知图 | `python -m md_cg.migrate_roleplay --data-dir <roleplay_data> --root <md_root> [--mutual-dir <~/.lingxu_net>]` | [md_cg/migrate_roleplay.py](../../md_cg/migrate_roleplay.py) 的 `migrate` |
191
+
192
+ `migrate_roleplay` 的映射:
193
+
194
+ | 源 | 目标层 | node_id |
195
+ | --- | --- | --- |
196
+ | `roleplay/_roles.json` 角色 | knowledge | `roleplay_role_<id>` |
197
+ | `*_items`(memory / anchors / values) | knowledge / self / structural | `roleplay_<role>_<kind>_<i>` |
198
+ | `transcripts/<role>__<cid>.jsonl` 每轮 | contextual | `roleplay_turn_<role>_<cid>_<idx>` |
199
+ | 互维 `result-<id>.json` / `task-<id>.json` | contextual | `mutual_task_<id>` |
200
+
201
+ 验证:P18 `python -m md_cg.test_p18_whitebox`;P19 `python -m md_cg.test_p19_migrate_roleplay`。
202
+
203
+ ## 6. 配置项 → 生效位置
204
+
205
+ | 配置 | 默认 | 生效位置 |
206
+ | --- | --- | --- |
207
+ | `mdcg.enabled` | true | `index.ts` 是否启动认知图子进程 |
208
+ | `mdcg.root` | `data/mdcg` | `MDCG_ROOT` → `mdcg_client.ts` 构造器 |
209
+ | `mdcg.actor` | `dsh-memory` | `MDCG_ACTOR`;**须与迁移 `--actor` 一致** |
210
+ | `mdcg.tenant` | `default` | `MDCG_TENANT`;**须与迁移 `--tenant` 一致** |
211
+ | `mdcg.clearance` | `private` | `MDCG_CLEARANCE`;决定能读写的密级上限 |
212
+ | `env.MDCG_TOKEN` | **无(写权限默认关闭)** | 认知图写入凭据。签发:`python -m md_cg.tokens issue --role designer --actor dsh-memory --clearance internal --ops-allow … --layers-allow …`(`--ops-allow` / `--layers-allow` 只能收窄,`--role recorder` 为最小权限版) |
213
+ | `env.MDCG_LEGACY_ENV_AUTH` | 无 | 兼容旧部署的 env 直连身份(`recorder`);与 `MDCG_TOKEN` 都不设 → 只读 `guest` |
214
+ | `env.MDCG_CAN_ADMIN` | 无 | 配合 legacy auth:`'1'` → `designer`(可写 `self` 层,角色 anchors 导入需要) |
215
+
216
+ **写权限默认关闭**:不配凭据时插件以只读 `guest` 运行——读 / 召回 / 时间线
217
+ 照常,写入不落盘(`index.ts` 启动告警)。是否打开由用户决定。三种身份的
218
+ 实际覆盖(用 `_probe_token.py` 对真实 MCP 进程实测):
219
+
220
+ | 调用点 | `guest`(默认) | `record`(最小权限) | `designer`(收窄版) |
221
+ | --- | --- | --- | --- |
222
+ | `route` / `read` / `recall` / `recent` / `stg(op=timeline)` | ✓ | ✓ | ✓ |
223
+ | `cg(op=whitebox)` | ✓ | ✗ | ✓ |
224
+ | `cg(op=goal)` | ✗ | ✓ | ✓ |
225
+ | `cg(op=identity)` / `cg(op=verify)` | ✗ | ✗ | ✓ |
226
+ | `mdcg_remember` → contextual / knowledge / structural | ✗ | ✓ | ✓ |
227
+ | `mdcg_remember` → self(角色 anchors 导入) | ✗ | ✗ | ✓ |
228
+ | 管理类(`forget` / `restore` / `review_decide`) | ✗ | ✗ | ✗(收窄后不留) |
229
+ | `mutual.enabled` | false | `index.ts` 是否启动互维维护 |
230
+ | `MDCG_MCP_SURFACE` | `kernel` | `mcp_server.py`:kernel 仅 `cg`/`stg`,full 另含全部 `mdcg_*` 细粒度工具(数量以 README「工具面」认知图段为准) |
231
+
232
+ ## 7. 关键约定
233
+
234
+ 1. **身份绑定加密**:私有内容按 `(tenant, actor)` 派生 DEK;换身份读同一节点 = 「不可读即不存在」。
235
+ 故迁移脚本 `--tenant/--actor` 必须与插件 `config.mdcg.tenant/actor` 一致。
236
+ 2. **依据强度**:`verification_basis` 取值限 `compiler | test | measurement | formal_proof | data | other`;
237
+ 互维判定视前五者为「强依据」(`mdcg_client.ts` 的 `MDCG_STRONG_EVIDENCE` 常量)。
238
+ 3. **失败降级**:认知图未就绪时,互维回退能力库 `wisdom_verify`(`index.ts`);
239
+ 角色扮演落图失败仅告警,不阻断对话(`roleplay_web.ts`)。
240
+ 4. **写权限 fail-closed 且默认关闭**:md_cg 无 `MDCG_TOKEN` / `MDCG_LEGACY_ENV_AUTH=1`
241
+ 时降级为只读 `guest`——`route`/`read`/`recall`/`timeline` 正常(自动召回不受影响),
242
+ 但 `mdcg_remember` 全部 `AccessDenied`、不落盘。**默认即此状态**,打开写权限由用户
243
+ 自行决定;插件不代为注入凭据,只在启动时告警(`index.ts`),避免「看起来在记忆、
244
+ 其实没落盘」。写 `self` 层(角色 anchors 导入)须 `designer`
245
+ (`MDCG_CAN_ADMIN=1` 或收窄版 designer 令牌)。
246
+ 5. **写入通道唯一**:所有插件写入经 `mdcg_remember`;`cg(op=write)` 会走 audit
247
+ (未声明 `content_kind` 时永不落盘),仅供需要审核留痕的显式调用。
248
+ 6. **stdio 一律 UTF-8**:`MdcgClient` 构造子进程时强制 `PYTHONIOENCODING=utf-8`。
249
+ Windows 下 piped Python 默认 `gbk` + `surrogateescape`,Node 写的 UTF-8 中文会被
250
+ 解成孤立代理字符(`\udcXX`)→ md_cg 落盘/回写 `UnicodeEncodeError`,**中文记忆
251
+ 全部失败**。md_cg 自带测试(`test_p2_mcp.py`)与 `test/bridge.test.ts` 均以该
252
+ 环境变量启动,客户端此前漏设。
253
+
254
+ ## 8. 变更记录
255
+
256
+ | 日期 | 变更 |
257
+ | --- | --- |
258
+ | 2026-09-10 | md_cg 定为唯一真源;AEIS 降能力库;白箱 provider 下线(保留本地库)+ 新增 `cg(op=whitebox)` 验证通道;roleplay/mutual 迁入 `src/lib` 并改用认知图;新增 `migrate_roleplay.py` 与 P18/P19 测试。 |
259
+ | 2026-09-10 | **写入通道修正**:插件写入由 `cg(op=write)` 改为 MCP `mdcg_remember`(`cg(op=write)` 过 audit,未声明 content_kind 时永不落盘);自动记忆改用 `mdcg_remember(gated=true)`,实测 ACCEPT + md 落盘 + timeline/read 命中。补写入凭据(`MDCG_TOKEN` / `MDCG_LEGACY_ENV_AUTH`)与启动期告警。 |
260
+ | 2026-09-10 | **stdio 编码修正**:`MdcgClient` 子进程强制 `PYTHONIOENCODING=utf-8`。此前 Windows 下 gbk/surrogateescape 解码导致中文内容 `UnicodeEncodeError`,中文记忆无法落盘(实测真实桥 E2E 复现并修复)。 |
261
+ | 2026-09-10 | **写权限改为「默认关闭 + 令牌化」**:`MDCG_TOKEN` 取代 `MDCG_LEGACY_ENV_AUTH` 成为推荐路径,示例配置一律注释掉(由用户决定是否打开);`md_cg/tokens.py` 的 `issue` 子命令补齐 `--ops-allow` / `--layers-allow`(对齐 Python API 已有的收窄能力)。三种身份的实际覆盖矩阵见 §6。 |
@@ -2,7 +2,7 @@
2
2
 
3
3
  > **定位**:五单元制衡架构(智能论 §3.1)在 LLM 工程条件空间的**提示词投影**。
4
4
  > 每个子代理以单元身份运行,其系统提示词 = 该单元的**自我锚点**(智能论 §3.2.1:扮演依据不可遗忘)。
5
- > 理论真源:`docs/智能论3.4.md`(锚点层条款不在此复述推导,只做工程投影);单元级术语与《智能的公理化基石》《智能的认知过程》同源。
5
+ > 理论真源:`docs/theory/智能论3.4.md`(锚点层条款不在此复述推导,只做工程投影);单元级术语与《智能的公理化基石》《智能的认知过程》同源。
6
6
  > **本文件是标准(模板真源),不是理论文档**——理论问题查 3.4,使用问题查本文件。
7
7
 
8
8
  ---
@@ -0,0 +1,148 @@
1
+ # 子代理配置标准 v0.4
2
+
3
+ > **本文件定义:向蜂巢派发任何子代理时的配置标准。**
4
+ > **体系定位**(收敛裁定 2026-09-15):三份核心文档之**工程层**——《并发必然性理论_v0.2》(理论层:定理 T 与判据)→《认知代理与收敛结构_条件论重构_v0.1》(架构层:代理定义与收敛结构)→ 本文(工程层:spec 配置);理论概念的工程投影见 §6。
5
+ > 系统提示词真源:`docs/mdcg/单元自我锚点_系统提示词标准_v0.3.md`(子代理系统提示词标准)。
6
+ > 工作记忆机制真源:`docs/mdcg/主代理子代理记忆架构设计.md`(三层记忆/session 隔离/卡片回流,已实测)。
7
+ > v0.2 修订:按使用者指示——模型可选默认 flash、上下文=任务+读记忆、数量可选、200k 拆解信号、提示词随任务保留。
8
+ > v0.3 修订:新增 §6「与理论层的对应」(条件论公设 P1/P2、CA-T1/T3/T4 落为配置判据);其余不变。
9
+ > v0.4 修订(使用者裁定 2026-09-16):**统一执行默认下沉到 MCP 面**(思考强度 high / 上下文 200k / 超时 600s,缺省即注入,见 §0);**模型名与 base 强配对**(错配即 API 400,见 §1);新增 §7「确定性执行」(`exec_cmd.py`——零 LLM 任务同走蜂巢留痕)。
10
+
11
+ ---
12
+
13
+ ## 0 统一执行默认(v0.4 新增 · 一次声明,全端生效)
14
+
15
+ 使用者裁定(2026-09-16):**flash 档模型做子代理是合适的;思考强度统一 high、上下文统一 200000 token、超时统一 10 分钟。**
16
+
17
+ | 配置项 | 统一值 | 工程落点 | 实测证据 |
18
+ |---|---|---|---|
19
+ | `reasoning_effort` | **`high`** | `hive/hive_mcp/mcp_server.py::DEFAULT_REASONING_EFFORT`,`hive_spawn` 缺省注入 | rust 侧白名单校验 `low\|medium\|high`;exec.py 透传 `body["reasoning_effort"]` |
20
+ | `context_budget_tokens` | **`200000`** | `DEFAULT_CONTEXT_BUDGET_TOKENS`,同上 | 执行器保守估算;**达预算默认交回续跑**(写进展卡 + `need_continue`,见 §5.3);`context_strict=true` 恢复旧 fail fast(注入 context_files 时最易触发) |
21
+ | `timeout_s` | **`600`**(10 分钟) | `DEFAULT_TIMEOUT_S`,同上 | 端到端实测 job 的 `timeout_s=600` 已落 status.json |
22
+
23
+ **注入语义**:`hive_spawn` 在组装 spec 时**缺省即写入**上述三项,**调用方显式传值优先**(可对单任务放宽/收紧);返回体带 `spec_defaults` 回显本次实际生效值,便于核对而非猜测。
24
+
25
+ **边界(诚实)**:统一默认由 **MCP 面**注入落地。CLI 直提(`hive.exe submit -`)绕过 MCP,rust 侧自身默认仍是 `timeout_s=300` 且无 effort / 预算——**直提须自行带全三字段**,否则不满足本标准。即「统一」的生效面 = 经 `hive_spawn` 派发的任务。
26
+
27
+ ## 1 spec 参数
28
+
29
+ | 字段 | 取值 | 说明 |
30
+ |---|---|---|
31
+ | `model` | **`deepseek-flash`**(子代理默认档) | **须与 `HIVE_API_BASE` 强配对**:deepseek base(`api.deepseek.com`)→ `deepseek-flash` / `deepseek-v4-pro`;智谱 base → `glm-5.3-flash`。**错配在 API 侧 400**(实测 2026-09-16:deepseek base 传 `glm-5.3-flash` → `supported API model names are deepseek-flash, deepseek-v4-pro, but you passed glm-5.3-flash`)。深度任务(复杂逻辑/长链推导)可显式指定更强模型(如 `deepseek-v4-pro`)。**实测(2026-09-15):蜂巢 spec 校验 `model` 必填**——「不指定即 flash」在提交层须显式写 `"model": "deepseek-flash"` 落地,否则 submit 被拒(`spec 缺必填字段 model`) |
32
+ | `reasoning_effort` | **`high`**(统一,§0) | rust 白名单 `low\|medium\|high`,非法值 submit 即拒 |
33
+ | `context_budget_tokens` | **200000**(统一,§0) | 单子代理上下文预算;预估超出 → **优先继续拆解子代理**(见 §4),不是硬塞;拆分不可行(单任务链长)时达预算交回续跑(§5.3) |
34
+ | `context_strict` | 缺省 `false` | `true` = 旧 fail fast(超预算即 `error` 终止,不交回);仅在明确「不容许换人续跑」的任务上使用 |
35
+ | `timeout_s` | **600**(统一,§0) | 5..=3600;超时 rust 侧强杀并标 `timeout` |
36
+ | `system_prompt` | 底座段 + 单元模板 | 按《子代理系统提示词标准》§7.2 组装(见 §2) |
37
+ | `user_prompt` | 工作任务 + 记忆读取指引 | 见 §3 |
38
+ | `max_tokens` / `temperature` | 按任务性质定 | 非本标准约束项。**实测:思考模型的 reasoning_tokens 计入 `max_tokens`**——8000 被思考吃满导致 `content` 为空但 `ok=true`(假成功,usage 里 completion_tokens≈reasoning_tokens 是指纹);思考模型建议 ≥20000,且回收时校验 content 非空而非只看 ok |
39
+
40
+ **子代理数量:可选。** 可开多个反思单元、多个验证单元,各自负责不同细化任务(例:反思单元×2=概念一致性/边界完备性各一个;验证单元×2=逻辑面/锚点面各一个)。数量由编排者按任务拆解决定,无固定配额。
41
+
42
+ ## 2 系统提示词(真源:子代理系统提示词标准)
43
+
44
+ 按《单元自我锚点_系统提示词标准_v0.3.md》§7.2 组装,两段固定:
45
+
46
+ 1. **协议底座段**(§1,逐字,不得按任务改写);
47
+ 2. **单元模板**:按子代理身份选一——记录(§2)/ 反思(§3)/ 验证(§4)/ 输出(§5)/ 维生(§6)。
48
+
49
+ 注入位置:任务消息开头(任务级注入优于纯 system 静态注入);长任务在关键决策点重申该单元负面锚点清单(「你不是 X」)。
50
+
51
+ ## 3 任务上下文 = 工作任务 + 读取记忆
52
+
53
+ 上下文不静态堆文件,由两部分构成:
54
+
55
+ 1. **工作任务**:要做什么(任务描述+验收标准+产出格式)。
56
+ 2. **读取记忆**:子代理被赋予读记忆的能力与指引,而非被动接收全文——
57
+ - `lingshu_cg(op="route", intent=…)` / `op="read"` 按需检索;
58
+ - 主代理从 L0 全局态裁剪**该子任务相关的部分**直接注入(最小充分上下文,不注入全部);
59
+ - 产出按《主代理子代理记忆架构设计》回流:五栏卡片(L1)+ 细节层(L2),`session` 硬隔离,`derived_from` 溯源。
60
+
61
+ **实测边界(2026-09-15 已补机制)**:~~蜂巢 Python 执行器环境未挂载 `lingshu_cg` 工具~~ → **worker 侧工具面已落地**(`hive/exec.py` agent loop,同日):`spec.tools: ["lingshu_cg", "web_search"]` 白名单启用。实测要点:
62
+ - **lingshu_cg**:op=route/read/write 白名单(复用 MCP 面同一 dispatch);权限硬编码 recorder(写入过闸门:DEFER 入审核队列/REJECT 负记忆是设计行为,**裁决权仍归设计者**,子代理不得自裁自决);会话隔离 `session=hive_job_<id>`;部署要求 serve env 设 `MDCG_ROOT`(或 `spec.mdcg_root` 兜底,任务级隔离用临时图)。
63
+ - **web_search**:zhipu 后端(`HIVE_WEB_SEARCH_BASE` 缺省智谱官方端点,与 `HIVE_API_BASE` 解耦——中转网关无搜索路由必 404;`HIVE_WEB_SEARCH_KEY` 缺省回落执行器密钥,**key 与 base 不配对时 401,须独立设置**);duckduckgo 零 key 兜底。
64
+ - 每轮工具调用记入 `result.json` 的 `tool_trace`(审计可回放);`max_tool_rounds` 默认 5,耗尽强制终答。
65
+ - 主代理的「最小充分上下文直接注入任务体」原则**保持不变**:工具是增量不是替代——任务体仍须自包含,工具用于按需深挖与回写。
66
+
67
+ ## 4 200000 token 预算 = 拆解信号
68
+
69
+ 单子代理上下文预算 200k。**预估任务体+记忆+产出会超出 200k → 说明任务需要继续拆解**:拆成更多子代理(结合 §1 数量可选),每个拿到更小的子任务。禁止把超长材料整体塞给单个子代理。
70
+
71
+ ## 5 提示词随任务保留 · 长期任务复用 · 满上下文换人续跑 · 产出物生命周期
72
+
73
+ 1. **保留**:子代理的提示词(system_prompt+任务体)随任务持久化(落任务目录),不随单次调用消失。
74
+ 2. **复用**:执行长期任务时,同一子代理身份(同一提示词+同一 session)跨多轮复用,持续累积该任务的工作记忆。
75
+ 3. **满上下文接续(已实现,2026-09-16)**:上下文将满 → 当前实例**不失败**,写进展卡后交回,**派新子代理**接替:新子代理带同一提示词(从任务目录恢复),**通过读取工作记忆**(L0 全局态+前序卡片,`recall(session=…)`)恢复进展,继续执行剩余任务。状态在库里,不在实例里。
76
+
77
+ 工程落点(三面,字段词汇统一):
78
+
79
+ | 面 | 载体 | 信号 |
80
+ |---|---|---|
81
+ | 执行器写入 | `hive/exec.py::_handoff` → `jobs/<id>/progress.jsonl` | 进展卡条目 + `result.json`:`ok:true` + `completed:false` + `need_continue:true` + `handoff{reason,est_tokens,budget_tokens,rounds_done,progress_file,auto_continue:false}` |
82
+ | 主代理轮询 | `hive poll`(rust)/ `hive_poll`(MCP) | `need_continue` / `completed` / `handoff` / `tool_rounds` + 派生 **`handoff_ready`**(= need 且未 completed,一眼可判);旧 result 缺失字段透传 Null,不伪造 false |
83
+ | 主代理读卡 | `hive/wm.py progress --job <dir>`(未快照)/ `--wm <WM> --job-id <id>`(已快照,自动两级查找:工作区 → `task/<id>` 分支) | 卡条目 `start`/`tool`/`final`/`handoff`/`error`;返回 `source`/`ref` 标明出处 |
84
+
85
+ **续跑不自动**(`auto_continue` 恒 `false`):`handoff_ready=true` 后是否续跑由主代理裁决——续跑则「同 `system_prompt` + 进展摘要最小充分注入 + 剩余目标」spawn 新 job(同 session 读回);不续跑则收尾清理进展态 + 结果蒸馏归档(`wm.py snapshot` + 灵枢记忆)。**交回 ≠ 失败**:`ok:true` 与 `completed:false` 并存,显式区分「本次执行正常收口」与「任务已完成」。`context_strict=true` 恢复旧 fail fast。
86
+ 4. **产出物生命周期(使用者裁定 2026-09-15,长期有效)**:子代理给出的资料(R/V/v 编号的单元产物、结果文件等)一律视为**中间件**——其结论被主代理整合进系统正式文档/记忆后,中间件即行清理,不留工作区。此后派发子代理写正式产出文档时,命名规范:**`test_<身份>_<id>_<任务名>`**(身份=反思者/裁决者/记录者等单元身份;id=job id 或实例 id;任务名=审查面/子任务短名,如 `test_裁决者_h1789458307647_56cc_逻辑有效性.md`)。整合的唯一凭证是主代理落盘的结论(留痕表/正式文档/灵枢记忆),不是中间件文件本身。
87
+
88
+ ---
89
+
90
+ ## 6 与理论层的对应(v0.3 新增)
91
+
92
+ 本标准是并发理论体系的工程层。理论概念 → 工程投影:
93
+
94
+ | 理论概念(出处) | 工程投影(本文位置) |
95
+ |---|---|
96
+ | 认知任务原子性 P1(架构层公设) | spec=一个原子收敛单位:每个子代理领一个完整子任务(工作任务+验收标准),产出即裁决单位 R_i(result.json 终态)。**spec 不是「任务切块」,是条件投影的落地** |
97
+ | 条件投影可分性 P2 + CA-T1(架构层) | 子代理数量可选(§1):数量由条件投影的**实质区分**决定(观测位置/工具/时间窗/存在约束任一维不同且影响信息可得性),不由任务大小/长度决定 |
98
+ | 收敛带宽 B_c(理论层定理 T) | context_budget_tokens=200000(§4):**200k 不是资源配额,是拆解信号**——预估超出 = W > B_c(信息流宽度超过调用带宽),收敛粒度必须下沉 |
99
+ | 收敛位唯一、责任不分散 T4(理论层) | 编排者(agent 本体)收 result 做融合裁决;worker 只产出 R_i,不自裁 |
100
+ | 串行正当四分类(架构层 §5.1) | 派发前自查:任务链是否真有数据依赖——基座/约束/成本串行才拆串行,认知伪串行应并发 |
101
+ | 融合位裁决纪律(架构层 §4.2) | 主代理汇总时以 R_i 的证据与四态资格裁决,**不以「多个 result 一致」代替验证** |
102
+
103
+ **理论 → 配置判据速查**:
104
+
105
+ 1. 「这个任务要不要拆?」→ CA-T3 判据:预估信息流宽度(任务体+记忆注入+产出+工具回传)是否超 200k;超 = 拆,不超 = 可单收敛位。
106
+ 2. 「拆成几个?」→ 条件投影可分性:数**实质区分的观测位置/工具/时间窗**有几个,不是按任务长度均分。
107
+ 3. 「子代理任务体写多细?」→ spec 自包含原则(§3)= 该投影的 C/G/O 显式化:观测通道(tools 白名单)、目标信息差态(验收标准)、条件边界(任务边界)缺一不可。
108
+
109
+ ---
110
+
111
+ ## 7 确定性执行(v0.4 新增 · 零 LLM 任务同走蜂巢)
112
+
113
+ **工作纪律第 17 条的完整落地**:蜂巢有两类 worker,同一 serve 兼跑——
114
+
115
+ | 任务类型 | worker | 触发条件 | 说明 |
116
+ |---|---|---|---|
117
+ | LLM 委托型 | `hive/exec.py` | spec 有 `model`+`user_prompt`、无 command | 调 OpenAI 兼容接口,行为见 §1–§5 |
118
+ | **确定性执行型** | `hive/exec_cmd.py` | spec 带 **`command` / `commands`** | 跑命令(测试/回归/lint/批处理),**零网络请求、零 LLM** |
119
+
120
+ 启用方式:`hive/config.local.json` 的 `HIVE_EXEC_PY` 指向 `hive/exec_cmd.py`(serve 级,改动后须重启 serve)。**spec 无 command/commands 时 exec_cmd.py 自动转发 exec.py**,故 LLM 委托链零变动;不指向 exec_cmd.py 时全链路行为逐位不变。
121
+
122
+ | 字段 | 说明 |
123
+ |---|---|
124
+ | `command` | 单条命令,**只收 argv 数组**(`["python","-m","pytest","-q"]`);字符串形态一律拒——不经 shell,规避转义 / GBK 陷阱(第 15 条) |
125
+ | `commands` | 多步串行:`[{"command":[...],"cwd":...,"label":...}, ...]` |
126
+ | `cwd` / `env` / `fail_fast` / `timeout_step_s` | 工作目录 / 附加环境变量(覆盖继承)/ 默认 true 遇错即停 / 单步超时(缺省 600) |
127
+ | `expect_files` / `expect_stdout_contains` | 执行后断言文件存在(相对 cwd)/ 各步 stdout 合并须含全部给定子串 |
128
+
129
+ 订阅约定:`model` 写 `"cmd"`、`user_prompt` 写任务标签(仅为过 rust 侧必填校验)。单步完整输出落 `job_dir/step_<i>_stdout.txt`,`result.json` 只留 head(4000 字符)。
130
+
131
+ **实测要点(2026-09-16,真 serve 端到端四路径)**:确定性成功 → `done`;命令 exit≠0 → `error`(error=失败步标签);`expect_stdout_contains` 未命中 → `error`(error=`输出未命中预期子串:…`);LLM 委托 → `done`(`deepseek-flash` / high / 200k / 600s)。单测入口 `python hive/test_exec_cmd.py`(9 例全绿,零外部依赖)。
132
+
133
+ **边界(诚实)**:包内测试脚本含相对导入(`from .mdcg import …`),直跑 `python md_cg/test_cond_match.py` 会报 `attempted relative import with no known parent package`——须以 `-m md_cg.test_xxx` 运行且 cwd / PYTHONPATH 指向仓根。确定性任务**不带身份隔离**(与 LLM 任务同享 jobs 目录,见 hive README「设计边界」)。
134
+
135
+ ---
136
+
137
+ ## 附:版本差异(使用者教改记录)
138
+
139
+ | # | 上一版(错误形态) | 本版(修订) |
140
+ |---|---|---|
141
+ | 1 | model 硬编码 `deepseek-v4-pro`(v0.1) | 可选,默认 `deepseek-flash`(v0.2;v0.4 补模型↔base 强配对规则) |
142
+ | 2 | 依据文档只写「单元自我锚点标准」(v0.1) | 正式对齐真源《子代理系统提示词标准》,system_prompt 字段启用(v0.2) |
143
+ | 3 | context_files 静态注入整份文档(v0.1) | 工作任务+读取记忆(route/read 指引+主代理裁剪注入)(v0.2) |
144
+ | 4 | 固定 4 个验证单元视角(v0.1) | 数量可选,反思/验证单元均可多开细化(v0.2) |
145
+ | 5 | max_tokens 12000 无上下文预算概念(v0.1) | 200k 预算=拆解信号(v0.2) |
146
+ | 6 | 每次临时组装提示词,无保留复用(v0.1) | 提示词随任务保留;长期任务复用;满上下文读工作记忆续跑(v0.2) |
147
+ | 7 | (v0.2 无理论对应节) | v0.3 新增 §6:公设 P1/P2、CA-T1/T3/T4 落为配置判据与速查 |
148
+ | 8 | 统一执行默认停留在口头约定,MCP 面不透传 effort / 预算(v0.3) | v0.4 §0:三项默认下沉到 `hive_spawn` 缺省注入 + `spec_defaults` 回显;§7 补确定性执行 worker |
@@ -38,7 +38,7 @@
38
38
  | 9 | SELF Memory ≠ Self Model | `self_state.py`(薄自我 + 富索引) | **半**(本轮已推进) | 原为身份/状态卡;v1.0 本轮新增第九项「预测校准」,向 predictive self 迈出最小一步 |
39
39
  | 10 | 安全设计给高分(权限/审计/tenant/payload-free/guardrail) | `security.py` / `protect.py` / `audit.py` / `signer.py` | **有** | 无凭据只读、写入门槛、密级、审计留痕 |
40
40
  | 11 | Benchmark 值得肯定但不可照单全收(README 自陈局限) | `bench_locomo_zh*.py` / `bench_membench.py` | **有** | README 主动声明「只评检索命中,不评答案正确性,不能外推端到端」 |
41
- | 12 | 作者自知「自评指标≠外部证明」 | `docs/AGI七维评分报告_md_cg_v2.0.md` + README §Gate | **有** | README §Gate 明确列 7 项未达标 |
41
+ | 12 | 作者自知「自评指标≠外部证明」 | `docs/eval/AGI七维评分报告_md_cg_v2.0.md` + README §Gate | **有** | README §Gate 明确列 7 项未达标 |
42
42
  | 13 | 缺点一:概念膨胀(每个热门概念一个模块) | — | **有**(成立) | 见 §3 缺口 4 |
43
43
  | 14 | 缺点二:需要「失败实验」(1000 次任务 → 更新 → 是否变强) | — | **有**(成立) | 仅有机制 + 留痕,**无因果 A/B**;见 §3 缺口 5 |
44
44
  | 15 | 缺点三:最需要「预测」,且预测须被未来事实验证 | **`predict.py`(D-001~D-006)** | **误判** | 见 §2 |
@@ -78,7 +78,7 @@ prediction error」中的**前半段已存在**;真正缺的只有后半段—
78
78
  ### 误判 3|引用「条件性 L4 → L5 路上」当作项目自身定位
79
79
 
80
80
  仓库存在**两套并存标尺**:
81
- - **七维评分标尺** → 判定 **L5 稳固段**(`docs/AGI七维评分报告_md_cg_v2.0.md`,综合 8.6);
81
+ - **七维评分标尺** → 判定 **L5 稳固段**(`docs/eval/AGI七维评分报告_md_cg_v2.0.md`,综合 8.6);
82
82
  - **Gate / 外部行为门槛** → 写「条件性 L4 → L5 路上」(`README.md`)。
83
83
 
84
84
  GPT 只引用了后者,据此推断「作者没敢宣布完成 L5」——**未看到前者**。两者口径不同,不可混用。