@furongjun1999/dsh-memory 0.4.11 → 0.5.1

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 (580) hide show
  1. package/README.md +552 -465
  2. package/codebuddy/CODEBUDDY.md +11 -3
  3. package/codebuddy/README.md +92 -90
  4. package/codebuddy/mcp.json +27 -27
  5. package/docs/GBrain/345/217/257/345/200/237/351/211/264/347/202/271_/347/201/265/346/236/242/350/220/275/347/202/271/344/272/244/346/216/245_20260919.md +169 -169
  6. 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 -144
  7. package/docs/README.md +143 -111
  8. package/docs/discipline/harnesses.yaml +244 -226
  9. package/docs/discipline/templates/full.md.tmpl +61 -61
  10. package/docs/discipline/templates/rules.mdc.tmpl +68 -0
  11. package/docs/discipline/templates/skill.md.tmpl +23 -23
  12. package/docs/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 +299 -299
  13. package/docs/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 +239 -239
  14. package/docs/eval/bench_lingshu_self/bench_self.py +140 -0
  15. package/docs/eval/bench_lingshu_self/self_bench_result.json +404 -0
  16. package/docs/eval/bench_lingshu_self//347/201/265/346/236/242/350/207/252/345/272/223/347/253/257/345/210/260/347/253/257/346/243/200/347/264/242/345/256/236/346/265/213_v1.0.md +38 -0
  17. package/docs/eval//344/270/215/345/217/257/351/235/240/346/200/247/350/220/275/345/234/260_P0_v1.0.md +185 -0
  18. 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 +174 -174
  19. package/docs/eval//346/225/205/351/232/234/346/263/250/345/205/245/345/256/236/346/265/213_v1.0.md +422 -0
  20. 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 +223 -223
  21. package/docs/eval//347/253/257/345/210/260/347/253/257LoCoMoQA/345/220/214/345/217/243/345/276/204/345/257/271/347/205/247_v1.0.md +100 -0
  22. package/docs/eval//347/253/257/345/210/260/347/253/257/345/271/262/346/211/260/346/261/240/350/257/204/346/265/213_/347/241/256/345/256/232/346/200/247/350/243/201/345/206/263vsLLM_judge_v1.1.md +197 -0
  23. package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v1.md +156 -0
  24. package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v10.md +210 -0
  25. package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v11.md +227 -0
  26. package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v12.md +203 -0
  27. package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v13.md +233 -0
  28. package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v14.md +191 -0
  29. package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v15.md +213 -0
  30. package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v16.md +214 -0
  31. package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v17.md +199 -0
  32. package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v2.md +156 -0
  33. package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v3.md +152 -0
  34. package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v4.md +128 -0
  35. package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v5.md +114 -0
  36. package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v6.md +192 -0
  37. package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v7.md +187 -0
  38. package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v8.md +207 -0
  39. package/docs/eval//347/274/272/351/231/267/346/214/226/346/216/230_/350/207/252/344/270/273/350/277/255/344/273/243_v9.md +203 -0
  40. package/docs/{mdcg → hive}//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 +165 -160
  41. package/docs/hive//344/273/244/347/211/214/350/257/255/344/271/211/344/277/256/346/255/243_/344/273/262/350/243/201/344/275/215_v0.1.md +76 -0
  42. package/docs/{mdcg → hive}//345/255/220/344/273/243/347/220/206/351/205/215/347/275/256/346/240/207/345/207/206_v0.5.md +236 -236
  43. package/docs/hive//345/256/211/345/205/250/345/256/241/350/256/241/345/256/236/351/224/232_v0.1.md +202 -0
  44. package/docs/hive//346/243/200/347/264/242/346/224/266/346/225/233/345/256/236/346/265/213/344/270/216S1b/350/256/276/350/256/241_v0.1.md +43 -43
  45. package/docs/hive//346/243/200/347/264/242/347/256/227/346/263/225/345/217/243/345/276/204/345/257/271/347/205/247_v0.1.md +85 -0
  46. package/docs/hive//346/243/200/347/264/242/350/267/257/345/276/204/344/270/216/350/256/244/347/237/245/347/273/223/346/236/204/345/245/221/347/272/246_v0.1.md +102 -102
  47. package/docs/hive//350/234/202/345/267/242M6_ingest/345/256/236/346/226/275/350/256/241/345/210/222_v0.1.md +47 -0
  48. package/docs/hive//350/234/202/345/267/242/345/217/214/345/256/236/344/276/213/344/272/222/351/252/214_/350/256/276/350/256/241/345/256/232/347/250/277.md +519 -503
  49. 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 +85 -85
  50. package/docs/hive//350/234/202/345/267/242/350/256/276/350/256/241_/347/220/206/350/256/272/345/257/271/351/275/220_v0.1.md +191 -0
  51. package/docs/hive//350/234/202/345/267/242/350/277/255/344/273/243_/345/256/217/350/247/202/344/270/216/347/276/244/344/275/223/350/260/203/345/272/246_v0.1.md +90 -0
  52. package/docs/images/lingshu-moonlight-covenant-poster-preview.jpg +0 -0
  53. package/docs/images/lingshu-moonlight-covenant-poster.png +0 -0
  54. package/docs/mdcg/D_meta_/345/267/245/347/250/213/345/214/226/346/226/271/346/241/210_v0.2.md +216 -216
  55. package/docs/mdcg/README/350/257/246/347/273/206/347/211/210_v0.4.10.md +646 -646
  56. package/docs/mdcg/lingshu_tutorial.html +14449 -14449
  57. package/docs/mdcg/release_v0.4.11.md +49 -0
  58. package/docs/mdcg/release_v0.4.5.md +55 -55
  59. package/docs/mdcg/tool_table_v0.3.0.md +117 -117
  60. package/docs/mdcg//345/205/250/345/272/223/344/273/243/347/240/201/350/257/204/345/256/241/344/270/216/346/235/241/344/273/266/345/214/226/346/263/250/351/207/212_/350/256/241/345/210/222_v0.1.md +600 -600
  61. 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 +40 -40
  62. 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 +275 -275
  63. package/docs/mdcg//345/217/221/345/270/203/351/227/250/347/246/201/351/223/276_v0.1.md +54 -0
  64. 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 +130 -130
  65. 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 +278 -278
  66. package/docs/mdcg//347/201/265/346/236/242/350/256/260/345/277/206/345/212/250/350/257/215/345/215/217/350/256/256_v1.0-draft.md +172 -172
  67. package/docs/mdcg//347/274/272/345/217/243/345/215/225_P0/346/224/266/345/217/243_v0.1.md +270 -270
  68. 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 +491 -491
  69. 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 +340 -340
  70. 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 +588 -588
  71. 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 -176
  72. 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 +81 -81
  73. package/docs/swarm//350/234/202/347/276/244/344/272/222/350/201/224_v0.1.md +704 -704
  74. 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 -242
  75. package/docs/theory//344/270/215/345/217/257/351/235/240/345/256/232/347/220/206/344/270/216/345/244/261/346/225/210/344/274/230/345/205/210/346/241/206/346/236/266_v0.3.md +365 -0
  76. 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 -129
  77. 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 -134
  78. package/docs/theory//346/231/272/350/203/275/350/256/2723.4.md +5260 -5260
  79. 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 -145
  80. 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 +144 -144
  81. 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 +198 -198
  82. 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 -221
  83. 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 -237
  84. package/docs//344/270/215/345/217/257/351/235/240/346/200/247/347/220/206/350/256/272_v0.1.md +343 -0
  85. package/docs//345/217/221/345/270/203/344/273/266/345/233/236/346/272/257/350/257/264/346/230/216_v0.1.md +82 -82
  86. 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 +28 -2
  87. package/dsh/README.md +82 -82
  88. package/dsh/cordis.yml.example +139 -139
  89. package/dsh/update-lingshu.bat +11 -11
  90. package/lib/bridge.d.ts +9 -0
  91. package/lib/bridge.js +35 -0
  92. package/lib/hooks.js +36 -2
  93. package/lib/index.js +7 -1
  94. package/lib/lib/roleplay_web.js +116 -29
  95. package/lib/lib/token_store.d.ts +7 -1
  96. package/lib/lib/token_store.js +12 -3
  97. package/md_cg/__init__.py +7 -7
  98. package/md_cg/audit.py +379 -368
  99. package/md_cg/autonomy.py +287 -287
  100. package/md_cg/backfill.py +1328 -1327
  101. package/md_cg/backfill_bigdomain.py +34 -34
  102. package/md_cg/backfill_bucket_zh.py +35 -0
  103. package/md_cg/bench6_arms.py +410 -410
  104. package/md_cg/bench6_common.py +230 -230
  105. package/md_cg/bench6_competitors.py +212 -212
  106. package/md_cg/bench_axis_domain.py +257 -257
  107. package/md_cg/bench_blind_comp.py +308 -308
  108. package/md_cg/bench_e2e_judge.py +532 -0
  109. package/md_cg/bench_e2e_locomo_qa.py +368 -0
  110. package/md_cg/bench_e2e_qa.py +256 -0
  111. package/md_cg/bench_en_atoms_public.py +230 -230
  112. package/md_cg/bench_governance.py +348 -348
  113. package/md_cg/bench_lme_zh.py +410 -410
  114. package/md_cg/bench_locomo.py +121 -121
  115. package/md_cg/bench_locomo_zh.py +450 -450
  116. package/md_cg/bench_locomo_zh_public.py +147 -147
  117. package/md_cg/bench_longmem.py +112 -112
  118. package/md_cg/bench_membench.py +632 -632
  119. package/md_cg/bench_p0.py +149 -149
  120. package/md_cg/bench_progressive.py +287 -287
  121. package/md_cg/bench_role_views.py +238 -238
  122. package/md_cg/bench_task_ab.py +243 -243
  123. package/md_cg/bench_task_ab_llm.py +408 -408
  124. package/md_cg/bench_unified_en.py +204 -204
  125. package/md_cg/bench_zh_mad.py +601 -601
  126. package/md_cg/blindspot_tickets.py +123 -123
  127. package/md_cg/branches.py +301 -285
  128. package/md_cg/build_postings.py +73 -73
  129. package/md_cg/ccgc.py +1006 -948
  130. package/md_cg/census.py +132 -132
  131. package/md_cg/chain.py +315 -300
  132. package/md_cg/codeindex.py +531 -531
  133. package/md_cg/coldverify.py +292 -292
  134. package/md_cg/comment_gate.py +337 -337
  135. package/md_cg/cond_compose.py +190 -190
  136. package/md_cg/cond_facts.py +154 -154
  137. package/md_cg/cond_template.json +106 -106
  138. package/md_cg/condition_anchor.py +142 -142
  139. package/md_cg/conformance.py +726 -726
  140. package/md_cg/consistency.py +717 -717
  141. package/md_cg/consolidate.py +1537 -1439
  142. package/md_cg/corpus.py +110 -110
  143. package/md_cg/crosscheck.py +1098 -1097
  144. package/md_cg/crypto.py +3 -1
  145. package/md_cg/d_meta.py +310 -310
  146. package/md_cg/datapath.py +78 -18
  147. package/md_cg/docindex.py +473 -473
  148. package/md_cg/eval_common.py +575 -575
  149. package/md_cg/evidence.py +4 -2
  150. package/md_cg/evolution.py +477 -477
  151. package/md_cg/export.py +222 -220
  152. package/md_cg/forgetting.py +581 -581
  153. package/md_cg/fsutil.py +377 -329
  154. package/md_cg/hotcache.py +48 -7
  155. package/md_cg/hyperedge.py +251 -251
  156. package/md_cg/identity.py +390 -390
  157. package/md_cg/insight.py +500 -500
  158. package/md_cg/interop.py +338 -0
  159. package/md_cg/judgment_manifest.py +177 -0
  160. package/md_cg/lexicon/build_cedict_en_zh.py +329 -329
  161. package/md_cg/lexicon/build_standard_en.py +171 -171
  162. package/md_cg/lexicon/expand_en_zh.py +211 -211
  163. package/md_cg/lifecycle.py +272 -272
  164. package/md_cg/linkref.py +280 -280
  165. package/md_cg/links.py +140 -107
  166. package/md_cg/mcp_server.py +403 -55
  167. package/md_cg/md_whitebox.py +345 -345
  168. package/md_cg/mdcg.py +783 -233
  169. package/md_cg/mdcos.py +500 -70
  170. package/md_cg/metacognition.py +591 -591
  171. package/md_cg/migrate.py +119 -119
  172. package/md_cg/migrate_aeis.py +221 -221
  173. package/md_cg/migrate_roleplay.py +293 -293
  174. package/md_cg/migrate_wisdom_graph.py +360 -360
  175. package/md_cg/mreview/__init__.py +25 -25
  176. package/md_cg/mreview/__main__.py +110 -110
  177. package/md_cg/mreview/bundle.py +178 -178
  178. package/md_cg/mreview/candidates.py +262 -262
  179. package/md_cg/mreview/govern.py +694 -693
  180. package/md_cg/mreview/locate.py +939 -939
  181. package/md_cg/mreview/pipeline.py +728 -728
  182. package/md_cg/mreview/rules/duplication.json +21 -21
  183. package/md_cg/mreview/rules/field_coverage.json +54 -54
  184. package/md_cg/mreview/rules/source_license.json +21 -21
  185. package/md_cg/mreview/rules/template_flow.json +21 -21
  186. package/md_cg/mreview/ruleset.py +252 -252
  187. package/md_cg/nodefile.py +575 -575
  188. package/md_cg/pooling.py +484 -472
  189. package/md_cg/postings.py +300 -298
  190. package/md_cg/predict.py +1100 -1100
  191. package/md_cg/progressive.py +123 -123
  192. package/md_cg/protect.py +272 -272
  193. package/md_cg/protocol/md_cg_gate.proto +33 -33
  194. package/md_cg/protocol.py +372 -372
  195. package/md_cg/provenance.py +582 -582
  196. package/md_cg/reach.py +453 -453
  197. package/md_cg/readcache.py +143 -0
  198. package/md_cg/reconcile.py +228 -0
  199. package/md_cg/refindex.py +833 -833
  200. package/md_cg/refine.py +604 -604
  201. package/md_cg/review_cli.py +170 -0
  202. package/md_cg/roleviews.py +89 -89
  203. package/md_cg/routing.py +393 -365
  204. package/md_cg/run_tests.py +211 -0
  205. package/md_cg/scrub.py +13 -3
  206. package/md_cg/security.py +128 -18
  207. package/md_cg/self_state.py +1029 -1029
  208. package/md_cg/selfreport.py +152 -151
  209. package/md_cg/semantic/__init__.py +10 -10
  210. package/md_cg/semantic/canonical.py +122 -122
  211. package/md_cg/semantic/en_normalizer.py +364 -364
  212. package/md_cg/semantic/en_zh_map.json +28694 -0
  213. package/md_cg/semantic/export_en_zh_map.py +64 -0
  214. package/md_cg/semantic/unify.py +45 -0
  215. package/md_cg/semantic/zh_en_atoms.py +139 -139
  216. package/md_cg/signer.py +7 -4
  217. package/md_cg/sources.py +816 -582
  218. package/md_cg/statushdr.py +179 -179
  219. package/md_cg/stg.py +54 -37
  220. package/md_cg/subgraph.py +729 -729
  221. package/md_cg/sustain.py +35 -5
  222. package/md_cg/tasks.py +470 -470
  223. package/md_cg/test_access_hints.py +147 -0
  224. package/md_cg/test_action_derive.py +203 -203
  225. package/md_cg/test_audit_rotate.py +270 -270
  226. package/md_cg/test_autonomy.py +143 -143
  227. package/md_cg/test_bench_governance.py +102 -102
  228. package/md_cg/test_blindspot_tickets.py +166 -166
  229. package/md_cg/test_branch_discard_tombstone.py +136 -0
  230. package/md_cg/test_branches.py +13 -3
  231. package/md_cg/test_ccg_perturb.py +184 -184
  232. package/md_cg/test_ccgc.py +433 -433
  233. package/md_cg/test_census_prune.py +81 -81
  234. package/md_cg/test_chain_read_isolate.py +168 -0
  235. package/md_cg/test_cond_compose_anchors.py +76 -76
  236. package/md_cg/test_cond_match.py +165 -165
  237. package/md_cg/test_condition_anchor.py +81 -81
  238. package/md_cg/test_d_meta.py +412 -412
  239. package/md_cg/test_datapath_device_name.py +203 -0
  240. package/md_cg/test_datapath_root.py +199 -199
  241. package/md_cg/test_emit_negtail_cache.py +156 -0
  242. package/md_cg/test_en_pipeline.py +22 -2
  243. package/md_cg/test_gain_gate.py +212 -212
  244. package/md_cg/test_govern_directread.py +421 -0
  245. package/md_cg/test_health_scale.py +173 -173
  246. package/md_cg/test_hive_ingest.py +285 -0
  247. package/md_cg/test_hot_cold.py +215 -215
  248. package/md_cg/test_hyperedge.py +245 -245
  249. package/md_cg/test_i26_empty_first_write.py +116 -0
  250. package/md_cg/test_i27_e041_identity.py +128 -0
  251. package/md_cg/test_i28_hotcache_prodpath.py +122 -0
  252. package/md_cg/test_i32_hotcache_env_key.py +218 -0
  253. package/md_cg/test_identity_attribution.py +96 -15
  254. package/md_cg/test_index_durability.py +17 -3
  255. package/md_cg/test_interop.py +95 -0
  256. package/md_cg/test_interop_judgment.py +228 -0
  257. package/md_cg/test_issue39_utf8_stdio.py +273 -0
  258. package/md_cg/test_lifecycle.py +309 -309
  259. package/md_cg/test_linkref.py +306 -306
  260. package/md_cg/test_links_concurrent_write.py +188 -0
  261. package/md_cg/test_lock.py +43 -43
  262. package/md_cg/test_md_access_parity.py +255 -255
  263. package/md_cg/test_md_writepath.py +345 -345
  264. package/md_cg/test_mdstore_search_parity.py +160 -0
  265. package/md_cg/test_merge_upsert.py +168 -0
  266. package/md_cg/test_mr_m2.py +587 -587
  267. package/md_cg/test_mr_m3.py +710 -710
  268. package/md_cg/test_mr_m4.py +485 -485
  269. package/md_cg/test_n123_derive_expiry_chain.py +205 -0
  270. package/md_cg/test_n130_verify_falsified_protect.py +185 -0
  271. package/md_cg/test_n131_merge_gate.py +205 -0
  272. package/md_cg/test_p0.py +250 -250
  273. package/md_cg/test_p1.py +316 -316
  274. package/md_cg/test_p10_identity.py +173 -173
  275. package/md_cg/test_p11_consistency.py +233 -233
  276. package/md_cg/test_p12_metacognition.py +212 -212
  277. package/md_cg/test_p13_encryption.py +241 -241
  278. package/md_cg/test_p14_sustain.py +249 -249
  279. package/md_cg/test_p15_scrub.py +280 -280
  280. package/md_cg/test_p16_self_state.py +301 -301
  281. package/md_cg/test_p17_predict.py +354 -354
  282. package/md_cg/test_p18_whitebox.py +171 -171
  283. package/md_cg/test_p19_migrate_roleplay.py +149 -149
  284. package/md_cg/test_p1x_ref_root.py +160 -0
  285. package/md_cg/test_p20_evolution.py +315 -315
  286. package/md_cg/test_p21_tokens.py +293 -270
  287. package/md_cg/test_p22_theory.py +175 -175
  288. package/md_cg/test_p23_links.py +311 -311
  289. package/md_cg/test_p24_evidence.py +227 -227
  290. package/md_cg/test_p25_weights.py +156 -156
  291. package/md_cg/test_p26_refindex.py +416 -416
  292. package/md_cg/test_p27_docindex.py +16 -7
  293. package/md_cg/test_p28_refcheck.py +305 -305
  294. package/md_cg/test_p29_session_ingest_export.py +354 -333
  295. package/md_cg/test_p2_mcp.py +3 -0
  296. package/md_cg/test_p3.py +11 -2
  297. package/md_cg/test_p30_maintain.py +330 -330
  298. package/md_cg/test_p31_insight.py +534 -534
  299. package/md_cg/test_p32_backfill.py +7 -1
  300. package/md_cg/test_p33_ccg_wiring.py +293 -293
  301. package/md_cg/test_p34_crosscheck.py +331 -331
  302. package/md_cg/test_p35_conditioned_claim.py +252 -252
  303. package/md_cg/test_p36_kp_align.py +230 -230
  304. package/md_cg/test_p37_condition_space.py +248 -248
  305. package/md_cg/test_p38_concurrent_flush.py +102 -0
  306. package/md_cg/test_p38_contextualize.py +273 -273
  307. package/md_cg/test_p39_verify_flow.py +153 -0
  308. package/md_cg/test_p39_vision_evidence.py +369 -369
  309. package/md_cg/test_p40_refine_worklist.py +241 -241
  310. package/md_cg/test_p41_evolve_patrol.py +224 -224
  311. package/md_cg/test_p42_provenance.py +269 -269
  312. package/md_cg/test_p43_pooling.py +412 -398
  313. package/md_cg/test_p44_md_whitebox.py +231 -231
  314. package/md_cg/test_p45_session_identity.py +219 -219
  315. package/md_cg/test_p46_unit_scope.py +272 -272
  316. package/md_cg/test_p47_session_view.py +316 -0
  317. package/md_cg/test_p4_fuzzy.py +223 -223
  318. package/md_cg/test_p5_semantic.py +226 -226
  319. package/md_cg/test_p6_consolidate.py +440 -387
  320. package/md_cg/test_p7_goals_recent.py +202 -202
  321. package/md_cg/test_p8_subgraph_chain.py +200 -200
  322. package/md_cg/test_p9_forget_protect.py +231 -231
  323. package/md_cg/test_predict_beta.py +135 -135
  324. package/md_cg/test_preflight_failclosed.py +100 -100
  325. package/md_cg/test_progressive.py +146 -146
  326. package/md_cg/test_propose_tail_index.py +157 -0
  327. package/md_cg/test_protocol.py +243 -243
  328. package/md_cg/test_reach.py +378 -378
  329. package/md_cg/test_reach_keys.py +201 -201
  330. package/md_cg/test_read_clip.py +141 -141
  331. package/md_cg/test_read_scope_b27.py +277 -0
  332. package/md_cg/test_readcache_default_on.py +168 -0
  333. package/md_cg/test_readcache_precise_inval.py +270 -0
  334. package/md_cg/test_readcache_prodpath.py +203 -0
  335. package/md_cg/test_reconcile_v0.py +294 -0
  336. package/md_cg/test_retr_gates_prodpath.py +140 -0
  337. package/md_cg/test_retr_s1.py +344 -340
  338. package/md_cg/test_retr_s1b.py +276 -209
  339. package/md_cg/test_retr_s3.py +194 -194
  340. package/md_cg/test_retr_s4.py +163 -163
  341. package/md_cg/test_retr_s5.py +200 -200
  342. package/md_cg/test_retr_s6.py +157 -157
  343. package/md_cg/test_retr_s7.py +392 -384
  344. package/md_cg/test_retr_s8_time.py +369 -316
  345. package/md_cg/test_retr_s9_edges.py +286 -286
  346. package/md_cg/test_retr_s9_entity_ctx.py +9 -3
  347. package/md_cg/test_retr_score_once.py +208 -0
  348. package/md_cg/test_review_conformance.py +367 -367
  349. package/md_cg/test_review_onepass.py +170 -0
  350. package/md_cg/test_role_views.py +354 -354
  351. package/md_cg/test_rrf_graph_seed_cache.py +154 -0
  352. package/md_cg/test_security_audit.py +155 -0
  353. package/md_cg/test_security_audit_b26.py +161 -0
  354. package/md_cg/test_security_audit_v21.py +250 -0
  355. package/md_cg/test_sem_noise.py +242 -242
  356. package/md_cg/test_semantic_canonical.py +16 -2
  357. package/md_cg/test_session_isolation.py +168 -0
  358. package/md_cg/test_snapshot_autoclose.py +187 -0
  359. package/md_cg/test_subproc_encoding.py +192 -192
  360. package/md_cg/test_sustain_mutual.py +153 -153
  361. package/md_cg/test_tail_watermark_race.py +208 -0
  362. package/md_cg/test_tasks.py +409 -409
  363. package/md_cg/test_tenant_env_override_warn.py +139 -0
  364. package/md_cg/test_tenant_registry_corrupt_warn.py +151 -0
  365. package/md_cg/test_tool_face.py +189 -189
  366. package/md_cg/test_transfer.py +180 -180
  367. package/md_cg/test_trust.py +361 -361
  368. package/md_cg/test_twophase.py +286 -286
  369. package/md_cg/test_v14_fixes.py +38 -20
  370. package/md_cg/test_validity_filter.py +280 -280
  371. package/md_cg/test_verify_answer.py +138 -138
  372. package/md_cg/test_verify_dirty_reconcile.py +157 -0
  373. package/md_cg/test_wisdom_md_store.py +292 -292
  374. package/md_cg/test_writelimit.py +197 -197
  375. package/md_cg/test_writepipe.py +214 -214
  376. package/md_cg/theory.py +6 -3
  377. package/md_cg/tokens.py +85 -14
  378. package/md_cg/tool_face.py +260 -260
  379. package/md_cg/trust.py +986 -950
  380. package/md_cg/twophase.py +231 -231
  381. package/md_cg/units.py +668 -667
  382. package/md_cg/vision_evidence.py +667 -666
  383. package/md_cg/weights.py +624 -624
  384. package/md_cg/whitebox.py +527 -527
  385. package/md_cg/whitebox_kb/__init__.py +37 -37
  386. package/md_cg/whitebox_kb/aeis_core/__init__.py +42 -42
  387. package/md_cg/whitebox_kb/aeis_core/semantic.py +280 -280
  388. package/md_cg/whitebox_kb/aeis_core/textutil.py +13 -13
  389. package/md_cg/whitebox_kb/engine.py +310 -310
  390. package/md_cg/whitebox_kb/seed_knowledge//346/231/272/350/203/275/350/256/2723.4.md +5260 -5260
  391. package/md_cg/whitebox_kb/wisdom/browser_units.py +2631 -2631
  392. package/md_cg/whitebox_kb/wisdom/causal_discover.py +432 -432
  393. package/md_cg/whitebox_kb/wisdom/chat_engine.py +1506 -1506
  394. package/md_cg/whitebox_kb/wisdom/compiler_code_units.py +3033 -3033
  395. package/md_cg/whitebox_kb/wisdom/condition_algebra.py +112 -112
  396. package/md_cg/whitebox_kb/wisdom/condition_frame.py +315 -315
  397. package/md_cg/whitebox_kb/wisdom/condition_kb.py +108 -108
  398. package/md_cg/whitebox_kb/wisdom/conflict_map.json +4445 -4445
  399. package/md_cg/whitebox_kb/wisdom/core/lexer.py +512 -512
  400. package/md_cg/whitebox_kb/wisdom/core/name_checker.py +1023 -1023
  401. package/md_cg/whitebox_kb/wisdom/cspmn.py +258 -258
  402. package/md_cg/whitebox_kb/wisdom/csre.py +264 -264
  403. package/md_cg/whitebox_kb/wisdom/danmaku_audit.py +252 -252
  404. package/md_cg/whitebox_kb/wisdom/distilled_condition_units.json +6417 -6417
  405. package/md_cg/whitebox_kb/wisdom/docs/WB-EVAL-20260902b.json +1950 -1950
  406. package/md_cg/whitebox_kb/wisdom/docs/WB-EVAL-20260902c.json +1296 -1296
  407. package/md_cg/whitebox_kb/wisdom/docs/whitebox_capability_graph_demo.json +59 -59
  408. package/md_cg/whitebox_kb/wisdom/graph_db_units.py +3089 -3089
  409. package/md_cg/whitebox_kb/wisdom/knowledge_points.py +318 -318
  410. package/md_cg/whitebox_kb/wisdom/md_access.py +470 -470
  411. package/md_cg/whitebox_kb/wisdom/md_store.py +276 -251
  412. package/md_cg/whitebox_kb/wisdom/migrate_wisdom.py +476 -476
  413. package/md_cg/whitebox_kb/wisdom/multilang_ir.py +128 -124
  414. package/md_cg/whitebox_kb/wisdom/navigate.py +248 -248
  415. package/md_cg/whitebox_kb/wisdom/neural_retrieve.py +224 -224
  416. package/md_cg/whitebox_kb/wisdom/os_units.py +2735 -2735
  417. package/md_cg/whitebox_kb/wisdom/pattern_separation.py +376 -376
  418. package/md_cg/whitebox_kb/wisdom/prereq_map.json +364 -364
  419. package/md_cg/whitebox_kb/wisdom/python_code_units.py +2766 -2766
  420. package/md_cg/whitebox_kb/wisdom/role_solidified.json +7 -7
  421. package/md_cg/whitebox_kb/wisdom/route_memory.py +244 -244
  422. package/md_cg/whitebox_kb/wisdom/scene_reconstruction.py +148 -148
  423. package/md_cg/whitebox_kb/wisdom/snr_report.json +40 -40
  424. package/md_cg/whitebox_kb/wisdom/test_code_compose_domains.py +7541 -7541
  425. package/md_cg/whitebox_kb/wisdom/test_compiler_self_bootstrap.py +354 -354
  426. package/md_cg/whitebox_kb/wisdom/test_ecosystem_assembly.py +158 -158
  427. package/md_cg/whitebox_kb/wisdom/test_ecosystem_demos.py +193 -193
  428. package/md_cg/whitebox_kb/wisdom/test_graph_db.py +292 -292
  429. package/md_cg/whitebox_kb/wisdom/test_python_self_bootstrap.py +160 -160
  430. package/md_cg/whitebox_kb/wisdom/trigger_words_index.json +4366 -4366
  431. package/md_cg/whitebox_kb/wisdom/verifier.py +1297 -1297
  432. package/md_cg/writelimit.py +356 -356
  433. package/md_cg/writepipe.py +20 -8
  434. package/package.json +101 -96
  435. package/skills/plugin.json +54 -54
  436. package/skills/skills/designer-perspective/SKILL.md +158 -158
  437. package/skills/skills/designer-perspective/references/01-observation-position.md +66 -66
  438. package/skills/skills/designer-perspective/references/02-structure-recognition.md +62 -62
  439. package/skills/skills/designer-perspective/references/03-direction-judgment.md +55 -55
  440. package/skills/skills/designer-perspective/references/04-qualification-verdict.md +72 -72
  441. package/skills/skills/designer-perspective/references/05-condition-attribution.md +74 -74
  442. package/skills/skills/designer-perspective/scripts/designer.py +545 -545
  443. package/skills/skills/designer-perspective/tests/cases.jsonl +17 -17
  444. package/skills/skills/designer-perspective/tests/selftest.py +61 -61
  445. package/skills/skills/lingshu-browser/SKILL.md +60 -60
  446. package/skills/skills/lingshu-compiler/SKILL.md +56 -56
  447. package/skills/skills/lingshu-compiler/units/analyze-type-infer/SKILL.md +45 -45
  448. package/skills/skills/lingshu-compiler/units/check-name-real/SKILL.md +45 -45
  449. package/skills/skills/lingshu-compiler/units/compile-assign/SKILL.md +45 -45
  450. package/skills/skills/lingshu-compiler/units/compile-expr-tree/SKILL.md +45 -45
  451. package/skills/skills/lingshu-compiler/units/compile-full-pipeline/SKILL.md +45 -45
  452. package/skills/skills/lingshu-compiler/units/compile-func-def/SKILL.md +45 -45
  453. package/skills/skills/lingshu-compiler/units/compile-if-then/SKILL.md +45 -45
  454. package/skills/skills/lingshu-compiler/units/compile-logic-expr/SKILL.md +45 -45
  455. package/skills/skills/lingshu-compiler/units/compile-recursive/SKILL.md +45 -45
  456. package/skills/skills/lingshu-compiler/units/compile-scope/SKILL.md +45 -45
  457. package/skills/skills/lingshu-compiler/units/compile-type-check/SKILL.md +45 -45
  458. package/skills/skills/lingshu-compiler/units/compile-while/SKILL.md +45 -45
  459. package/skills/skills/lingshu-compiler/units/compiler-0010c4bf/SKILL.md +45 -45
  460. package/skills/skills/lingshu-compiler/units/compiler-0355bffb/SKILL.md +45 -45
  461. package/skills/skills/lingshu-compiler/units/compiler-0361708a/SKILL.md +45 -45
  462. package/skills/skills/lingshu-compiler/units/compiler-054a0414/SKILL.md +45 -45
  463. package/skills/skills/lingshu-compiler/units/compiler-05a1691a/SKILL.md +45 -45
  464. package/skills/skills/lingshu-compiler/units/compiler-05eeed1e/SKILL.md +45 -45
  465. package/skills/skills/lingshu-compiler/units/compiler-0622a1f6/SKILL.md +45 -45
  466. package/skills/skills/lingshu-compiler/units/compiler-08b54217/SKILL.md +45 -45
  467. package/skills/skills/lingshu-compiler/units/compiler-0a62b70c/SKILL.md +45 -45
  468. package/skills/skills/lingshu-compiler/units/compiler-0ab24d00/SKILL.md +45 -45
  469. package/skills/skills/lingshu-compiler/units/compiler-0e093688/SKILL.md +45 -45
  470. package/skills/skills/lingshu-compiler/units/compiler-0e82b966/SKILL.md +45 -45
  471. package/skills/skills/lingshu-compiler/units/compiler-0ee9b9b9/SKILL.md +45 -45
  472. package/skills/skills/lingshu-compiler/units/compiler-0f3787e6/SKILL.md +45 -45
  473. package/skills/skills/lingshu-compiler/units/compiler-1028685f/SKILL.md +45 -45
  474. package/skills/skills/lingshu-compiler/units/compiler-11897630/SKILL.md +45 -45
  475. package/skills/skills/lingshu-compiler/units/compiler-16661b9b/SKILL.md +45 -45
  476. package/skills/skills/lingshu-compiler/units/compiler-1f722303/SKILL.md +45 -45
  477. package/skills/skills/lingshu-compiler/units/compiler-25be1262/SKILL.md +45 -45
  478. package/skills/skills/lingshu-compiler/units/compiler-2a76ba07/SKILL.md +45 -45
  479. package/skills/skills/lingshu-compiler/units/compiler-2dbea54a/SKILL.md +45 -45
  480. package/skills/skills/lingshu-compiler/units/compiler-2df52f16/SKILL.md +45 -45
  481. package/skills/skills/lingshu-compiler/units/compiler-2ec2c9d2/SKILL.md +45 -45
  482. package/skills/skills/lingshu-compiler/units/compiler-2f8c8f39/SKILL.md +45 -45
  483. package/skills/skills/lingshu-compiler/units/compiler-38378ac7/SKILL.md +45 -45
  484. package/skills/skills/lingshu-compiler/units/compiler-39457d2e/SKILL.md +45 -45
  485. package/skills/skills/lingshu-compiler/units/compiler-39fb5926/SKILL.md +45 -45
  486. package/skills/skills/lingshu-compiler/units/compiler-47f4fbfa/SKILL.md +45 -45
  487. package/skills/skills/lingshu-compiler/units/compiler-4a8cd1f1/SKILL.md +45 -45
  488. package/skills/skills/lingshu-compiler/units/compiler-4b230b6b/SKILL.md +45 -45
  489. package/skills/skills/lingshu-compiler/units/compiler-4cbbda95/SKILL.md +45 -45
  490. package/skills/skills/lingshu-compiler/units/compiler-4d5a68ff/SKILL.md +45 -45
  491. package/skills/skills/lingshu-compiler/units/compiler-56dc9bdd/SKILL.md +45 -45
  492. package/skills/skills/lingshu-compiler/units/compiler-57e76ebe/SKILL.md +45 -45
  493. package/skills/skills/lingshu-compiler/units/compiler-61ff016b/SKILL.md +45 -45
  494. package/skills/skills/lingshu-compiler/units/compiler-63eae588/SKILL.md +45 -45
  495. package/skills/skills/lingshu-compiler/units/compiler-64c4224b/SKILL.md +45 -45
  496. package/skills/skills/lingshu-compiler/units/compiler-66377955/SKILL.md +45 -45
  497. package/skills/skills/lingshu-compiler/units/compiler-674ab4f6/SKILL.md +45 -45
  498. package/skills/skills/lingshu-compiler/units/compiler-6af76fd6/SKILL.md +45 -45
  499. package/skills/skills/lingshu-compiler/units/compiler-6d979db2/SKILL.md +45 -45
  500. package/skills/skills/lingshu-compiler/units/compiler-6de326c0/SKILL.md +45 -45
  501. package/skills/skills/lingshu-compiler/units/compiler-6f1c0eea/SKILL.md +45 -45
  502. package/skills/skills/lingshu-compiler/units/compiler-724d6c9b/SKILL.md +45 -45
  503. package/skills/skills/lingshu-compiler/units/compiler-7690177f/SKILL.md +45 -45
  504. package/skills/skills/lingshu-compiler/units/compiler-7b229a7d/SKILL.md +45 -45
  505. package/skills/skills/lingshu-compiler/units/compiler-7f471b3a/SKILL.md +45 -45
  506. package/skills/skills/lingshu-compiler/units/compiler-815cad08/SKILL.md +45 -45
  507. package/skills/skills/lingshu-compiler/units/compiler-83c61634/SKILL.md +45 -45
  508. package/skills/skills/lingshu-compiler/units/compiler-8c798c81/SKILL.md +45 -45
  509. package/skills/skills/lingshu-compiler/units/compiler-8dd747ac/SKILL.md +45 -45
  510. package/skills/skills/lingshu-compiler/units/compiler-90324d0a/SKILL.md +45 -45
  511. package/skills/skills/lingshu-compiler/units/compiler-94b8d72d/SKILL.md +45 -45
  512. package/skills/skills/lingshu-compiler/units/compiler-94f12231/SKILL.md +45 -45
  513. package/skills/skills/lingshu-compiler/units/compiler-95937c16/SKILL.md +45 -45
  514. package/skills/skills/lingshu-compiler/units/compiler-98a5625b/SKILL.md +45 -45
  515. package/skills/skills/lingshu-compiler/units/compiler-98b4c42f/SKILL.md +45 -45
  516. package/skills/skills/lingshu-compiler/units/compiler-98e3894a/SKILL.md +45 -45
  517. package/skills/skills/lingshu-compiler/units/compiler-9bdfe4b8/SKILL.md +45 -45
  518. package/skills/skills/lingshu-compiler/units/compiler-9d9b4e83/SKILL.md +45 -45
  519. package/skills/skills/lingshu-compiler/units/compiler-9f7be5ad/SKILL.md +45 -45
  520. package/skills/skills/lingshu-compiler/units/compiler-a6daf076/SKILL.md +45 -45
  521. package/skills/skills/lingshu-compiler/units/compiler-a7995a0c/SKILL.md +45 -45
  522. package/skills/skills/lingshu-compiler/units/compiler-a8399248/SKILL.md +45 -45
  523. package/skills/skills/lingshu-compiler/units/compiler-aabbd099/SKILL.md +45 -45
  524. package/skills/skills/lingshu-compiler/units/compiler-afe169d8/SKILL.md +45 -45
  525. package/skills/skills/lingshu-compiler/units/compiler-b0678bda/SKILL.md +45 -45
  526. package/skills/skills/lingshu-compiler/units/compiler-b09bd196/SKILL.md +45 -45
  527. package/skills/skills/lingshu-compiler/units/compiler-b1396e23/SKILL.md +45 -45
  528. package/skills/skills/lingshu-compiler/units/compiler-b9b31ce0/SKILL.md +45 -45
  529. package/skills/skills/lingshu-compiler/units/compiler-c10264a7/SKILL.md +45 -45
  530. package/skills/skills/lingshu-compiler/units/compiler-cb1e8e4b/SKILL.md +45 -45
  531. package/skills/skills/lingshu-compiler/units/compiler-ccafd438/SKILL.md +45 -45
  532. package/skills/skills/lingshu-compiler/units/compiler-cda9c262/SKILL.md +45 -45
  533. package/skills/skills/lingshu-compiler/units/compiler-ce648068/SKILL.md +45 -45
  534. package/skills/skills/lingshu-compiler/units/compiler-cf5776a4/SKILL.md +45 -45
  535. package/skills/skills/lingshu-compiler/units/compiler-d974e5d3/SKILL.md +45 -45
  536. package/skills/skills/lingshu-compiler/units/compiler-e3979fd3/SKILL.md +45 -45
  537. package/skills/skills/lingshu-compiler/units/compiler-eb1cf2b5/SKILL.md +45 -45
  538. package/skills/skills/lingshu-compiler/units/compiler-ecb30d5b/SKILL.md +45 -45
  539. package/skills/skills/lingshu-compiler/units/compiler-f8c8b24b/SKILL.md +45 -45
  540. package/skills/skills/lingshu-compiler/units/compiler-f99fedbe/SKILL.md +45 -45
  541. package/skills/skills/lingshu-compiler/units/compiler-fa8ff5f7/SKILL.md +45 -45
  542. package/skills/skills/lingshu-compiler/units/compiler-fe1b058d/SKILL.md +45 -45
  543. package/skills/skills/lingshu-compiler/units/lex-chinese-program/SKILL.md +45 -45
  544. package/skills/skills/lingshu-compiler/units/lex-dao-de-jing/SKILL.md +45 -45
  545. package/skills/skills/lingshu-compiler/units/lex-nine-chapters/SKILL.md +45 -45
  546. package/skills/skills/lingshu-compiler/units/vm-arithmetic/SKILL.md +45 -45
  547. package/skills/skills/lingshu-compiler/units/vm-array-ops/SKILL.md +45 -45
  548. package/skills/skills/lingshu-compiler/units/vm-closure-call/SKILL.md +45 -45
  549. package/skills/skills/lingshu-compiler/units/vm-closure-create/SKILL.md +45 -45
  550. package/skills/skills/lingshu-compiler/units/vm-compare/SKILL.md +45 -45
  551. package/skills/skills/lingshu-compiler/units/vm-cond-jump/SKILL.md +45 -45
  552. package/skills/skills/lingshu-compiler/units/vm-cond-space/SKILL.md +45 -45
  553. package/skills/skills/lingshu-compiler/units/vm-exception/SKILL.md +45 -45
  554. package/skills/skills/lingshu-compiler/units/vm-func-call/SKILL.md +45 -45
  555. package/skills/skills/lingshu-compiler/units/vm-loop-run/SKILL.md +45 -45
  556. package/skills/skills/lingshu-compiler/units/vm-profiling/SKILL.md +45 -45
  557. package/skills/skills/lingshu-compiler/units/vm-refcount/SKILL.md +45 -45
  558. package/skills/skills/lingshu-compiler/units/vm-run-loop/SKILL.md +45 -45
  559. package/skills/skills/lingshu-compiler/units/vm-short-circuit/SKILL.md +45 -45
  560. package/skills/skills/lingshu-compiler/units/vm-stack-guard/SKILL.md +45 -45
  561. package/skills/skills/lingshu-compiler/units/vm-stack-ops/SKILL.md +45 -45
  562. package/skills/skills/lingshu-compiler/units/vm-trust-accum/SKILL.md +45 -45
  563. package/skills/skills/lingshu-graph/SKILL.md +63 -63
  564. package/skills/skills/lingshu-net/SKILL.md +48 -48
  565. package/skills/skills/lingshu-os/SKILL.md +64 -64
  566. package/skills/skills/lingshu-pylang/SKILL.md +71 -71
  567. package/src/bridge.ts +33 -0
  568. package/src/hooks.ts +38 -2
  569. package/src/index.ts +526 -518
  570. package/src/lib/datapath.ts +326 -326
  571. package/src/lib/mdcg_client.ts +413 -413
  572. package/src/lib/mutual.ts +428 -428
  573. package/src/lib/prompt_safety.ts +62 -62
  574. package/src/lib/python_path.ts +71 -71
  575. package/src/lib/roleplay_web.ts +116 -29
  576. package/src/lib/token_store.ts +13 -3
  577. package/src/tools.ts +212 -212
  578. package/zcode/AGENTS.md +11 -3
  579. package/zcode/README.md +41 -41
  580. /package/docs/{mdcg → hive}//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" +0 -0
