@furongjun1999/dsh-memory 0.4.11 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (504) hide show
  1. package/README.md +16 -16
  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 +142 -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//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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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 +503 -503
  24. 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
  25. 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
  26. 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
  27. 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
  28. package/docs/mdcg/README/350/257/246/347/273/206/347/211/210_v0.4.10.md +646 -646
  29. package/docs/mdcg/lingshu_tutorial.html +14449 -14449
  30. package/docs/mdcg/release_v0.4.11.md +49 -0
  31. package/docs/mdcg/release_v0.4.5.md +55 -55
  32. package/docs/mdcg/tool_table_v0.3.0.md +117 -117
  33. 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
  34. 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
  35. 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
  36. package/docs/mdcg//345/217/221/345/270/203/351/227/250/347/246/201/351/223/276_v0.1.md +54 -0
  37. 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
  38. 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
  39. 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
  40. package/docs/mdcg//347/274/272/345/217/243/345/215/225_P0/346/224/266/345/217/243_v0.1.md +270 -270
  41. 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
  42. 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
  43. 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
  44. 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
  45. 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
  46. package/docs/swarm//350/234/202/347/276/244/344/272/222/350/201/224_v0.1.md +704 -704
  47. 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
  48. 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
  49. 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
  50. package/docs/theory//346/231/272/350/203/275/350/256/2723.4.md +5260 -5260
  51. 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
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. package/dsh/README.md +82 -82
  59. package/dsh/cordis.yml.example +139 -139
  60. package/dsh/update-lingshu.bat +11 -11
  61. package/lib/hooks.js +36 -2
  62. package/lib/lib/roleplay_web.js +427 -427
  63. package/md_cg/__init__.py +7 -7
  64. package/md_cg/audit.py +368 -368
  65. package/md_cg/autonomy.py +287 -287
  66. package/md_cg/backfill.py +1327 -1327
  67. package/md_cg/backfill_bigdomain.py +34 -34
  68. package/md_cg/bench6_arms.py +410 -410
  69. package/md_cg/bench6_common.py +230 -230
  70. package/md_cg/bench6_competitors.py +212 -212
  71. package/md_cg/bench_axis_domain.py +257 -257
  72. package/md_cg/bench_blind_comp.py +308 -308
  73. package/md_cg/bench_en_atoms_public.py +230 -230
  74. package/md_cg/bench_governance.py +348 -348
  75. package/md_cg/bench_lme_zh.py +410 -410
  76. package/md_cg/bench_locomo.py +121 -121
  77. package/md_cg/bench_locomo_zh.py +450 -450
  78. package/md_cg/bench_locomo_zh_public.py +147 -147
  79. package/md_cg/bench_longmem.py +112 -112
  80. package/md_cg/bench_membench.py +632 -632
  81. package/md_cg/bench_p0.py +149 -149
  82. package/md_cg/bench_progressive.py +287 -287
  83. package/md_cg/bench_role_views.py +238 -238
  84. package/md_cg/bench_task_ab.py +243 -243
  85. package/md_cg/bench_task_ab_llm.py +408 -408
  86. package/md_cg/bench_unified_en.py +204 -204
  87. package/md_cg/bench_zh_mad.py +601 -601
  88. package/md_cg/blindspot_tickets.py +123 -123
  89. package/md_cg/branches.py +285 -285
  90. package/md_cg/build_postings.py +73 -73
  91. package/md_cg/ccgc.py +1005 -948
  92. package/md_cg/census.py +132 -132
  93. package/md_cg/chain.py +300 -300
  94. package/md_cg/codeindex.py +531 -531
  95. package/md_cg/coldverify.py +292 -292
  96. package/md_cg/comment_gate.py +337 -337
  97. package/md_cg/cond_compose.py +190 -190
  98. package/md_cg/cond_facts.py +154 -154
  99. package/md_cg/cond_template.json +106 -106
  100. package/md_cg/condition_anchor.py +142 -142
  101. package/md_cg/conformance.py +726 -726
  102. package/md_cg/consistency.py +717 -717
  103. package/md_cg/consolidate.py +1536 -1439
  104. package/md_cg/corpus.py +110 -110
  105. package/md_cg/crosscheck.py +1097 -1097
  106. package/md_cg/crypto.py +437 -437
  107. package/md_cg/d_meta.py +310 -310
  108. package/md_cg/datapath.py +334 -334
  109. package/md_cg/docindex.py +473 -473
  110. package/md_cg/eval_common.py +575 -575
  111. package/md_cg/evidence.py +580 -580
  112. package/md_cg/evolution.py +477 -477
  113. package/md_cg/export.py +220 -220
  114. package/md_cg/forgetting.py +581 -581
  115. package/md_cg/fsutil.py +329 -329
  116. package/md_cg/hotcache.py +238 -214
  117. package/md_cg/hyperedge.py +251 -251
  118. package/md_cg/identity.py +390 -390
  119. package/md_cg/insight.py +500 -500
  120. package/md_cg/interop.py +199 -0
  121. package/md_cg/lexicon/build_cedict_en_zh.py +329 -329
  122. package/md_cg/lexicon/build_standard_en.py +171 -171
  123. package/md_cg/lexicon/expand_en_zh.py +211 -211
  124. package/md_cg/lifecycle.py +272 -272
  125. package/md_cg/linkref.py +280 -280
  126. package/md_cg/links.py +622 -622
  127. package/md_cg/mcp_server.py +129 -32
  128. package/md_cg/md_whitebox.py +345 -345
  129. package/md_cg/mdcg.py +176 -117
  130. package/md_cg/mdcos.py +79 -13
  131. package/md_cg/metacognition.py +591 -591
  132. package/md_cg/migrate.py +119 -119
  133. package/md_cg/migrate_aeis.py +221 -221
  134. package/md_cg/migrate_roleplay.py +293 -293
  135. package/md_cg/migrate_wisdom_graph.py +360 -360
  136. package/md_cg/mreview/__init__.py +25 -25
  137. package/md_cg/mreview/__main__.py +110 -110
  138. package/md_cg/mreview/bundle.py +178 -178
  139. package/md_cg/mreview/candidates.py +262 -262
  140. package/md_cg/mreview/govern.py +693 -693
  141. package/md_cg/mreview/locate.py +939 -939
  142. package/md_cg/mreview/pipeline.py +728 -728
  143. package/md_cg/mreview/rules/duplication.json +21 -21
  144. package/md_cg/mreview/rules/field_coverage.json +54 -54
  145. package/md_cg/mreview/rules/source_license.json +21 -21
  146. package/md_cg/mreview/rules/template_flow.json +21 -21
  147. package/md_cg/mreview/ruleset.py +252 -252
  148. package/md_cg/nodefile.py +575 -575
  149. package/md_cg/pooling.py +484 -472
  150. package/md_cg/postings.py +298 -298
  151. package/md_cg/predict.py +1100 -1100
  152. package/md_cg/progressive.py +123 -123
  153. package/md_cg/protect.py +272 -272
  154. package/md_cg/protocol/md_cg_gate.proto +33 -33
  155. package/md_cg/protocol.py +372 -372
  156. package/md_cg/provenance.py +582 -582
  157. package/md_cg/reach.py +453 -453
  158. package/md_cg/readcache.py +85 -0
  159. package/md_cg/refindex.py +833 -833
  160. package/md_cg/refine.py +604 -604
  161. package/md_cg/roleviews.py +89 -89
  162. package/md_cg/routing.py +365 -365
  163. package/md_cg/scrub.py +852 -852
  164. package/md_cg/security.py +274 -274
  165. package/md_cg/self_state.py +1029 -1029
  166. package/md_cg/selfreport.py +151 -151
  167. package/md_cg/semantic/__init__.py +10 -10
  168. package/md_cg/semantic/canonical.py +122 -122
  169. package/md_cg/semantic/en_normalizer.py +364 -364
  170. package/md_cg/semantic/en_zh_map.json +28694 -0
  171. package/md_cg/semantic/export_en_zh_map.py +64 -0
  172. package/md_cg/semantic/unify.py +45 -0
  173. package/md_cg/semantic/zh_en_atoms.py +139 -139
  174. package/md_cg/signer.py +562 -562
  175. package/md_cg/sources.py +815 -582
  176. package/md_cg/statushdr.py +179 -179
  177. package/md_cg/stg.py +48 -37
  178. package/md_cg/subgraph.py +729 -729
  179. package/md_cg/sustain.py +1138 -1138
  180. package/md_cg/tasks.py +470 -470
  181. package/md_cg/test_action_derive.py +203 -203
  182. package/md_cg/test_audit_rotate.py +270 -270
  183. package/md_cg/test_autonomy.py +143 -143
  184. package/md_cg/test_bench_governance.py +102 -102
  185. package/md_cg/test_blindspot_tickets.py +166 -166
  186. package/md_cg/test_branches.py +249 -249
  187. package/md_cg/test_ccg_perturb.py +184 -184
  188. package/md_cg/test_ccgc.py +433 -433
  189. package/md_cg/test_census_prune.py +81 -81
  190. package/md_cg/test_cond_compose_anchors.py +76 -76
  191. package/md_cg/test_cond_match.py +165 -165
  192. package/md_cg/test_condition_anchor.py +81 -81
  193. package/md_cg/test_d_meta.py +412 -412
  194. package/md_cg/test_datapath_root.py +199 -199
  195. package/md_cg/test_en_pipeline.py +166 -166
  196. package/md_cg/test_gain_gate.py +212 -212
  197. package/md_cg/test_health_scale.py +173 -173
  198. package/md_cg/test_hive_ingest.py +285 -0
  199. package/md_cg/test_hot_cold.py +215 -215
  200. package/md_cg/test_hyperedge.py +245 -245
  201. package/md_cg/test_i26_empty_first_write.py +116 -0
  202. package/md_cg/test_i27_e041_identity.py +128 -0
  203. package/md_cg/test_i28_hotcache_prodpath.py +122 -0
  204. package/md_cg/test_identity_attribution.py +147 -147
  205. package/md_cg/test_index_durability.py +224 -224
  206. package/md_cg/test_interop.py +93 -0
  207. package/md_cg/test_lifecycle.py +309 -309
  208. package/md_cg/test_linkref.py +306 -306
  209. package/md_cg/test_lock.py +43 -43
  210. package/md_cg/test_md_access_parity.py +255 -255
  211. package/md_cg/test_md_writepath.py +345 -345
  212. package/md_cg/test_mdstore_search_parity.py +160 -0
  213. package/md_cg/test_mr_m2.py +587 -587
  214. package/md_cg/test_mr_m3.py +710 -710
  215. package/md_cg/test_mr_m4.py +485 -485
  216. package/md_cg/test_p0.py +250 -250
  217. package/md_cg/test_p1.py +316 -316
  218. package/md_cg/test_p10_identity.py +173 -173
  219. package/md_cg/test_p11_consistency.py +233 -233
  220. package/md_cg/test_p12_metacognition.py +212 -212
  221. package/md_cg/test_p13_encryption.py +241 -241
  222. package/md_cg/test_p14_sustain.py +249 -249
  223. package/md_cg/test_p15_scrub.py +280 -280
  224. package/md_cg/test_p16_self_state.py +301 -301
  225. package/md_cg/test_p17_predict.py +354 -354
  226. package/md_cg/test_p18_whitebox.py +171 -171
  227. package/md_cg/test_p19_migrate_roleplay.py +149 -149
  228. package/md_cg/test_p20_evolution.py +315 -315
  229. package/md_cg/test_p21_tokens.py +293 -270
  230. package/md_cg/test_p22_theory.py +175 -175
  231. package/md_cg/test_p23_links.py +311 -311
  232. package/md_cg/test_p24_evidence.py +227 -227
  233. package/md_cg/test_p25_weights.py +156 -156
  234. package/md_cg/test_p26_refindex.py +416 -416
  235. package/md_cg/test_p27_docindex.py +765 -765
  236. package/md_cg/test_p28_refcheck.py +305 -305
  237. package/md_cg/test_p29_session_ingest_export.py +354 -333
  238. package/md_cg/test_p3.py +11 -2
  239. package/md_cg/test_p30_maintain.py +330 -330
  240. package/md_cg/test_p31_insight.py +534 -534
  241. package/md_cg/test_p32_backfill.py +298 -298
  242. package/md_cg/test_p33_ccg_wiring.py +293 -293
  243. package/md_cg/test_p34_crosscheck.py +331 -331
  244. package/md_cg/test_p35_conditioned_claim.py +252 -252
  245. package/md_cg/test_p36_kp_align.py +230 -230
  246. package/md_cg/test_p37_condition_space.py +248 -248
  247. package/md_cg/test_p38_concurrent_flush.py +102 -0
  248. package/md_cg/test_p38_contextualize.py +273 -273
  249. package/md_cg/test_p39_verify_flow.py +113 -0
  250. package/md_cg/test_p39_vision_evidence.py +369 -369
  251. package/md_cg/test_p40_refine_worklist.py +241 -241
  252. package/md_cg/test_p41_evolve_patrol.py +224 -224
  253. package/md_cg/test_p42_provenance.py +269 -269
  254. package/md_cg/test_p43_pooling.py +412 -398
  255. package/md_cg/test_p44_md_whitebox.py +231 -231
  256. package/md_cg/test_p45_session_identity.py +219 -219
  257. package/md_cg/test_p46_unit_scope.py +272 -272
  258. package/md_cg/test_p47_session_view.py +281 -0
  259. package/md_cg/test_p4_fuzzy.py +223 -223
  260. package/md_cg/test_p5_semantic.py +226 -226
  261. package/md_cg/test_p6_consolidate.py +440 -387
  262. package/md_cg/test_p7_goals_recent.py +202 -202
  263. package/md_cg/test_p8_subgraph_chain.py +200 -200
  264. package/md_cg/test_p9_forget_protect.py +231 -231
  265. package/md_cg/test_predict_beta.py +135 -135
  266. package/md_cg/test_preflight_failclosed.py +100 -100
  267. package/md_cg/test_progressive.py +146 -146
  268. package/md_cg/test_protocol.py +243 -243
  269. package/md_cg/test_reach.py +378 -378
  270. package/md_cg/test_reach_keys.py +201 -201
  271. package/md_cg/test_read_clip.py +141 -141
  272. package/md_cg/test_readcache_prodpath.py +155 -0
  273. package/md_cg/test_retr_gates_prodpath.py +140 -0
  274. package/md_cg/test_retr_s1.py +340 -340
  275. package/md_cg/test_retr_s1b.py +209 -209
  276. package/md_cg/test_retr_s3.py +194 -194
  277. package/md_cg/test_retr_s4.py +163 -163
  278. package/md_cg/test_retr_s5.py +200 -200
  279. package/md_cg/test_retr_s6.py +157 -157
  280. package/md_cg/test_retr_s7.py +384 -384
  281. package/md_cg/test_retr_s8_time.py +369 -316
  282. package/md_cg/test_retr_s9_edges.py +286 -286
  283. package/md_cg/test_retr_s9_entity_ctx.py +175 -175
  284. package/md_cg/test_review_conformance.py +367 -367
  285. package/md_cg/test_role_views.py +354 -354
  286. package/md_cg/test_sem_noise.py +242 -242
  287. package/md_cg/test_semantic_canonical.py +241 -241
  288. package/md_cg/test_subproc_encoding.py +192 -192
  289. package/md_cg/test_sustain_mutual.py +153 -153
  290. package/md_cg/test_tasks.py +409 -409
  291. package/md_cg/test_tool_face.py +189 -189
  292. package/md_cg/test_transfer.py +180 -180
  293. package/md_cg/test_trust.py +361 -361
  294. package/md_cg/test_twophase.py +286 -286
  295. package/md_cg/test_v14_fixes.py +397 -397
  296. package/md_cg/test_validity_filter.py +280 -280
  297. package/md_cg/test_verify_answer.py +138 -138
  298. package/md_cg/test_wisdom_md_store.py +292 -292
  299. package/md_cg/test_writelimit.py +197 -197
  300. package/md_cg/test_writepipe.py +214 -214
  301. package/md_cg/theory.py +273 -273
  302. package/md_cg/tokens.py +677 -663
  303. package/md_cg/tool_face.py +260 -260
  304. package/md_cg/trust.py +986 -950
  305. package/md_cg/twophase.py +231 -231
  306. package/md_cg/units.py +667 -667
  307. package/md_cg/vision_evidence.py +666 -666
  308. package/md_cg/weights.py +624 -624
  309. package/md_cg/whitebox.py +527 -527
  310. package/md_cg/whitebox_kb/__init__.py +37 -37
  311. package/md_cg/whitebox_kb/aeis_core/__init__.py +42 -42
  312. package/md_cg/whitebox_kb/aeis_core/semantic.py +280 -280
  313. package/md_cg/whitebox_kb/aeis_core/textutil.py +13 -13
  314. package/md_cg/whitebox_kb/engine.py +310 -310
  315. package/md_cg/whitebox_kb/seed_knowledge//346/231/272/350/203/275/350/256/2723.4.md +5260 -5260
  316. package/md_cg/whitebox_kb/wisdom/browser_units.py +2631 -2631
  317. package/md_cg/whitebox_kb/wisdom/causal_discover.py +432 -432
  318. package/md_cg/whitebox_kb/wisdom/chat_engine.py +1506 -1506
  319. package/md_cg/whitebox_kb/wisdom/code_solidified.json +6195 -6195
  320. package/md_cg/whitebox_kb/wisdom/compiler_code_units.py +3033 -3033
  321. package/md_cg/whitebox_kb/wisdom/condition_algebra.py +112 -112
  322. package/md_cg/whitebox_kb/wisdom/condition_frame.py +315 -315
  323. package/md_cg/whitebox_kb/wisdom/condition_kb.py +108 -108
  324. package/md_cg/whitebox_kb/wisdom/conflict_map.json +4445 -4445
  325. package/md_cg/whitebox_kb/wisdom/core/lexer.py +512 -512
  326. package/md_cg/whitebox_kb/wisdom/core/name_checker.py +1023 -1023
  327. package/md_cg/whitebox_kb/wisdom/cspmn.py +258 -258
  328. package/md_cg/whitebox_kb/wisdom/csre.py +264 -264
  329. package/md_cg/whitebox_kb/wisdom/danmaku_audit.py +252 -252
  330. package/md_cg/whitebox_kb/wisdom/distilled_condition_units.json +6417 -6417
  331. package/md_cg/whitebox_kb/wisdom/docs/WB-EVAL-20260902b.json +1950 -1950
  332. package/md_cg/whitebox_kb/wisdom/docs/WB-EVAL-20260902c.json +1296 -1296
  333. package/md_cg/whitebox_kb/wisdom/docs/whitebox_capability_graph_demo.json +59 -59
  334. package/md_cg/whitebox_kb/wisdom/graph_db_units.py +3089 -3089
  335. package/md_cg/whitebox_kb/wisdom/knowledge_points.py +318 -318
  336. package/md_cg/whitebox_kb/wisdom/md_access.py +470 -470
  337. package/md_cg/whitebox_kb/wisdom/md_store.py +276 -251
  338. package/md_cg/whitebox_kb/wisdom/migrate_wisdom.py +476 -476
  339. package/md_cg/whitebox_kb/wisdom/navigate.py +248 -248
  340. package/md_cg/whitebox_kb/wisdom/neural_retrieve.py +224 -224
  341. package/md_cg/whitebox_kb/wisdom/os_units.py +2735 -2735
  342. package/md_cg/whitebox_kb/wisdom/pattern_separation.py +376 -376
  343. package/md_cg/whitebox_kb/wisdom/prereq_map.json +364 -364
  344. package/md_cg/whitebox_kb/wisdom/python_code_units.py +2766 -2766
  345. package/md_cg/whitebox_kb/wisdom/role_solidified.json +7 -7
  346. package/md_cg/whitebox_kb/wisdom/route_memory.py +244 -244
  347. package/md_cg/whitebox_kb/wisdom/scene_reconstruction.py +148 -148
  348. package/md_cg/whitebox_kb/wisdom/snr_report.json +40 -40
  349. package/md_cg/whitebox_kb/wisdom/test_code_compose_domains.py +7541 -7541
  350. package/md_cg/whitebox_kb/wisdom/test_compiler_self_bootstrap.py +354 -354
  351. package/md_cg/whitebox_kb/wisdom/test_ecosystem_assembly.py +158 -158
  352. package/md_cg/whitebox_kb/wisdom/test_ecosystem_demos.py +193 -193
  353. package/md_cg/whitebox_kb/wisdom/test_graph_db.py +292 -292
  354. package/md_cg/whitebox_kb/wisdom/test_python_self_bootstrap.py +160 -160
  355. package/md_cg/whitebox_kb/wisdom/trigger_words_index.json +4366 -4366
  356. package/md_cg/whitebox_kb/wisdom/verifier.py +1297 -1297
  357. package/md_cg/writelimit.py +356 -356
  358. package/md_cg/writepipe.py +550 -542
  359. package/package.json +97 -96
  360. package/skills/plugin.json +54 -54
  361. package/skills/skills/designer-perspective/SKILL.md +158 -158
  362. package/skills/skills/designer-perspective/references/01-observation-position.md +66 -66
  363. package/skills/skills/designer-perspective/references/02-structure-recognition.md +62 -62
  364. package/skills/skills/designer-perspective/references/03-direction-judgment.md +55 -55
  365. package/skills/skills/designer-perspective/references/04-qualification-verdict.md +72 -72
  366. package/skills/skills/designer-perspective/references/05-condition-attribution.md +74 -74
  367. package/skills/skills/designer-perspective/scripts/designer.py +545 -545
  368. package/skills/skills/designer-perspective/tests/cases.jsonl +17 -17
  369. package/skills/skills/designer-perspective/tests/selftest.py +61 -61
  370. package/skills/skills/lingshu-browser/SKILL.md +60 -60
  371. package/skills/skills/lingshu-compiler/SKILL.md +56 -56
  372. package/skills/skills/lingshu-compiler/units/analyze-type-infer/SKILL.md +45 -45
  373. package/skills/skills/lingshu-compiler/units/check-name-real/SKILL.md +45 -45
  374. package/skills/skills/lingshu-compiler/units/compile-assign/SKILL.md +45 -45
  375. package/skills/skills/lingshu-compiler/units/compile-expr-tree/SKILL.md +45 -45
  376. package/skills/skills/lingshu-compiler/units/compile-full-pipeline/SKILL.md +45 -45
  377. package/skills/skills/lingshu-compiler/units/compile-func-def/SKILL.md +45 -45
  378. package/skills/skills/lingshu-compiler/units/compile-if-then/SKILL.md +45 -45
  379. package/skills/skills/lingshu-compiler/units/compile-logic-expr/SKILL.md +45 -45
  380. package/skills/skills/lingshu-compiler/units/compile-recursive/SKILL.md +45 -45
  381. package/skills/skills/lingshu-compiler/units/compile-scope/SKILL.md +45 -45
  382. package/skills/skills/lingshu-compiler/units/compile-type-check/SKILL.md +45 -45
  383. package/skills/skills/lingshu-compiler/units/compile-while/SKILL.md +45 -45
  384. package/skills/skills/lingshu-compiler/units/compiler-0010c4bf/SKILL.md +45 -45
  385. package/skills/skills/lingshu-compiler/units/compiler-0355bffb/SKILL.md +45 -45
  386. package/skills/skills/lingshu-compiler/units/compiler-0361708a/SKILL.md +45 -45
  387. package/skills/skills/lingshu-compiler/units/compiler-054a0414/SKILL.md +45 -45
  388. package/skills/skills/lingshu-compiler/units/compiler-05a1691a/SKILL.md +45 -45
  389. package/skills/skills/lingshu-compiler/units/compiler-05eeed1e/SKILL.md +45 -45
  390. package/skills/skills/lingshu-compiler/units/compiler-0622a1f6/SKILL.md +45 -45
  391. package/skills/skills/lingshu-compiler/units/compiler-08b54217/SKILL.md +45 -45
  392. package/skills/skills/lingshu-compiler/units/compiler-0a62b70c/SKILL.md +45 -45
  393. package/skills/skills/lingshu-compiler/units/compiler-0ab24d00/SKILL.md +45 -45
  394. package/skills/skills/lingshu-compiler/units/compiler-0e093688/SKILL.md +45 -45
  395. package/skills/skills/lingshu-compiler/units/compiler-0e82b966/SKILL.md +45 -45
  396. package/skills/skills/lingshu-compiler/units/compiler-0ee9b9b9/SKILL.md +45 -45
  397. package/skills/skills/lingshu-compiler/units/compiler-0f3787e6/SKILL.md +45 -45
  398. package/skills/skills/lingshu-compiler/units/compiler-1028685f/SKILL.md +45 -45
  399. package/skills/skills/lingshu-compiler/units/compiler-11897630/SKILL.md +45 -45
  400. package/skills/skills/lingshu-compiler/units/compiler-16661b9b/SKILL.md +45 -45
  401. package/skills/skills/lingshu-compiler/units/compiler-1f722303/SKILL.md +45 -45
  402. package/skills/skills/lingshu-compiler/units/compiler-25be1262/SKILL.md +45 -45
  403. package/skills/skills/lingshu-compiler/units/compiler-2a76ba07/SKILL.md +45 -45
  404. package/skills/skills/lingshu-compiler/units/compiler-2dbea54a/SKILL.md +45 -45
  405. package/skills/skills/lingshu-compiler/units/compiler-2df52f16/SKILL.md +45 -45
  406. package/skills/skills/lingshu-compiler/units/compiler-2ec2c9d2/SKILL.md +45 -45
  407. package/skills/skills/lingshu-compiler/units/compiler-2f8c8f39/SKILL.md +45 -45
  408. package/skills/skills/lingshu-compiler/units/compiler-38378ac7/SKILL.md +45 -45
  409. package/skills/skills/lingshu-compiler/units/compiler-39457d2e/SKILL.md +45 -45
  410. package/skills/skills/lingshu-compiler/units/compiler-39fb5926/SKILL.md +45 -45
  411. package/skills/skills/lingshu-compiler/units/compiler-47f4fbfa/SKILL.md +45 -45
  412. package/skills/skills/lingshu-compiler/units/compiler-4a8cd1f1/SKILL.md +45 -45
  413. package/skills/skills/lingshu-compiler/units/compiler-4b230b6b/SKILL.md +45 -45
  414. package/skills/skills/lingshu-compiler/units/compiler-4cbbda95/SKILL.md +45 -45
  415. package/skills/skills/lingshu-compiler/units/compiler-4d5a68ff/SKILL.md +45 -45
  416. package/skills/skills/lingshu-compiler/units/compiler-56dc9bdd/SKILL.md +45 -45
  417. package/skills/skills/lingshu-compiler/units/compiler-57e76ebe/SKILL.md +45 -45
  418. package/skills/skills/lingshu-compiler/units/compiler-61ff016b/SKILL.md +45 -45
  419. package/skills/skills/lingshu-compiler/units/compiler-63eae588/SKILL.md +45 -45
  420. package/skills/skills/lingshu-compiler/units/compiler-64c4224b/SKILL.md +45 -45
  421. package/skills/skills/lingshu-compiler/units/compiler-66377955/SKILL.md +45 -45
  422. package/skills/skills/lingshu-compiler/units/compiler-674ab4f6/SKILL.md +45 -45
  423. package/skills/skills/lingshu-compiler/units/compiler-6af76fd6/SKILL.md +45 -45
  424. package/skills/skills/lingshu-compiler/units/compiler-6d979db2/SKILL.md +45 -45
  425. package/skills/skills/lingshu-compiler/units/compiler-6de326c0/SKILL.md +45 -45
  426. package/skills/skills/lingshu-compiler/units/compiler-6f1c0eea/SKILL.md +45 -45
  427. package/skills/skills/lingshu-compiler/units/compiler-724d6c9b/SKILL.md +45 -45
  428. package/skills/skills/lingshu-compiler/units/compiler-7690177f/SKILL.md +45 -45
  429. package/skills/skills/lingshu-compiler/units/compiler-7b229a7d/SKILL.md +45 -45
  430. package/skills/skills/lingshu-compiler/units/compiler-7f471b3a/SKILL.md +45 -45
  431. package/skills/skills/lingshu-compiler/units/compiler-815cad08/SKILL.md +45 -45
  432. package/skills/skills/lingshu-compiler/units/compiler-83c61634/SKILL.md +45 -45
  433. package/skills/skills/lingshu-compiler/units/compiler-8c798c81/SKILL.md +45 -45
  434. package/skills/skills/lingshu-compiler/units/compiler-8dd747ac/SKILL.md +45 -45
  435. package/skills/skills/lingshu-compiler/units/compiler-90324d0a/SKILL.md +45 -45
  436. package/skills/skills/lingshu-compiler/units/compiler-94b8d72d/SKILL.md +45 -45
  437. package/skills/skills/lingshu-compiler/units/compiler-94f12231/SKILL.md +45 -45
  438. package/skills/skills/lingshu-compiler/units/compiler-95937c16/SKILL.md +45 -45
  439. package/skills/skills/lingshu-compiler/units/compiler-98a5625b/SKILL.md +45 -45
  440. package/skills/skills/lingshu-compiler/units/compiler-98b4c42f/SKILL.md +45 -45
  441. package/skills/skills/lingshu-compiler/units/compiler-98e3894a/SKILL.md +45 -45
  442. package/skills/skills/lingshu-compiler/units/compiler-9bdfe4b8/SKILL.md +45 -45
  443. package/skills/skills/lingshu-compiler/units/compiler-9d9b4e83/SKILL.md +45 -45
  444. package/skills/skills/lingshu-compiler/units/compiler-9f7be5ad/SKILL.md +45 -45
  445. package/skills/skills/lingshu-compiler/units/compiler-a6daf076/SKILL.md +45 -45
  446. package/skills/skills/lingshu-compiler/units/compiler-a7995a0c/SKILL.md +45 -45
  447. package/skills/skills/lingshu-compiler/units/compiler-a8399248/SKILL.md +45 -45
  448. package/skills/skills/lingshu-compiler/units/compiler-aabbd099/SKILL.md +45 -45
  449. package/skills/skills/lingshu-compiler/units/compiler-afe169d8/SKILL.md +45 -45
  450. package/skills/skills/lingshu-compiler/units/compiler-b0678bda/SKILL.md +45 -45
  451. package/skills/skills/lingshu-compiler/units/compiler-b09bd196/SKILL.md +45 -45
  452. package/skills/skills/lingshu-compiler/units/compiler-b1396e23/SKILL.md +45 -45
  453. package/skills/skills/lingshu-compiler/units/compiler-b9b31ce0/SKILL.md +45 -45
  454. package/skills/skills/lingshu-compiler/units/compiler-c10264a7/SKILL.md +45 -45
  455. package/skills/skills/lingshu-compiler/units/compiler-cb1e8e4b/SKILL.md +45 -45
  456. package/skills/skills/lingshu-compiler/units/compiler-ccafd438/SKILL.md +45 -45
  457. package/skills/skills/lingshu-compiler/units/compiler-cda9c262/SKILL.md +45 -45
  458. package/skills/skills/lingshu-compiler/units/compiler-ce648068/SKILL.md +45 -45
  459. package/skills/skills/lingshu-compiler/units/compiler-cf5776a4/SKILL.md +45 -45
  460. package/skills/skills/lingshu-compiler/units/compiler-d974e5d3/SKILL.md +45 -45
  461. package/skills/skills/lingshu-compiler/units/compiler-e3979fd3/SKILL.md +45 -45
  462. package/skills/skills/lingshu-compiler/units/compiler-eb1cf2b5/SKILL.md +45 -45
  463. package/skills/skills/lingshu-compiler/units/compiler-ecb30d5b/SKILL.md +45 -45
  464. package/skills/skills/lingshu-compiler/units/compiler-f8c8b24b/SKILL.md +45 -45
  465. package/skills/skills/lingshu-compiler/units/compiler-f99fedbe/SKILL.md +45 -45
  466. package/skills/skills/lingshu-compiler/units/compiler-fa8ff5f7/SKILL.md +45 -45
  467. package/skills/skills/lingshu-compiler/units/compiler-fe1b058d/SKILL.md +45 -45
  468. package/skills/skills/lingshu-compiler/units/lex-chinese-program/SKILL.md +45 -45
  469. package/skills/skills/lingshu-compiler/units/lex-dao-de-jing/SKILL.md +45 -45
  470. package/skills/skills/lingshu-compiler/units/lex-nine-chapters/SKILL.md +45 -45
  471. package/skills/skills/lingshu-compiler/units/vm-arithmetic/SKILL.md +45 -45
  472. package/skills/skills/lingshu-compiler/units/vm-array-ops/SKILL.md +45 -45
  473. package/skills/skills/lingshu-compiler/units/vm-closure-call/SKILL.md +45 -45
  474. package/skills/skills/lingshu-compiler/units/vm-closure-create/SKILL.md +45 -45
  475. package/skills/skills/lingshu-compiler/units/vm-compare/SKILL.md +45 -45
  476. package/skills/skills/lingshu-compiler/units/vm-cond-jump/SKILL.md +45 -45
  477. package/skills/skills/lingshu-compiler/units/vm-cond-space/SKILL.md +45 -45
  478. package/skills/skills/lingshu-compiler/units/vm-exception/SKILL.md +45 -45
  479. package/skills/skills/lingshu-compiler/units/vm-func-call/SKILL.md +45 -45
  480. package/skills/skills/lingshu-compiler/units/vm-loop-run/SKILL.md +45 -45
  481. package/skills/skills/lingshu-compiler/units/vm-profiling/SKILL.md +45 -45
  482. package/skills/skills/lingshu-compiler/units/vm-refcount/SKILL.md +45 -45
  483. package/skills/skills/lingshu-compiler/units/vm-run-loop/SKILL.md +45 -45
  484. package/skills/skills/lingshu-compiler/units/vm-short-circuit/SKILL.md +45 -45
  485. package/skills/skills/lingshu-compiler/units/vm-stack-guard/SKILL.md +45 -45
  486. package/skills/skills/lingshu-compiler/units/vm-stack-ops/SKILL.md +45 -45
  487. package/skills/skills/lingshu-compiler/units/vm-trust-accum/SKILL.md +45 -45
  488. package/skills/skills/lingshu-graph/SKILL.md +63 -63
  489. package/skills/skills/lingshu-net/SKILL.md +48 -48
  490. package/skills/skills/lingshu-os/SKILL.md +64 -64
  491. package/skills/skills/lingshu-pylang/SKILL.md +71 -71
  492. package/src/bridge.ts +401 -401
  493. package/src/hooks.ts +38 -2
  494. package/src/lib/datapath.ts +326 -326
  495. package/src/lib/mdcg_client.ts +413 -413
  496. package/src/lib/mutual.ts +428 -428
  497. package/src/lib/prompt_safety.ts +62 -62
  498. package/src/lib/python_path.ts +71 -71
  499. package/src/lib/roleplay_web.ts +932 -932
  500. package/src/lib/token_store.ts +192 -192
  501. package/src/tools.ts +212 -212
  502. package/zcode/AGENTS.md +11 -3
  503. package/zcode/README.md +41 -41
  504. /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