@@ -0,0 +1,140 @@
1
+ # -*- coding: utf-8 -*-
2
+ """灵枢自库端到端检索评测(中文 · 自然问句 vs 关键词对照 · 生产读路径)
3
+
4
+ 实测方式(用户指定):mdcg 的读检索——spawn python -m md_cg.mcp_server(stdio JSON-RPC,
5
+ 与 DSH 插件 src/lib/mdcg_client.ts 同款生产路径),逐题调 cg(op=read, query=...),
6
+ 只收 top-10 候选的 node.id 与 score,判 gold 节点命中。
7
+
8
+ gold = 已落盘(索引可见)的已知节点;审核队列 pending 提案对检索不可见(如实记录为
9
+ 发现,不进评测集)。运行环境继承 MDCG_TOKEN(designer/internal 档)。
10
+ """
11
+ import json, subprocess, sys, os, time
12
+
13
+ REPO = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
14
+
15
+ # ── 测试集:20 题 · 自然问句 → gold(已落盘节点)──────────────────────────
16
+ CASES = [
17
+ # (自然问句, [gold_node_ids], 关键词对照组)
18
+ ("hive 的 serve 怎么判断还活着?", ["mem_1789612355948"], "serve 存活 判据 三层 心跳 pid"),
19
+ ("双实例互验怎么防止验证者作弊?", ["mem_1789602635975"], "互验 判据冻结 A3 验证者 指纹"),
20
+ ("任务派发应该按什么原则分层决策?", ["mem_1789605410646"], "任务派发 三层决策 L1 L2 L3 分层原则"),
21
+ ("蜂群健康评分的 integrity 因子是怎么算的?", ["swarm_v061_integrity_fix"], "蜂群 integrity 健康评分 验签 aggregate_report"),
22
+ ("全局截断 cap 会造成哪些检索可见性问题?", ["mem_1789511615088"], "GLOBAL_CAP 截断 检索 可见性 T3 importance"),
23
+ ("冷验证队列的回执什么情况下会报假成功?", ["mem_1789897251107"], "冷队列 回执 诚实 patrol_check propagate_depth"),
24
+ ("英文语料用中文索引检索效果怎么样?", ["mem_1789132609619"], "LongMemEval 中文层 探针 英文原文 载荷回填"),
25
+ ("检索扩散 reach 功能默认是开的吗?", ["mem_1789795794376"], "reach opt-in MDCG_REACH 收敛层 接线"),
26
+ ("记忆怎么按热度分层来加速检索?", ["mem_1789803443800"], "热温冷 分层检索 热路径缓存 冷路径 异步验证"),
27
+ ("LLM 批次修复第二轮还是不过怎么办?", ["mem_1789666192335"], "fix pass 二轮 REJECT held 重生成"),
28
+ ("子任务上下文快满了怎么交接?", ["mem_1789548798424"], "handoff 满上下文 换人续跑 progress.jsonl"),
29
+ ("记忆条目的过期和观测变旧怎么区分?", ["mem_1789539356385"], "stale 时间窗 失效判据 observation_aged observation_aged 信息差"),
30
+ ("代码提交推送到公开仓库前要做什么检查?", ["mem_1789612355948"], "提交 推送 双清单 门禁 隐私脱敏 扫描"),
31
+ ("多个智能体共用一份权限时怎么区分是谁干的?", ["mem_1789122153945"], "嵌套身份 权限域 归因 进程 会话"),
32
+ ("DSH 的会话 id 关机重启后会变吗?", ["mem_1789100285255"], "DSH 会话 id 持久 projcache resume"),
33
+ ("对话日志怎么自动挖出错误和修复的配对?", ["node_02fe882d_1788905562143", "doc_4a3accff94d6"], "fix pairs 自动挖掘 行为日志 错误 修复 负记忆"),
34
+ ("令牌放在系统环境变量里有什么安全风险?", ["mem_1789099723060"], "MDCG_TOKEN Machine 作用域 部署 按 身份授权 缺口"),
35
+ ("服务进程的随机会话 id 会带来什么问题?", ["mem_1789099936556"], "Principal.session 进程随机 uuid 会话身份 前置缺口"),
36
+ ("查询词完全命不中桶的时候检索会怎么走?", ["mem_1789511615088"], "no_key_match T3 全量兜底 importance 排序"),
37
+ ("白箱知识库在进程里怎么被调用?", ["code_d98d1f5aa78e", "doc_3942cfca7bdf"], "白箱 引擎 进程内 门面 engine call_tool"),
38
+ ]
39
+
40
+
41
+ class Client:
42
+ def __init__(self):
43
+ env = dict(os.environ)
44
+ if not env.get("MDCG_ROOT"):
45
+ raise SystemExit("须设 MDCG_ROOT 指向被测记忆库根(见同目录实测报告的复现节)")
46
+ self.p = subprocess.Popen(
47
+ [sys.executable, "-X", "utf8", "-m", "md_cg.mcp_server"],
48
+ cwd=REPO, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
49
+ stderr=subprocess.DEVNULL, env=env,
50
+ )
51
+ self._id = 0
52
+ self._call("initialize", {"protocolVersion": "2024-11-05", "capabilities": {},
53
+ "clientInfo": {"name": "self-bench", "version": "1.0"}})
54
+ self.p.stdin.write((json.dumps({"jsonrpc": "2.0", "method": "notifications/initialized"}) + "\n").encode())
55
+ self.p.stdin.flush()
56
+
57
+ def _call(self, method, params):
58
+ self._id += 1
59
+ req = {"jsonrpc": "2.0", "id": self._id, "method": method, "params": params}
60
+ self.p.stdin.write((json.dumps(req, ensure_ascii=False) + "\n").encode("utf-8"))
61
+ self.p.stdin.flush()
62
+ deadline = time.time() + 120
63
+ while time.time() < deadline:
64
+ line = self.p.stdout.readline().decode("utf-8", "replace").strip()
65
+ if not line:
66
+ continue
67
+ try:
68
+ return json.loads(line)
69
+ except json.JSONDecodeError:
70
+ continue # 启动横幅等非 JSON 行
71
+ return {"error": "timeout-waiting-json-line"}
72
+
73
+ def read(self, query):
74
+ r = self._call("tools/call", {"name": "cg", "arguments": {"op": "read", "query": query}})
75
+ # 返回 {result:{content:[{type:text,text:json串}]}} 或 error
76
+ if "error" in r:
77
+ return {"error": str(r["error"])[:120]}
78
+ try:
79
+ txt = r["result"]["content"][0]["text"]
80
+ return json.loads(txt)
81
+ except Exception as e:
82
+ return {"error": f"parse:{e}"}
83
+
84
+ def close(self):
85
+ try:
86
+ self.p.stdin.close(); self.p.wait(timeout=5)
87
+ except Exception:
88
+ self.p.kill()
89
+
90
+
91
+ def top_ids(resp, k=10):
92
+ if not isinstance(resp, dict) or "results" not in resp:
93
+ return [], (resp.get("error") if isinstance(resp, dict) else "no-results")[:80], None
94
+ rs = resp["results"][:k]
95
+ ids = [x["node"]["id"] for x in rs]
96
+ meta = resp.get("meta", {})
97
+ return ids, meta.get("tier"), [round(x.get("score", 0), 4) for x in rs]
98
+
99
+
100
+ def hit_stats(hits_pos):
101
+ h1 = sum(1 for p in hits_pos if p is not None and p < 1)
102
+ h5 = sum(1 for p in hits_pos if p is not None and p < 5)
103
+ h10 = sum(1 for p in hits_pos if p is not None and p < 10)
104
+ return h1, h5, h10
105
+
106
+
107
+ def main():
108
+ cli = Client()
109
+ rows = []
110
+ for nat_q, golds, kw_q in CASES:
111
+ row = {"q": nat_q, "golds": golds}
112
+ for arm, q in (("nat", nat_q), ("kw", kw_q)):
113
+ resp = cli.read(q)
114
+ ids, tier, scores = top_ids(resp)
115
+ pos = next((i for i, nid in enumerate(ids) if nid in golds), None)
116
+ row[arm] = {"pos": pos, "tier": tier, "top1": ids[0] if ids else None,
117
+ "top1_is_gold": bool(ids and ids[0] in golds),
118
+ "n_res": len(ids)}
119
+ time.sleep(0.1)
120
+ rows.append(row)
121
+ m = row["nat"]
122
+ print(f"[{m['tier'] or '?':>16}] nat pos={str(m['pos']):>4} kw pos={str(row['kw']['pos']):>4} {nat_q[:34]}")
123
+ cli.close()
124
+
125
+ for arm in ("nat", "kw"):
126
+ h1, h5, h10 = hit_stats([r[arm]["pos"] for r in rows])
127
+ n = len(rows)
128
+ print(f"\n===== {arm}: hit@1={h1}/{n} ({h1/n:.0%}) hit@5={h5}/{n} ({h5/n:.0%}) hit@10={h10}/{n} ({h10/n:.0%})")
129
+ tiers = {}
130
+ for r in rows:
131
+ tiers[r["nat"]["tier"]] = tiers.get(r["nat"]["tier"], 0) + 1
132
+ print("nat tier 分布:", tiers)
133
+ out = os.path.join(os.path.dirname(os.path.abspath(__file__)), "self_bench_result.json")
134
+ with open(out, "w", encoding="utf-8") as f:
135
+ json.dump(rows, f, ensure_ascii=False, indent=1)
136
+ print("明细 →", out)
137
+
138
+
139
+ if __name__ == "__main__":
140
+ main()
@@ -0,0 +1,404 @@
1
+ [
2
+ {
3
+ "q": "hive 的 serve 怎么判断还活着?",
4
+ "golds": [
5
+ "mem_1789612355948"
6
+ ],
7
+ "nat": {
8
+ "pos": null,
9
+ "tier": "T2_global_like",
10
+ "top1": "mem_1789552857538",
11
+ "top1_is_gold": false,
12
+ "n_res": 10
13
+ },
14
+ "kw": {
15
+ "pos": null,
16
+ "tier": "T2_global_like",
17
+ "top1": "mem_1789612140901",
18
+ "top1_is_gold": false,
19
+ "n_res": 10
20
+ }
21
+ },
22
+ {
23
+ "q": "双实例互验怎么防止验证者作弊?",
24
+ "golds": [
25
+ "mem_1789602635975"
26
+ ],
27
+ "nat": {
28
+ "pos": 1,
29
+ "tier": "T2_global_like",
30
+ "top1": "mem_1789603603896",
31
+ "top1_is_gold": false,
32
+ "n_res": 10
33
+ },
34
+ "kw": {
35
+ "pos": 0,
36
+ "tier": "T3_global_scan",
37
+ "top1": "mem_1789602635975",
38
+ "top1_is_gold": true,
39
+ "n_res": 10
40
+ }
41
+ },
42
+ {
43
+ "q": "任务派发应该按什么原则分层决策?",
44
+ "golds": [
45
+ "mem_1789605410646"
46
+ ],
47
+ "nat": {
48
+ "pos": 0,
49
+ "tier": "T2_global_like",
50
+ "top1": "mem_1789605410646",
51
+ "top1_is_gold": true,
52
+ "n_res": 10
53
+ },
54
+ "kw": {
55
+ "pos": 0,
56
+ "tier": "T3_global_scan",
57
+ "top1": "mem_1789605410646",
58
+ "top1_is_gold": true,
59
+ "n_res": 10
60
+ }
61
+ },
62
+ {
63
+ "q": "蜂群健康评分的 integrity 因子是怎么算的?",
64
+ "golds": [
65
+ "swarm_v061_integrity_fix"
66
+ ],
67
+ "nat": {
68
+ "pos": 0,
69
+ "tier": "T3_global_scan",
70
+ "top1": "swarm_v061_integrity_fix",
71
+ "top1_is_gold": true,
72
+ "n_res": 10
73
+ },
74
+ "kw": {
75
+ "pos": 0,
76
+ "tier": "T3_global_scan",
77
+ "top1": "swarm_v061_integrity_fix",
78
+ "top1_is_gold": true,
79
+ "n_res": 10
80
+ }
81
+ },
82
+ {
83
+ "q": "全局截断 cap 会造成哪些检索可见性问题?",
84
+ "golds": [
85
+ "mem_1789511615088"
86
+ ],
87
+ "nat": {
88
+ "pos": 2,
89
+ "tier": "T3_global_scan",
90
+ "top1": "node_132deca4_1789537606255",
91
+ "top1_is_gold": false,
92
+ "n_res": 10
93
+ },
94
+ "kw": {
95
+ "pos": 1,
96
+ "tier": "T2_global_like",
97
+ "top1": "node_41abeae8_1789510901539",
98
+ "top1_is_gold": false,
99
+ "n_res": 10
100
+ }
101
+ },
102
+ {
103
+ "q": "冷验证队列的回执什么情况下会报假成功?",
104
+ "golds": [
105
+ "mem_1789897251107"
106
+ ],
107
+ "nat": {
108
+ "pos": 2,
109
+ "tier": "T2_global_like",
110
+ "top1": "mem_1789722858540",
111
+ "top1_is_gold": false,
112
+ "n_res": 10
113
+ },
114
+ "kw": {
115
+ "pos": 0,
116
+ "tier": "T3_global_scan",
117
+ "top1": "mem_1789897251107",
118
+ "top1_is_gold": true,
119
+ "n_res": 10
120
+ }
121
+ },
122
+ {
123
+ "q": "英文语料用中文索引检索效果怎么样?",
124
+ "golds": [
125
+ "mem_1789132609619"
126
+ ],
127
+ "nat": {
128
+ "pos": null,
129
+ "tier": "T2_global_like",
130
+ "top1": "mem_1789354548231",
131
+ "top1_is_gold": false,
132
+ "n_res": 10
133
+ },
134
+ "kw": {
135
+ "pos": 0,
136
+ "tier": "T2_global_like",
137
+ "top1": "mem_1789132609619",
138
+ "top1_is_gold": true,
139
+ "n_res": 10
140
+ }
141
+ },
142
+ {
143
+ "q": "检索扩散 reach 功能默认是开的吗?",
144
+ "golds": [
145
+ "mem_1789795794376"
146
+ ],
147
+ "nat": {
148
+ "pos": null,
149
+ "tier": "T3_global_scan",
150
+ "top1": "code_3d03ed70458d",
151
+ "top1_is_gold": false,
152
+ "n_res": 10
153
+ },
154
+ "kw": {
155
+ "pos": 0,
156
+ "tier": "T2_global_like",
157
+ "top1": "mem_1789795794376",
158
+ "top1_is_gold": true,
159
+ "n_res": 10
160
+ }
161
+ },
162
+ {
163
+ "q": "记忆怎么按热度分层来加速检索?",
164
+ "golds": [
165
+ "mem_1789803443800"
166
+ ],
167
+ "nat": {
168
+ "pos": null,
169
+ "tier": "T2_global_like",
170
+ "top1": "mem_1789274628336",
171
+ "top1_is_gold": false,
172
+ "n_res": 10
173
+ },
174
+ "kw": {
175
+ "pos": 1,
176
+ "tier": "T2_global_like",
177
+ "top1": "code_0602d0907acc",
178
+ "top1_is_gold": false,
179
+ "n_res": 10
180
+ }
181
+ },
182
+ {
183
+ "q": "LLM 批次修复第二轮还是不过怎么办?",
184
+ "golds": [
185
+ "mem_1789666192335"
186
+ ],
187
+ "nat": {
188
+ "pos": null,
189
+ "tier": "T2_global_like",
190
+ "top1": "mem_1789274628336",
191
+ "top1_is_gold": false,
192
+ "n_res": 10
193
+ },
194
+ "kw": {
195
+ "pos": 3,
196
+ "tier": "T2_global_like",
197
+ "top1": "mem_1789665204611",
198
+ "top1_is_gold": false,
199
+ "n_res": 10
200
+ }
201
+ },
202
+ {
203
+ "q": "子任务上下文快满了怎么交接?",
204
+ "golds": [
205
+ "mem_1789548798424"
206
+ ],
207
+ "nat": {
208
+ "pos": 7,
209
+ "tier": "T2_global_like",
210
+ "top1": "mem_1789599787541",
211
+ "top1_is_gold": false,
212
+ "n_res": 10
213
+ },
214
+ "kw": {
215
+ "pos": 0,
216
+ "tier": "T2_global_like",
217
+ "top1": "mem_1789548798424",
218
+ "top1_is_gold": true,
219
+ "n_res": 10
220
+ }
221
+ },
222
+ {
223
+ "q": "记忆条目的过期和观测变旧怎么区分?",
224
+ "golds": [
225
+ "mem_1789539356385"
226
+ ],
227
+ "nat": {
228
+ "pos": null,
229
+ "tier": "T2_global_like",
230
+ "top1": "node_ef7bc1ee_1786918581699",
231
+ "top1_is_gold": false,
232
+ "n_res": 10
233
+ },
234
+ "kw": {
235
+ "pos": null,
236
+ "tier": "T3_global_scan",
237
+ "top1": "mem_1789540113805",
238
+ "top1_is_gold": false,
239
+ "n_res": 10
240
+ }
241
+ },
242
+ {
243
+ "q": "代码提交推送到公开仓库前要做什么检查?",
244
+ "golds": [
245
+ "mem_1789612355948"
246
+ ],
247
+ "nat": {
248
+ "pos": 9,
249
+ "tier": "T2_global_like",
250
+ "top1": "mem_1789806369843",
251
+ "top1_is_gold": false,
252
+ "n_res": 10
253
+ },
254
+ "kw": {
255
+ "pos": 0,
256
+ "tier": "T2_global_like",
257
+ "top1": "mem_1789612355948",
258
+ "top1_is_gold": true,
259
+ "n_res": 10
260
+ }
261
+ },
262
+ {
263
+ "q": "多个智能体共用一份权限时怎么区分是谁干的?",
264
+ "golds": [
265
+ "mem_1789122153945"
266
+ ],
267
+ "nat": {
268
+ "pos": null,
269
+ "tier": "T2_global_like",
270
+ "top1": "node_76728d45_1786918560368",
271
+ "top1_is_gold": false,
272
+ "n_res": 10
273
+ },
274
+ "kw": {
275
+ "pos": 0,
276
+ "tier": "T2_global_like",
277
+ "top1": "mem_1789122153945",
278
+ "top1_is_gold": true,
279
+ "n_res": 10
280
+ }
281
+ },
282
+ {
283
+ "q": "DSH 的会话 id 关机重启后会变吗?",
284
+ "golds": [
285
+ "mem_1789100285255"
286
+ ],
287
+ "nat": {
288
+ "pos": 0,
289
+ "tier": "T2_global_like",
290
+ "top1": "mem_1789100285255",
291
+ "top1_is_gold": true,
292
+ "n_res": 10
293
+ },
294
+ "kw": {
295
+ "pos": 0,
296
+ "tier": "T2_global_like",
297
+ "top1": "mem_1789100285255",
298
+ "top1_is_gold": true,
299
+ "n_res": 10
300
+ }
301
+ },
302
+ {
303
+ "q": "对话日志怎么自动挖出错误和修复的配对?",
304
+ "golds": [
305
+ "node_02fe882d_1788905562143",
306
+ "doc_4a3accff94d6"
307
+ ],
308
+ "nat": {
309
+ "pos": 3,
310
+ "tier": "T2_global_like",
311
+ "top1": "node_030c84b7_1786688525595",
312
+ "top1_is_gold": false,
313
+ "n_res": 10
314
+ },
315
+ "kw": {
316
+ "pos": 1,
317
+ "tier": "T2_global_like",
318
+ "top1": "code_4297379afe64",
319
+ "top1_is_gold": false,
320
+ "n_res": 10
321
+ }
322
+ },
323
+ {
324
+ "q": "令牌放在系统环境变量里有什么安全风险?",
325
+ "golds": [
326
+ "mem_1789099723060"
327
+ ],
328
+ "nat": {
329
+ "pos": 0,
330
+ "tier": "T2_global_like",
331
+ "top1": "mem_1789099723060",
332
+ "top1_is_gold": true,
333
+ "n_res": 10
334
+ },
335
+ "kw": {
336
+ "pos": 0,
337
+ "tier": "T2_global_like",
338
+ "top1": "mem_1789099723060",
339
+ "top1_is_gold": true,
340
+ "n_res": 10
341
+ }
342
+ },
343
+ {
344
+ "q": "服务进程的随机会话 id 会带来什么问题?",
345
+ "golds": [
346
+ "mem_1789099936556"
347
+ ],
348
+ "nat": {
349
+ "pos": 3,
350
+ "tier": "T2_global_like",
351
+ "top1": "mem_1789100285255",
352
+ "top1_is_gold": false,
353
+ "n_res": 10
354
+ },
355
+ "kw": {
356
+ "pos": 0,
357
+ "tier": "T2_global_like",
358
+ "top1": "mem_1789099936556",
359
+ "top1_is_gold": true,
360
+ "n_res": 10
361
+ }
362
+ },
363
+ {
364
+ "q": "查询词完全命不中桶的时候检索会怎么走?",
365
+ "golds": [
366
+ "mem_1789511615088"
367
+ ],
368
+ "nat": {
369
+ "pos": null,
370
+ "tier": "T2_global_like",
371
+ "top1": "node_subject_4939401561_1787018087635",
372
+ "top1_is_gold": false,
373
+ "n_res": 10
374
+ },
375
+ "kw": {
376
+ "pos": 0,
377
+ "tier": "T3_global_scan",
378
+ "top1": "mem_1789511615088",
379
+ "top1_is_gold": true,
380
+ "n_res": 10
381
+ }
382
+ },
383
+ {
384
+ "q": "白箱知识库在进程里怎么被调用?",
385
+ "golds": [
386
+ "code_d98d1f5aa78e",
387
+ "doc_3942cfca7bdf"
388
+ ],
389
+ "nat": {
390
+ "pos": 1,
391
+ "tier": "T2_global_like",
392
+ "top1": "code_a53cb473e34f",
393
+ "top1_is_gold": false,
394
+ "n_res": 10
395
+ },
396
+ "kw": {
397
+ "pos": 0,
398
+ "tier": "T3_global_scan",
399
+ "top1": "code_d98d1f5aa78e",
400
+ "top1_is_gold": true,
401
+ "n_res": 10
402
+ }
403
+ }
404
+ ]
@@ -0,0 +1,38 @@
1
+ # 灵枢自库端到端检索实测 v1.0(原生中文 · 自然问句 vs 关键词 · 生产读路径)
2
+
3
+ > **口径**:被测库=灵枢自身在役记忆库(14095 节点 · 原生中文 · CCG 六要素为主写入面 · audit 23.9 万事件的真实累积库);实测方式=mdcg 读检索生产路径——spawn `python -m md_cg.mcp_server`(stdio JSON-RPC,与 DSH 插件同款链路),逐题调 `cg(op=read, query=…)`,取 top-10 候选判 gold 命中。评测令牌为专用 designer 令牌(`tk_70f633dc8398`,internal 以上可见)。
4
+ > **题集**:20 道自然中文问句(口语化、非节点原文词),gold=16 个已落盘已知节点(多题一 gold / 一题多 gold);对照组=同题关键词版(从 gold 六要素词面构造)。脚本:`bench_self.py`(本目录);逐题明细:`self_bench_result.json`。
5
+
6
+ ## 结果
7
+
8
+ | 臂 | hit@1 | hit@5 | hit@10 |
9
+ | ---- | ---- | ---- | ---- |
10
+ | 自然问句 | 4/20(**20%**) | 10/20(**50%**) | 12/20(**60%**) |
11
+ | 关键词对照 | 14/20(**70%**) | 18/20(**90%**) | 18/20(**90%**) |
12
+
13
+ ## 三条对照解读
14
+
15
+ 1. **与 LoCoMo 翻译语料口径对照(自然问句 40.2% / 派生题面 92%)**:原生中文 CCG 库上自然问句 **60% > 40.2%(+19.8pp)**——CCG 六要素写入面(功能名/生效条件等结构化中文槽)确实部分缩小了问句-答案词汇差,翻译噪声也被排除。
16
+ 2. **鸿沟同构成立**:自库上自然问句与关键词之间仍有 **30pp**(60% vs 90%)——与 LoCoMo 口径的 51.8pp 鸿沟同向。词汇差瓶颈不依赖语料来源,是词法检索的固有边界;**认知图概念桥接(自然问句 → 92%±)的必要性在本口径下再次成立**,且 60% 是桥接实施的自库基线起点。
17
+ 3. **失败定性(8 题 hit@10 外)**:6 题 kw 臂能命中(典型词汇差:问句「过期/变旧」vs 节点 `stale/observation_aged`、问句「快满了怎么交接」vs 节点 `handoff 满上下文`)——词面不同构是主因;2 题双臂皆败(Q1 serve 存活、Q12 stale 区分)经直读验证 gold 在库可检索,属**排序区分度问题**——「hive/serve」词面在众多蜂巢节点同现,gold 特异词(存活判据/三层)未入问句时被主题相近节点淹没(top-3 全为蜂巢编排类节点,score 0.44-0.59)。
18
+
19
+ ## 过程发现(评测副产物,两条)
20
+
21
+ 1. **审核队列对检索不可见**:`review_pending=22`——缺陷迭代九轮的归档提案全部 pending、索引不可见,`cg(op=read)` 检索不到(例:问「MCP 如何防打崩」返回的 top-10 全为授权/身份主题无关节点,第 10 轮 MCP 入口守卫归档不在候选)。知识从 propose 到可检索依赖设计者裁决,裁决积压=知识不可用。**建议:设计者批量裁决积压提案(review_cli),或为 pending 提案建立降级可见通道(另行设计)。**
22
+ 2. **自然问句零桶收敛**:tier 分布 17/20 走 `T2_global_like`(全局扫 13550 节点)、3/20 走 `T3_global_scan`,**没有一题走桶收敛(T0/T1)**——自然问句不命中英文桶键;#33 的 `backfill_bucket_zh` 中文别名回填未在本库执行过。全局兜底路径承担了全部自然问句流量,S1b 桶收敛对真实问句形态未起作用。
23
+
24
+ ## 复现
25
+
26
+ ```bash
27
+ MDCG_ROOT=<真实库根> MDCG_TOKEN=<designer 令牌> \
28
+ python -X utf8 docs/eval/bench_lingshu_self/bench_self.py
29
+ ```
30
+
31
+ > 本报告不含库根绝对路径与令牌明文;评测令牌 token_id `tk_70f633dc8398` 保留复测用,可随时 `python -m md_cg.tokens revoke` 吊销。
32
+
33
+ ## 边界
34
+
35
+ - 20 题小样本,百分比仅作量级参考(±1 题 = ±5pp);
36
+ - gold 由编排会话指定(已知答案节点),非全库抽样;问句风格单一(工程事实型),未覆盖时间/条件/否定类问句;
37
+ - 关键词臂由 gold 六要素词面构造,含轻度答案侧词汇先验(与 LoCoMo 口径的派生题面同性质);
38
+ - 被测库持续增长(audit 在写),两次运行数字可能小幅漂移。