@@ -1,340 +1,340 @@
1
- # 认知图 · 条件空间合成与生效条件口径 v0.1
2
-
3
- > 来源:一次口径修正——**观测位置 ≠ 生效条件**。生效条件是**条件空间声明的合成**,不是从坐标里抽出的一维。
4
- > 理论锚点:《智能的公理化基石》「任何有效知识都必须能够说明自己处在哪个条件空间中」;条件空间 C=(C_position, C_tool, C_time, C_existence)。
5
- > 目标工程:**dsh-memory / md_cg(认知图 + 记忆 OS)**
6
- > 证据口径:源码级核对(`nodefile.py` / `backfill.py` / `chain.py` / `mdcg.py`)+ 真实库复算(`AEIS/data/mdcg`)
7
- > 时间:2026-09-10 | 真实库批次:`cond_fix_v01`、`cond_full_v01` | 演化条目:`evo-20260910-152148-2b35`
8
-
9
- ---
10
-
11
- ## 判定单
12
-
13
- ```
14
- 条件空间:观测位置=全局(设计者)、操作层在 md_cg 写盘路径之外
15
- | 观测工具=源码逐行核对 + 真实库 _backfill.jsonl 留痕复算 + test_p32/p33/p37
16
- | 时间窗口=2026-09-10 本次迭代
17
- | 存在约束=零新依赖(纯标准库) / md 单一真相源 / 不发明条件(只搬运已声明证据) / 缺生效条件宁缺勿造
18
- 白箱三问:依据=每条给文件行级证据 + 真实库计数(§三)
19
- | 条件=改动前已预演(plan 只读),改动后可复算(verify_conditions),回滚按「当前值==写入值」生效
20
- | 错后=若允许单槽冒充,则「观测位置:X」会被当成生效条件被召回路由当真,
21
- 而它并不说明「在什么时间、用什么方法、受什么约束」→ 召回口径与判定口径分叉,静默失真
22
- 裁决:ACCEPT(口径修正 + 全库接线) / DEFER(145 条不可补节点:可检索、待补条件)
23
- / BLINDSPOT(1 条非豁免且要素不全:mem_1788996960604)
24
- 依据:条件证据见 §二/§三,非相似度
25
- 缺失维度:生效条件的「条件空间声明」——载体/位置·时间·方法·约束四维,此前只落了 position 一维
26
- 验证路径:口径唯一化(§二) → 必填落地(§三) → 存量清洗 + 全库接线(§四) → 待补台账与 BLINDSPOT 分流(§五)
27
- 关注信号:单槽回退已删(残留调用点清零);`# 生效条件:观测位置:` 前缀在真实库计数为 0
28
- ```
29
-
30
- ---
31
-
32
- ## 一、命题
33
-
34
- **观测位置只是条件空间的一个坐标轴,不能冒充生效条件。**
35
-
36
- 一条知识的生效条件,严格说是它「处于哪个条件空间」的完整声明:
37
-
38
- | 维度 | 槽位 | 含义 |
39
- |---|---|---|
40
- | 载体/位置 | `observation_position` | 谁在观察、在哪个尺度/视角(理论对齐《智能的公理化基石》第 121-123 行) |
41
- | 时间 | `time_window` | 该结论成立的时间窗口 |
42
- | 方法 | `observation_tool` | 用什么工具/方法得出 |
43
- | 约束 | `existence_constraint` | 成立所依赖的存在性约束 |
44
-
45
- 结论不进生效条件——结论就是「功能名」本身。四条合起来才是「什么载体、在什么时间、用什么方法、在什么位置、受什么约束」。
46
-
47
- **修正前**:`backfill.derive_fields` 取 `condition_space.observation_position` 单槽,前缀「观测位置:」,冒充 `# 生效条件`。真实库因此落了 **109 条**弱等价行(留痕 `basis=frontmatter.condition_space.observation_position`)。
48
-
49
- ---
50
-
51
- ## 二、规范:唯一来源与渲染格式
52
-
53
- ### 2.1 唯一合成入口
54
-
55
- 所有 `condition_space` → 文本的渲染,**必须**经 `md_cg/nodefile.py:condition_space_text(cs, require_full=True)`,不得存在第二套拼法。
56
-
57
- ```python
58
- CONDITION_SLOTS = (
59
- ("observation_position", "载体/位置"),
60
- ("time_window", "时间"),
61
- ("observation_tool", "方法"),
62
- ("existence_constraint", "约束"),
63
- )
64
- ```
65
-
66
- | 消费者 | 用法 |
67
- |---|---|
68
- | `backfill.derive_fields` | 生效条件的合法来源链:`comment.生效条件` → `condition_space_text(cs)` → `""`(不再有单槽回退) |
69
- | `chain.conditions_text` | 边/节点条件可读化,懒导入复用同一 formatter |
70
- | `mdcos._slot_overlap` | 召回打分**不动**(本就四槽计权,position 权重 2.0),仅共用槽名常量 |
71
-
72
- ### 2.2 渲染规则
73
-
74
- - 格式固定:`载体/位置:…;时间:…;方法:…;约束:…`,缺哪维不写哪维。
75
- - 判定阈值:双主槽 `observation_position` + `observation_tool` 必在;四槽全缺 → 不写、登记待补。
76
- - 多值槽用「、」连接,不裸数组入正文(避免词面召回误命中)。
77
- - **全时窗是合法声明**:`time_window=[0.0, 9999999999.0]` 渲染为「全时窗(任意时刻成立)」,不是空占位。
78
- - 可读化时间:具体窗口渲染为 `YYYY-MM-DD HH:MM~YYYY-MM-DD HH:MM(UTC)`。
79
- - 占位护栏:槽值命中 `is_placeholder_text`(`骨架锚点`/`内容待填充` 等)不渲染为事实,仅登记 `placeholder_fields`。
80
-
81
- 真实库样例(`kp_archaeo_1787279493983`):
82
-
83
- ```
84
- # 生效条件:载体/位置:知识考古补全;时间:2026-08-21 02:31~2027-08-21 02:31(UTC);方法:前沿既有知识(审核后);约束:数学/信息论/动力学/信号处理标准定义
85
- ```
86
-
87
- ---
88
-
89
- ## 三、必填落地与四态
90
-
91
- - `nodefile.CCG_REQUIRED = CCG_MARKS`(6 行缺一不可),废止「生效条件可隐含」的旧 docstring 与旧 `complete/ratio` 口径。
92
- - `ccg_completeness` 的 `complete` 与 `all_present` 同源。
93
- - `judge_qualification` 第一步读 `ccg_completeness`:
94
- - `ccg_exempt`(迁移期 legacy)→ **DEFER**:可检索,但显式建议补条件(不得静默 ACCEPT);
95
- - 非豁免且要素不全 → **BLINDSPOT**;
96
- - 齐全 + 命中负条件 → REJECT;齐全 + 有 `verification_basis` + 无负命中 → ACCEPT。
97
-
98
- > 口径收紧会让迁移期 ACCEPT 数量下降,属**预期**,不按回归处理。
99
-
100
- ### 3.1 复算留证(2026-09-10,真实库)
101
-
102
- | 项 | 值 |
103
- |---|---|
104
- | 知识层节点 | 4517(全库 4526,含 anchor/self 9) |
105
- | 已声明生效条件 | 4369(96.7%):comment 来源 2853 + 四槽合成 1516 |
106
- | 无生效条件 | 148 = 145 待补(全 `ccg_exempt`)+ 3 派生跳过(SKIP_TAGS) |
107
- | `# 生效条件:观测位置:` 残留 | **0** |
108
- | 四态分布 | ACCEPT 29 | DEFER 4487 | BLINDSPOT 1 |
109
-
110
- ---
111
-
112
- ## 四、存量清洗与全库接线
113
-
114
- ### 4.1 弱等价行清洗(批次 `cond_fix_v01`)
115
-
116
- - `fix_conditions_plan`:legacy=109,全部 `rewrite`,drop=0,conflict=0。
117
- - `fix_conditions_apply`:**rewritten=109 / dropped=0**。
118
- - 复算:`verify_conditions` → `legacy_position=0`、`from_synthesis=109+`。
119
- - 幂等:再预演 `rewrite=0 / drop=0`(无候选;`conflict` 仅表示「当前值已不等于当年写入值」,fail-closed 不覆盖人工修改)。
120
- - 回滚:`fix_conditions_rollback(batch="cond_fix_v01")` 按「当前值 == 写入值才撤销」。
121
-
122
- ### 4.2 全库接线(批次 `cond_full_v01`)
123
-
124
- - `plan(include_partial=True)`:planned=1953,字段分布 `生效条件 1808 / 功能名 741 / 不适用条件 402 / 验证方式 1`。
125
- - `apply`:**written=1953 / skipped_drift=0 / skipped_locked=0**。
126
- - 复算后再预演 `targeted=0 / targeted_missing_conditions=0` → 幂等。
127
-
128
- ### 4.3 不变量(边界不动)
129
-
130
- - 只经 `derive_fields` → `plan` → `apply` → 留痕 → `rollback`,禁止直接改盘。
131
- - 留痕 `basis` 记 `frontmatter.condition_space(四槽合成)`;回滚仍按「当前值 == 写入值才撤销」。
132
- - 跳过边界不变:`crypto.is_encrypted`;`SKIP_LAYERS=("rejected","unresolved","goals")`;`SKIP_TAGS=("gap_hint","scene","reconstructed","concept","insight")`;`INTERNAL_LAYERS=("anchor","self")`。
133
- - 异常只记节点 id 与字段名,不 dump 正文(正文可能含私有/密文内容)。
134
-
135
- ---
136
-
137
- ## 五、待补台账与 BLINDSPOT 分流
138
-
139
- `backfill.conditions_pending(cg)` 输出可复算台账,**145 条**(全部 `ccg_exempt=True`,经 `judge_qualification` 落 **DEFER** 而非 BLINDSPOT):
140
-
141
- | 缺失维度 | 条数 | 前缀 |
142
- |---|---|---|
143
- | 缺约束 | 7 | `node_meta_*` |
144
- | 缺载体/位置+方法+约束 | 138 | `note_*` 135 + `milestone_*` 2 + `retest6_*` 1 |
145
-
146
- 唯一非豁免 BLINDSPOT:`mem_1788996960604`(缺 `功能名/子功能/执行`,`exempt=False`)。
147
-
148
- > 结论:本次修正后,**没有**非豁免节点处于「缺生效条件」状态;「不可补 → BLINDSPOT」这条分支由一般 CCG 要素不全承接,且被 P37 断言锁定。
149
-
150
- ### 5.1 快照清单(可复算:`backfill.conditions_pending(cg)["items"]`)
151
-
152
- ```
153
- 缺约束 | node_meta_427035320_1787018623216
154
- 缺约束 | node_meta_6124532177_1787018623216
155
- 缺约束 | node_meta_2972442990_1787018623216
156
- 缺约束 | node_meta_4312849892_1787018623216
157
- 缺约束 | node_meta_8788264161_1787018650592
158
- 缺约束 | node_meta_4895666695_1787018623215
159
- 缺约束 | node_meta_9469066954_1787018623216
160
- 缺载体/位置+方法+约束 | milestone_1000q_1788667047
161
- 缺载体/位置+方法+约束 | milestone_300b_1788687292
162
- 缺载体/位置+方法+约束 | note_242_1788650890
163
- 缺载体/位置+方法+约束 | note_243b244_1788651824_0
164
- 缺载体/位置+方法+约束 | note_243b244_1788651824_1
165
- 缺载体/位置+方法+约束 | note_245_1788651936
166
- 缺载体/位置+方法+约束 | note_246_1788652553
167
- 缺载体/位置+方法+约束 | note_247_1788653158
168
- 缺载体/位置+方法+约束 | note_248_1788653793
169
- 缺载体/位置+方法+约束 | note_249_1788654463
170
- 缺载体/位置+方法+约束 | note_250_1788654983
171
- 缺载体/位置+方法+约束 | note_251_1788655524
172
- 缺载体/位置+方法+约束 | note_252_1788656241
173
- 缺载体/位置+方法+约束 | note_253_1788656733
174
- 缺载体/位置+方法+约束 | note_254_1788657418
175
- 缺载体/位置+方法+约束 | note_255_1788657972
176
- 缺载体/位置+方法+约束 | note_256_1788658671
177
- 缺载体/位置+方法+约束 | note_257_1788659225
178
- 缺载体/位置+方法+约束 | note_258_1788659788
179
- 缺载体/位置+方法+约束 | note_259_1788662539
180
- 缺载体/位置+方法+约束 | note_261_1788663462
181
- 缺载体/位置+方法+约束 | note_262_1788664004
182
- 缺载体/位置+方法+约束 | note_263_1788664558
183
- 缺载体/位置+方法+约束 | note_264_1788665172
184
- 缺载体/位置+方法+约束 | note_265_1788665777
185
- 缺载体/位置+方法+约束 | note_266_1788666403
186
- 缺载体/位置+方法+约束 | note_268_1788668289
187
- 缺载体/位置+方法+约束 | note_269_1788668783
188
- 缺载体/位置+方法+约束 | note_270_1788669504
189
- 缺载体/位置+方法+约束 | note_271_1788669976
190
- 缺载体/位置+方法+约束 | note_272_1788670645
191
- 缺载体/位置+方法+约束 | note_273_1788671231
192
- 缺载体/位置+方法+约束 | note_274_1788671843
193
- 缺载体/位置+方法+约束 | note_275_1788672395
194
- 缺载体/位置+方法+约束 | note_276_1788673029
195
- 缺载体/位置+方法+约束 | note_277_1788673556
196
- 缺载体/位置+方法+约束 | note_278_1788674203
197
- 缺载体/位置+方法+约束 | note_279_1788674771
198
- 缺载体/位置+方法+约束 | note_280_1788675480
199
- 缺载体/位置+方法+约束 | note_281_1788675973
200
- 缺载体/位置+方法+约束 | note_282_1788676739
201
- 缺载体/位置+方法+约束 | note_283_1788677263
202
- 缺载体/位置+方法+约束 | note_284_1788677944
203
- 缺载体/位置+方法+约束 | note_285_1788678475
204
- 缺载体/位置+方法+约束 | note_286_1788679116
205
- 缺载体/位置+方法+约束 | note_287_1788679690
206
- 缺载体/位置+方法+约束 | note_288_1788680358
207
- 缺载体/位置+方法+约束 | note_289_1788680897
208
- 缺载体/位置+方法+约束 | note_290_1788682016
209
- 缺载体/位置+方法+约束 | note_291_1788682679
210
- 缺载体/位置+方法+约束 | note_292_1788683214
211
- 缺载体/位置+方法+约束 | note_293_1788683748
212
- 缺载体/位置+方法+约束 | note_294_1788684312
213
- 缺载体/位置+方法+约束 | note_295_1788684888
214
- 缺载体/位置+方法+约束 | note_296_1788685272
215
- 缺载体/位置+方法+约束 | note_297_1788685668
216
- 缺载体/位置+方法+约束 | note_298_1788686231
217
- 缺载体/位置+方法+约束 | note_299_1788686797
218
- 缺载体/位置+方法+约束 | note_301_1788688001
219
- 缺载体/位置+方法+约束 | note_302_1788688695
220
- 缺载体/位置+方法+约束 | note_303_1788689248
221
- 缺载体/位置+方法+约束 | note_304_1788689856
222
- 缺载体/位置+方法+约束 | note_305_1788690432
223
- 缺载体/位置+方法+约束 | note_306_1788691075
224
- 缺载体/位置+方法+约束 | note_307_1788691683
225
- 缺载体/位置+方法+约束 | note_308b_1788693216
226
- 缺载体/位置+方法+约束 | note_309_1788693461
227
- 缺载体/位置+方法+约束 | note_310_1788693917
228
- 缺载体/位置+方法+约束 | note_311_1788694207
229
- 缺载体/位置+方法+约束 | note_312_1788694748
230
- 缺载体/位置+方法+约束 | note_313_1788695243
231
- 缺载体/位置+方法+约束 | note_314_1788695840
232
- 缺载体/位置+方法+约束 | note_315_1788696584
233
- 缺载体/位置+方法+约束 | note_316_1788697078
234
- 缺载体/位置+方法+约束 | note_317_1788697648
235
- 缺载体/位置+方法+约束 | note_318_1788698243
236
- 缺载体/位置+方法+约束 | note_319_1788698847
237
- 缺载体/位置+方法+约束 | note_320_1788699447
238
- 缺载体/位置+方法+约束 | note_321_1788700052
239
- 缺载体/位置+方法+约束 | note_322_1788700675
240
- 缺载体/位置+方法+约束 | note_323_1788701223
241
- 缺载体/位置+方法+约束 | note_324_1788701861
242
- 缺载体/位置+方法+约束 | note_325_1788702486
243
- 缺载体/位置+方法+约束 | note_326_1788703038
244
- 缺载体/位置+方法+约束 | note_327_1788703665
245
- 缺载体/位置+方法+约束 | note_328_1788704308
246
- 缺载体/位置+方法+约束 | note_329_1788704937
247
- 缺载体/位置+方法+约束 | note_330_1788705440
248
- 缺载体/位置+方法+约束 | note_331_1788706060
249
- 缺载体/位置+方法+约束 | note_332_1788706667
250
- 缺载体/位置+方法+约束 | note_333_1788707213
251
- 缺载体/位置+方法+约束 | note_334_1788707908
252
- 缺载体/位置+方法+约束 | note_335_1788708416
253
- 缺载体/位置+方法+约束 | note_336_1788709245
254
- 缺载体/位置+方法+约束 | note_337_1788709641
255
- 缺载体/位置+方法+约束 | note_338_1788710337
256
- 缺载体/位置+方法+约束 | note_339_1788710836
257
- 缺载体/位置+方法+约束 | note_340_1788711451
258
- 缺载体/位置+方法+约束 | note_341_1788712042
259
- 缺载体/位置+方法+约束 | note_342_1788712759
260
- 缺载体/位置+方法+约束 | note_343_1788713306
261
- 缺载体/位置+方法+约束 | note_344_1788713873
262
- 缺载体/位置+方法+约束 | note_345_1788714432
263
- 缺载体/位置+方法+约束 | note_346b_1788715491
264
- 缺载体/位置+方法+约束 | note_347_1788715743
265
- 缺载体/位置+方法+约束 | note_348_1788716255
266
- 缺载体/位置+方法+约束 | note_349_1788716868
267
- 缺载体/位置+方法+约束 | note_350_1788717451
268
- 缺载体/位置+方法+约束 | note_351_1788718216
269
- 缺载体/位置+方法+约束 | note_352_1788718768
270
- 缺载体/位置+方法+约束 | note_353_1788719232
271
- 缺载体/位置+方法+约束 | note_354_1788719901
272
- 缺载体/位置+方法+约束 | note_355_1788720455
273
- 缺载体/位置+方法+约束 | note_356_1788721050
274
- 缺载体/位置+方法+约束 | note_357_1788721848
275
- 缺载体/位置+方法+约束 | note_358_1788722310
276
- 缺载体/位置+方法+约束 | note_359_1788723010
277
- 缺载体/位置+方法+约束 | note_360_1788723604
278
- 缺载体/位置+方法+约束 | note_361_1788724063
279
- 缺载体/位置+方法+约束 | note_362_1788724717
280
- 缺载体/位置+方法+约束 | note_363_1788725266
281
- 缺载体/位置+方法+约束 | note_364_1788725982
282
- 缺载体/位置+方法+约束 | note_365_1788726542
283
- 缺载体/位置+方法+约束 | note_366_1788727239
284
- 缺载体/位置+方法+约束 | note_367_1788727715
285
- 缺载体/位置+方法+约束 | note_368_1788728317
286
- 缺载体/位置+方法+约束 | note_369_1788728903
287
- 缺载体/位置+方法+约束 | note_370_1788729501
288
- 缺载体/位置+方法+约束 | note_371_1788730207
289
- 缺载体/位置+方法+约束 | note_372_1788730673
290
- 缺载体/位置+方法+约束 | note_373_1788731445
291
- 缺载体/位置+方法+约束 | note_374_1788731952
292
- 缺载体/位置+方法+约束 | note_375_1788732546
293
- 缺载体/位置+方法+约束 | note_376_1788733161
294
- 缺载体/位置+方法+约束 | note_377_1788733671
295
- 缺载体/位置+方法+约束 | note_378_1788734313
296
- 缺载体/位置+方法+约束 | note_379_1788734871
297
- 缺载体/位置+方法+约束 | retest6_1788667612
298
- ```
299
-
300
- ---
301
-
302
- ## 六、纪律条目(可复用,来自本轮蒸馏)
303
-
304
- 1. **禁止单槽冒充**:不得把 `condition_space` 的任一单槽(尤其 `observation_position`)直接当生效条件;生效条件必须是四槽合成的声明。
305
- 2. **条件空间优先于文本**:能由四槽合成时,以合成为准;`comment.生效条件` 是人类显式声明,优先于合成,但两者若冲突须登记 `conflict`,不得静默择一。
306
- 3. **缺则待补,不发明**:补不全就登记待补,并在判定上落 DEFER/BLINDSPOT;不得用默认值或猜测把缺项「填满」。
307
- 4. **留痕驱动清洗**:存量修正只认 `_backfill.jsonl` 的 `basis`,且只改「当前值仍等于当年写入值」的节点,防覆盖人工修改。
308
- 5. **口径单一**:条件空间→文本只有一个入口;召回打分与文本渲染共用槽名常量,不得各写一套。
309
-
310
- ---
311
-
312
- ## 七、复算与回滚
313
-
314
- ```bash
315
- # 只读预演:清洗计划 + 待补台账(不写盘)
316
- python -X utf8 -c "from md_cg.mdcos import MdCGOS; from md_cg import backfill; \
317
- cg=MdCGOS(r'AEIS/data/mdcg'); \
318
- print(backfill.fix_conditions_plan(cg)); print(backfill.conditions_pending(cg)['by_missing'])"
319
-
320
- # 复算:弱等价残留 / 合成来源 / 缺失清单
321
- python -X utf8 -c "from md_cg.mdcos import MdCGOS; from md_cg import backfill; \
322
- cg=MdCGOS(r'AEIS/data/mdcg'); print(backfill.verify_conditions(cg))"
323
-
324
- # 回滚(按批次,当前值一致才撤销)
325
- # fix_conditions_rollback(batch="cond_fix_v01") / rollback(batch="cond_full_v01")
326
- ```
327
-
328
- 单测:`python -X utf8 -m md_cg.test_p37_condition_space`(合成/必填/待补/清洗/回滚)、`test_p32_backfill`、`test_p33_ccg_wiring`;全量 `test_p*.py` 全绿。
329
-
330
- ---
331
-
332
- ## 八、代码落点
333
-
334
- | 文件 | 改动 |
335
- |---|---|
336
- | `md_cg/nodefile.py` | 新增 `CONDITION_SLOTS` / `condition_space_text` 等唯一合成入口;`CCG_REQUIRED=CCG_MARKS`;`ccg_completeness` 口径与 docstring 收紧 |
337
- | `md_cg/backfill.py` | 删除 `_pos_text` 单槽回退;新增 `conditions_pending` / `fix_conditions_*` / `verify_conditions`;`plan` 增 `targeted_missing_conditions` |
338
- | `md_cg/chain.py` | `conditions_text` 复用 `nodefile.condition_space_text` |
339
- | `md_cg/mdcg.py` | `judge_qualification` docstring 与 reason 文案对齐 6 要素必填 |
340
- | `test_p32_backfill.py` / `test_p33_ccg_wiring.py` / `test_p37_condition_space.py` | 断言:单槽不冒充、四槽合成、全时窗可读化、缺项 BLINDSPOT、幂等与回滚 |
1
+ # 认知图 · 条件空间合成与生效条件口径 v0.1
2
+
3
+ > 来源:一次口径修正——**观测位置 ≠ 生效条件**。生效条件是**条件空间声明的合成**,不是从坐标里抽出的一维。
4
+ > 理论锚点:《智能的公理化基石》「任何有效知识都必须能够说明自己处在哪个条件空间中」;条件空间 C=(C_position, C_tool, C_time, C_existence)。
5
+ > 目标工程:**dsh-memory / md_cg(认知图 + 记忆 OS)**
6
+ > 证据口径:源码级核对(`nodefile.py` / `backfill.py` / `chain.py` / `mdcg.py`)+ 真实库复算(`AEIS/data/mdcg`)
7
+ > 时间:2026-09-10 | 真实库批次:`cond_fix_v01`、`cond_full_v01` | 演化条目:`evo-20260910-152148-2b35`
8
+
9
+ ---
10
+
11
+ ## 判定单
12
+
13
+ ```
14
+ 条件空间:观测位置=全局(设计者)、操作层在 md_cg 写盘路径之外
15
+ | 观测工具=源码逐行核对 + 真实库 _backfill.jsonl 留痕复算 + test_p32/p33/p37
16
+ | 时间窗口=2026-09-10 本次迭代
17
+ | 存在约束=零新依赖(纯标准库) / md 单一真相源 / 不发明条件(只搬运已声明证据) / 缺生效条件宁缺勿造
18
+ 白箱三问:依据=每条给文件行级证据 + 真实库计数(§三)
19
+ | 条件=改动前已预演(plan 只读),改动后可复算(verify_conditions),回滚按「当前值==写入值」生效
20
+ | 错后=若允许单槽冒充,则「观测位置:X」会被当成生效条件被召回路由当真,
21
+ 而它并不说明「在什么时间、用什么方法、受什么约束」→ 召回口径与判定口径分叉,静默失真
22
+ 裁决:ACCEPT(口径修正 + 全库接线) / DEFER(145 条不可补节点:可检索、待补条件)
23
+ / BLINDSPOT(1 条非豁免且要素不全:mem_1788996960604)
24
+ 依据:条件证据见 §二/§三,非相似度
25
+ 缺失维度:生效条件的「条件空间声明」——载体/位置·时间·方法·约束四维,此前只落了 position 一维
26
+ 验证路径:口径唯一化(§二) → 必填落地(§三) → 存量清洗 + 全库接线(§四) → 待补台账与 BLINDSPOT 分流(§五)
27
+ 关注信号:单槽回退已删(残留调用点清零);`# 生效条件:观测位置:` 前缀在真实库计数为 0
28
+ ```
29
+
30
+ ---
31
+
32
+ ## 一、命题
33
+
34
+ **观测位置只是条件空间的一个坐标轴,不能冒充生效条件。**
35
+
36
+ 一条知识的生效条件,严格说是它「处于哪个条件空间」的完整声明:
37
+
38
+ | 维度 | 槽位 | 含义 |
39
+ |---|---|---|
40
+ | 载体/位置 | `observation_position` | 谁在观察、在哪个尺度/视角(理论对齐《智能的公理化基石》第 121-123 行) |
41
+ | 时间 | `time_window` | 该结论成立的时间窗口 |
42
+ | 方法 | `observation_tool` | 用什么工具/方法得出 |
43
+ | 约束 | `existence_constraint` | 成立所依赖的存在性约束 |
44
+
45
+ 结论不进生效条件——结论就是「功能名」本身。四条合起来才是「什么载体、在什么时间、用什么方法、在什么位置、受什么约束」。
46
+
47
+ **修正前**:`backfill.derive_fields` 取 `condition_space.observation_position` 单槽,前缀「观测位置:」,冒充 `# 生效条件`。真实库因此落了 **109 条**弱等价行(留痕 `basis=frontmatter.condition_space.observation_position`)。
48
+
49
+ ---
50
+
51
+ ## 二、规范:唯一来源与渲染格式
52
+
53
+ ### 2.1 唯一合成入口
54
+
55
+ 所有 `condition_space` → 文本的渲染,**必须**经 `md_cg/nodefile.py:condition_space_text(cs, require_full=True)`,不得存在第二套拼法。
56
+
57
+ ```python
58
+ CONDITION_SLOTS = (
59
+ ("observation_position", "载体/位置"),
60
+ ("time_window", "时间"),
61
+ ("observation_tool", "方法"),
62
+ ("existence_constraint", "约束"),
63
+ )
64
+ ```
65
+
66
+ | 消费者 | 用法 |
67
+ |---|---|
68
+ | `backfill.derive_fields` | 生效条件的合法来源链:`comment.生效条件` → `condition_space_text(cs)` → `""`(不再有单槽回退) |
69
+ | `chain.conditions_text` | 边/节点条件可读化,懒导入复用同一 formatter |
70
+ | `mdcos._slot_overlap` | 召回打分**不动**(本就四槽计权,position 权重 2.0),仅共用槽名常量 |
71
+
72
+ ### 2.2 渲染规则
73
+
74
+ - 格式固定:`载体/位置:…;时间:…;方法:…;约束:…`,缺哪维不写哪维。
75
+ - 判定阈值:双主槽 `observation_position` + `observation_tool` 必在;四槽全缺 → 不写、登记待补。
76
+ - 多值槽用「、」连接,不裸数组入正文(避免词面召回误命中)。
77
+ - **全时窗是合法声明**:`time_window=[0.0, 9999999999.0]` 渲染为「全时窗(任意时刻成立)」,不是空占位。
78
+ - 可读化时间:具体窗口渲染为 `YYYY-MM-DD HH:MM~YYYY-MM-DD HH:MM(UTC)`。
79
+ - 占位护栏:槽值命中 `is_placeholder_text`(`骨架锚点`/`内容待填充` 等)不渲染为事实,仅登记 `placeholder_fields`。
80
+
81
+ 真实库样例(`kp_archaeo_1787279493983`):
82
+
83
+ ```
84
+ # 生效条件:载体/位置:知识考古补全;时间:2026-08-21 02:31~2027-08-21 02:31(UTC);方法:前沿既有知识(审核后);约束:数学/信息论/动力学/信号处理标准定义
85
+ ```
86
+
87
+ ---
88
+
89
+ ## 三、必填落地与四态
90
+
91
+ - `nodefile.CCG_REQUIRED = CCG_MARKS`(6 行缺一不可),废止「生效条件可隐含」的旧 docstring 与旧 `complete/ratio` 口径。
92
+ - `ccg_completeness` 的 `complete` 与 `all_present` 同源。
93
+ - `judge_qualification` 第一步读 `ccg_completeness`:
94
+ - `ccg_exempt`(迁移期 legacy)→ **DEFER**:可检索,但显式建议补条件(不得静默 ACCEPT);
95
+ - 非豁免且要素不全 → **BLINDSPOT**;
96
+ - 齐全 + 命中负条件 → REJECT;齐全 + 有 `verification_basis` + 无负命中 → ACCEPT。
97
+
98
+ > 口径收紧会让迁移期 ACCEPT 数量下降,属**预期**,不按回归处理。
99
+
100
+ ### 3.1 复算留证(2026-09-10,真实库)
101
+
102
+ | 项 | 值 |
103
+ |---|---|
104
+ | 知识层节点 | 4517(全库 4526,含 anchor/self 9) |
105
+ | 已声明生效条件 | 4369(96.7%):comment 来源 2853 + 四槽合成 1516 |
106
+ | 无生效条件 | 148 = 145 待补(全 `ccg_exempt`)+ 3 派生跳过(SKIP_TAGS) |
107
+ | `# 生效条件:观测位置:` 残留 | **0** |
108
+ | 四态分布 | ACCEPT 29 | DEFER 4487 | BLINDSPOT 1 |
109
+
110
+ ---
111
+
112
+ ## 四、存量清洗与全库接线
113
+
114
+ ### 4.1 弱等价行清洗(批次 `cond_fix_v01`)
115
+
116
+ - `fix_conditions_plan`:legacy=109,全部 `rewrite`,drop=0,conflict=0。
117
+ - `fix_conditions_apply`:**rewritten=109 / dropped=0**。
118
+ - 复算:`verify_conditions` → `legacy_position=0`、`from_synthesis=109+`。
119
+ - 幂等:再预演 `rewrite=0 / drop=0`(无候选;`conflict` 仅表示「当前值已不等于当年写入值」,fail-closed 不覆盖人工修改)。
120
+ - 回滚:`fix_conditions_rollback(batch="cond_fix_v01")` 按「当前值 == 写入值才撤销」。
121
+
122
+ ### 4.2 全库接线(批次 `cond_full_v01`)
123
+
124
+ - `plan(include_partial=True)`:planned=1953,字段分布 `生效条件 1808 / 功能名 741 / 不适用条件 402 / 验证方式 1`。
125
+ - `apply`:**written=1953 / skipped_drift=0 / skipped_locked=0**。
126
+ - 复算后再预演 `targeted=0 / targeted_missing_conditions=0` → 幂等。
127
+
128
+ ### 4.3 不变量(边界不动)
129
+
130
+ - 只经 `derive_fields` → `plan` → `apply` → 留痕 → `rollback`,禁止直接改盘。
131
+ - 留痕 `basis` 记 `frontmatter.condition_space(四槽合成)`;回滚仍按「当前值 == 写入值才撤销」。
132
+ - 跳过边界不变:`crypto.is_encrypted`;`SKIP_LAYERS=("rejected","unresolved","goals")`;`SKIP_TAGS=("gap_hint","scene","reconstructed","concept","insight")`;`INTERNAL_LAYERS=("anchor","self")`。
133
+ - 异常只记节点 id 与字段名,不 dump 正文(正文可能含私有/密文内容)。
134
+
135
+ ---
136
+
137
+ ## 五、待补台账与 BLINDSPOT 分流
138
+
139
+ `backfill.conditions_pending(cg)` 输出可复算台账,**145 条**(全部 `ccg_exempt=True`,经 `judge_qualification` 落 **DEFER** 而非 BLINDSPOT):
140
+
141
+ | 缺失维度 | 条数 | 前缀 |
142
+ |---|---|---|
143
+ | 缺约束 | 7 | `node_meta_*` |
144
+ | 缺载体/位置+方法+约束 | 138 | `note_*` 135 + `milestone_*` 2 + `retest6_*` 1 |
145
+
146
+ 唯一非豁免 BLINDSPOT:`mem_1788996960604`(缺 `功能名/子功能/执行`,`exempt=False`)。
147
+
148
+ > 结论:本次修正后,**没有**非豁免节点处于「缺生效条件」状态;「不可补 → BLINDSPOT」这条分支由一般 CCG 要素不全承接,且被 P37 断言锁定。
149
+
150
+ ### 5.1 快照清单(可复算:`backfill.conditions_pending(cg)["items"]`)
151
+
152
+ ```
153
+ 缺约束 | node_meta_427035320_1787018623216
154
+ 缺约束 | node_meta_6124532177_1787018623216
155
+ 缺约束 | node_meta_2972442990_1787018623216
156
+ 缺约束 | node_meta_4312849892_1787018623216
157
+ 缺约束 | node_meta_8788264161_1787018650592
158
+ 缺约束 | node_meta_4895666695_1787018623215
159
+ 缺约束 | node_meta_9469066954_1787018623216
160
+ 缺载体/位置+方法+约束 | milestone_1000q_1788667047
161
+ 缺载体/位置+方法+约束 | milestone_300b_1788687292
162
+ 缺载体/位置+方法+约束 | note_242_1788650890
163
+ 缺载体/位置+方法+约束 | note_243b244_1788651824_0
164
+ 缺载体/位置+方法+约束 | note_243b244_1788651824_1
165
+ 缺载体/位置+方法+约束 | note_245_1788651936
166
+ 缺载体/位置+方法+约束 | note_246_1788652553
167
+ 缺载体/位置+方法+约束 | note_247_1788653158
168
+ 缺载体/位置+方法+约束 | note_248_1788653793
169
+ 缺载体/位置+方法+约束 | note_249_1788654463
170
+ 缺载体/位置+方法+约束 | note_250_1788654983
171
+ 缺载体/位置+方法+约束 | note_251_1788655524
172
+ 缺载体/位置+方法+约束 | note_252_1788656241
173
+ 缺载体/位置+方法+约束 | note_253_1788656733
174
+ 缺载体/位置+方法+约束 | note_254_1788657418
175
+ 缺载体/位置+方法+约束 | note_255_1788657972
176
+ 缺载体/位置+方法+约束 | note_256_1788658671
177
+ 缺载体/位置+方法+约束 | note_257_1788659225
178
+ 缺载体/位置+方法+约束 | note_258_1788659788
179
+ 缺载体/位置+方法+约束 | note_259_1788662539
180
+ 缺载体/位置+方法+约束 | note_261_1788663462
181
+ 缺载体/位置+方法+约束 | note_262_1788664004
182
+ 缺载体/位置+方法+约束 | note_263_1788664558
183
+ 缺载体/位置+方法+约束 | note_264_1788665172
184
+ 缺载体/位置+方法+约束 | note_265_1788665777
185
+ 缺载体/位置+方法+约束 | note_266_1788666403
186
+ 缺载体/位置+方法+约束 | note_268_1788668289
187
+ 缺载体/位置+方法+约束 | note_269_1788668783
188
+ 缺载体/位置+方法+约束 | note_270_1788669504
189
+ 缺载体/位置+方法+约束 | note_271_1788669976
190
+ 缺载体/位置+方法+约束 | note_272_1788670645
191
+ 缺载体/位置+方法+约束 | note_273_1788671231
192
+ 缺载体/位置+方法+约束 | note_274_1788671843
193
+ 缺载体/位置+方法+约束 | note_275_1788672395
194
+ 缺载体/位置+方法+约束 | note_276_1788673029
195
+ 缺载体/位置+方法+约束 | note_277_1788673556
196
+ 缺载体/位置+方法+约束 | note_278_1788674203
197
+ 缺载体/位置+方法+约束 | note_279_1788674771
198
+ 缺载体/位置+方法+约束 | note_280_1788675480
199
+ 缺载体/位置+方法+约束 | note_281_1788675973
200
+ 缺载体/位置+方法+约束 | note_282_1788676739
201
+ 缺载体/位置+方法+约束 | note_283_1788677263
202
+ 缺载体/位置+方法+约束 | note_284_1788677944
203
+ 缺载体/位置+方法+约束 | note_285_1788678475
204
+ 缺载体/位置+方法+约束 | note_286_1788679116
205
+ 缺载体/位置+方法+约束 | note_287_1788679690
206
+ 缺载体/位置+方法+约束 | note_288_1788680358
207
+ 缺载体/位置+方法+约束 | note_289_1788680897
208
+ 缺载体/位置+方法+约束 | note_290_1788682016
209
+ 缺载体/位置+方法+约束 | note_291_1788682679
210
+ 缺载体/位置+方法+约束 | note_292_1788683214
211
+ 缺载体/位置+方法+约束 | note_293_1788683748
212
+ 缺载体/位置+方法+约束 | note_294_1788684312
213
+ 缺载体/位置+方法+约束 | note_295_1788684888
214
+ 缺载体/位置+方法+约束 | note_296_1788685272
215
+ 缺载体/位置+方法+约束 | note_297_1788685668
216
+ 缺载体/位置+方法+约束 | note_298_1788686231
217
+ 缺载体/位置+方法+约束 | note_299_1788686797
218
+ 缺载体/位置+方法+约束 | note_301_1788688001
219
+ 缺载体/位置+方法+约束 | note_302_1788688695
220
+ 缺载体/位置+方法+约束 | note_303_1788689248
221
+ 缺载体/位置+方法+约束 | note_304_1788689856
222
+ 缺载体/位置+方法+约束 | note_305_1788690432
223
+ 缺载体/位置+方法+约束 | note_306_1788691075
224
+ 缺载体/位置+方法+约束 | note_307_1788691683
225
+ 缺载体/位置+方法+约束 | note_308b_1788693216
226
+ 缺载体/位置+方法+约束 | note_309_1788693461
227
+ 缺载体/位置+方法+约束 | note_310_1788693917
228
+ 缺载体/位置+方法+约束 | note_311_1788694207
229
+ 缺载体/位置+方法+约束 | note_312_1788694748
230
+ 缺载体/位置+方法+约束 | note_313_1788695243
231
+ 缺载体/位置+方法+约束 | note_314_1788695840
232
+ 缺载体/位置+方法+约束 | note_315_1788696584
233
+ 缺载体/位置+方法+约束 | note_316_1788697078
234
+ 缺载体/位置+方法+约束 | note_317_1788697648
235
+ 缺载体/位置+方法+约束 | note_318_1788698243
236
+ 缺载体/位置+方法+约束 | note_319_1788698847
237
+ 缺载体/位置+方法+约束 | note_320_1788699447
238
+ 缺载体/位置+方法+约束 | note_321_1788700052
239
+ 缺载体/位置+方法+约束 | note_322_1788700675
240
+ 缺载体/位置+方法+约束 | note_323_1788701223
241
+ 缺载体/位置+方法+约束 | note_324_1788701861
242
+ 缺载体/位置+方法+约束 | note_325_1788702486
243
+ 缺载体/位置+方法+约束 | note_326_1788703038
244
+ 缺载体/位置+方法+约束 | note_327_1788703665
245
+ 缺载体/位置+方法+约束 | note_328_1788704308
246
+ 缺载体/位置+方法+约束 | note_329_1788704937
247
+ 缺载体/位置+方法+约束 | note_330_1788705440
248
+ 缺载体/位置+方法+约束 | note_331_1788706060
249
+ 缺载体/位置+方法+约束 | note_332_1788706667
250
+ 缺载体/位置+方法+约束 | note_333_1788707213
251
+ 缺载体/位置+方法+约束 | note_334_1788707908
252
+ 缺载体/位置+方法+约束 | note_335_1788708416
253
+ 缺载体/位置+方法+约束 | note_336_1788709245
254
+ 缺载体/位置+方法+约束 | note_337_1788709641
255
+ 缺载体/位置+方法+约束 | note_338_1788710337
256
+ 缺载体/位置+方法+约束 | note_339_1788710836
257
+ 缺载体/位置+方法+约束 | note_340_1788711451
258
+ 缺载体/位置+方法+约束 | note_341_1788712042
259
+ 缺载体/位置+方法+约束 | note_342_1788712759
260
+ 缺载体/位置+方法+约束 | note_343_1788713306
261
+ 缺载体/位置+方法+约束 | note_344_1788713873
262
+ 缺载体/位置+方法+约束 | note_345_1788714432
263
+ 缺载体/位置+方法+约束 | note_346b_1788715491
264
+ 缺载体/位置+方法+约束 | note_347_1788715743
265
+ 缺载体/位置+方法+约束 | note_348_1788716255
266
+ 缺载体/位置+方法+约束 | note_349_1788716868
267
+ 缺载体/位置+方法+约束 | note_350_1788717451
268
+ 缺载体/位置+方法+约束 | note_351_1788718216
269
+ 缺载体/位置+方法+约束 | note_352_1788718768
270
+ 缺载体/位置+方法+约束 | note_353_1788719232
271
+ 缺载体/位置+方法+约束 | note_354_1788719901
272
+ 缺载体/位置+方法+约束 | note_355_1788720455
273
+ 缺载体/位置+方法+约束 | note_356_1788721050
274
+ 缺载体/位置+方法+约束 | note_357_1788721848
275
+ 缺载体/位置+方法+约束 | note_358_1788722310
276
+ 缺载体/位置+方法+约束 | note_359_1788723010
277
+ 缺载体/位置+方法+约束 | note_360_1788723604
278
+ 缺载体/位置+方法+约束 | note_361_1788724063
279
+ 缺载体/位置+方法+约束 | note_362_1788724717
280
+ 缺载体/位置+方法+约束 | note_363_1788725266
281
+ 缺载体/位置+方法+约束 | note_364_1788725982
282
+ 缺载体/位置+方法+约束 | note_365_1788726542
283
+ 缺载体/位置+方法+约束 | note_366_1788727239
284
+ 缺载体/位置+方法+约束 | note_367_1788727715
285
+ 缺载体/位置+方法+约束 | note_368_1788728317
286
+ 缺载体/位置+方法+约束 | note_369_1788728903
287
+ 缺载体/位置+方法+约束 | note_370_1788729501
288
+ 缺载体/位置+方法+约束 | note_371_1788730207
289
+ 缺载体/位置+方法+约束 | note_372_1788730673
290
+ 缺载体/位置+方法+约束 | note_373_1788731445
291
+ 缺载体/位置+方法+约束 | note_374_1788731952
292
+ 缺载体/位置+方法+约束 | note_375_1788732546
293
+ 缺载体/位置+方法+约束 | note_376_1788733161
294
+ 缺载体/位置+方法+约束 | note_377_1788733671
295
+ 缺载体/位置+方法+约束 | note_378_1788734313
296
+ 缺载体/位置+方法+约束 | note_379_1788734871
297
+ 缺载体/位置+方法+约束 | retest6_1788667612
298
+ ```
299
+
300
+ ---
301
+
302
+ ## 六、纪律条目(可复用,来自本轮蒸馏)
303
+
304
+ 1. **禁止单槽冒充**:不得把 `condition_space` 的任一单槽(尤其 `observation_position`)直接当生效条件;生效条件必须是四槽合成的声明。
305
+ 2. **条件空间优先于文本**:能由四槽合成时,以合成为准;`comment.生效条件` 是人类显式声明,优先于合成,但两者若冲突须登记 `conflict`,不得静默择一。
306
+ 3. **缺则待补,不发明**:补不全就登记待补,并在判定上落 DEFER/BLINDSPOT;不得用默认值或猜测把缺项「填满」。
307
+ 4. **留痕驱动清洗**:存量修正只认 `_backfill.jsonl` 的 `basis`,且只改「当前值仍等于当年写入值」的节点,防覆盖人工修改。
308
+ 5. **口径单一**:条件空间→文本只有一个入口;召回打分与文本渲染共用槽名常量,不得各写一套。
309
+
310
+ ---
311
+
312
+ ## 七、复算与回滚
313
+
314
+ ```bash
315
+ # 只读预演:清洗计划 + 待补台账(不写盘)
316
+ python -X utf8 -c "from md_cg.mdcos import MdCGOS; from md_cg import backfill; \
317
+ cg=MdCGOS(r'AEIS/data/mdcg'); \
318
+ print(backfill.fix_conditions_plan(cg)); print(backfill.conditions_pending(cg)['by_missing'])"
319
+
320
+ # 复算:弱等价残留 / 合成来源 / 缺失清单
321
+ python -X utf8 -c "from md_cg.mdcos import MdCGOS; from md_cg import backfill; \
322
+ cg=MdCGOS(r'AEIS/data/mdcg'); print(backfill.verify_conditions(cg))"
323
+
324
+ # 回滚(按批次,当前值一致才撤销)
325
+ # fix_conditions_rollback(batch="cond_fix_v01") / rollback(batch="cond_full_v01")
326
+ ```
327
+
328
+ 单测:`python -X utf8 -m md_cg.test_p37_condition_space`(合成/必填/待补/清洗/回滚)、`test_p32_backfill`、`test_p33_ccg_wiring`;全量 `test_p*.py` 全绿。
329
+
330
+ ---
331
+
332
+ ## 八、代码落点
333
+
334
+ | 文件 | 改动 |
335
+ |---|---|
336
+ | `md_cg/nodefile.py` | 新增 `CONDITION_SLOTS` / `condition_space_text` 等唯一合成入口;`CCG_REQUIRED=CCG_MARKS`;`ccg_completeness` 口径与 docstring 收紧 |
337
+ | `md_cg/backfill.py` | 删除 `_pos_text` 单槽回退;新增 `conditions_pending` / `fix_conditions_*` / `verify_conditions`;`plan` 增 `targeted_missing_conditions` |
338
+ | `md_cg/chain.py` | `conditions_text` 复用 `nodefile.condition_space_text` |
339
+ | `md_cg/mdcg.py` | `judge_qualification` docstring 与 reason 文案对齐 6 要素必填 |
340
+ | `test_p32_backfill.py` / `test_p33_ccg_wiring.py` / `test_p37_condition_space.py` | 断言:单槽不冒充、四槽合成、全时窗可读化、缺项 BLINDSPOT、幂等与回滚 |