@furongjun1999/dsh-memory 0.4.3 → 0.4.5

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 (1471) hide show
  1. package/README.md +104 -483
  2. package/cordis.patch.yml +1 -1
  3. package/cordis.yml.example +78 -9
  4. package/docs/AGI/344/270/203/347/273/264/350/257/204/345/210/206/346/212/245/345/221/212_md_cg_v1.0.md +170 -0
  5. package/docs/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 -0
  6. package/docs/README/350/257/246/347/273/206/347/211/210_v0.4.5.md +625 -0
  7. package/docs/cordis-patch-profile-web.example.yml +50 -6
  8. package/docs/release_v0.3.0.md +36 -0
  9. package/docs/release_v0.4.5.md +55 -0
  10. package/docs/tool_table_v0.3.0.md +117 -0
  11. package/docs//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 +160 -0
  12. package/docs//345/212/237/350/203/275/350/260/203/347/224/250/346/230/240/345/260/204/350/241/250_v0.1.md +221 -0
  13. 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 +192 -2
  14. package/docs//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 -0
  15. package/docs//347/201/265/346/236/242/344/270/211/345/261/202/346/213/206/345/210/206/350/247/204/345/210/222_v0.1.md +181 -0
  16. package/docs//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 -0
  17. package/docs//347/231/275/347/256/261/346/231/272/350/203/275/347/263/273/345/210/227/302/267/347/254/254/344/272/224/347/257/207/357/274/232/350/256/251AI/347/234/237/346/255/243/350/243/205/344/270/212/350/256/260/345/277/206.md +49 -1
  18. package/docs//347/274/272/345/217/243/345/215/225_P0/346/224/266/345/217/243_v0.1.md +270 -0
  19. package/docs//350/234/202/347/276/244/344/272/222/350/201/224_v0.1.md +704 -0
  20. package/docs//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 -0
  21. package/docs//350/256/244/347/237/245/345/233/276_MD/347/233/256/345/275/225/346/226/271/346/241/210_v0.1.md +368 -34
  22. package/docs//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 -0
  23. package/docs//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 +496 -0
  24. package/docs//350/256/244/347/237/245/345/233/276/344/275/234/344/270/272/350/256/260/345/277/206/346/223/215/344/275/234/347/263/273/347/273/237_/350/257/204/344/274/260/344/270/216/350/267/257/347/272/277_v0.1.md +94 -0
  25. package/docs//350/256/260/345/277/206/346/223/215/344/275/234/347/263/273/347/273/237_MdCGOS/344/270/216MCP/346/216/245/345/205/245_v0.1.md +281 -0
  26. package/lib/bridge.d.ts +4 -4
  27. package/lib/bridge.js +4 -4
  28. package/lib/hooks.d.ts +23 -8
  29. package/lib/hooks.js +75 -26
  30. package/lib/index.d.ts +53 -8
  31. package/lib/index.js +216 -63
  32. package/lib/lib/datapath.d.ts +16 -0
  33. package/lib/lib/datapath.js +114 -0
  34. package/lib/lib/mdcg_client.d.ts +152 -0
  35. package/lib/lib/mdcg_client.js +266 -0
  36. package/lib/lib/mutual.d.ts +121 -0
  37. package/lib/lib/mutual.js +348 -0
  38. package/lib/lib/roleplay_web.d.ts +6 -0
  39. package/{src/roleplay_web.ts → lib/lib/roleplay_web.js} +503 -450
  40. package/lib/lib/whitebox_llm.d.ts +129 -0
  41. package/lib/lib/whitebox_llm.js +249 -0
  42. package/lib/tools.d.ts +13 -6
  43. package/lib/tools.js +41 -55
  44. package/md_cg/__init__.py +7 -0
  45. package/md_cg/__pycache__/__init__.cpython-310.pyc +0 -0
  46. package/md_cg/__pycache__/_dbg_p30.cpython-310.pyc +0 -0
  47. package/md_cg/__pycache__/_diag_p19.cpython-310.pyc +0 -0
  48. package/md_cg/__pycache__/_tmp_dbg.cpython-310.pyc +0 -0
  49. package/md_cg/__pycache__/audit.cpython-310.pyc +0 -0
  50. package/md_cg/__pycache__/backfill.cpython-310.pyc +0 -0
  51. package/md_cg/__pycache__/bench_membench.cpython-310.pyc +0 -0
  52. package/md_cg/__pycache__/bench_p0.cpython-310.pyc +0 -0
  53. package/md_cg/__pycache__/census.cpython-310.pyc +0 -0
  54. package/md_cg/__pycache__/chain.cpython-310.pyc +0 -0
  55. package/md_cg/__pycache__/codeindex.cpython-310.pyc +0 -0
  56. package/md_cg/__pycache__/consistency.cpython-310.pyc +0 -0
  57. package/md_cg/__pycache__/consolidate.cpython-310.pyc +0 -0
  58. package/md_cg/__pycache__/corpus.cpython-310.pyc +0 -0
  59. package/md_cg/__pycache__/crosscheck.cpython-310.pyc +0 -0
  60. package/md_cg/__pycache__/crypto.cpython-310.pyc +0 -0
  61. package/md_cg/__pycache__/datapath.cpython-310.pyc +0 -0
  62. package/md_cg/__pycache__/docindex.cpython-310.pyc +0 -0
  63. package/md_cg/__pycache__/evidence.cpython-310.pyc +0 -0
  64. package/md_cg/__pycache__/evolution.cpython-310.pyc +0 -0
  65. package/md_cg/__pycache__/export.cpython-310.pyc +0 -0
  66. package/md_cg/__pycache__/forgetting.cpython-310.pyc +0 -0
  67. package/md_cg/__pycache__/fsutil.cpython-310.pyc +0 -0
  68. package/md_cg/__pycache__/identity.cpython-310.pyc +0 -0
  69. package/md_cg/__pycache__/insight.cpython-310.pyc +0 -0
  70. package/md_cg/__pycache__/links.cpython-310.pyc +0 -0
  71. package/md_cg/__pycache__/mcp_server.cpython-310.pyc +0 -0
  72. package/md_cg/__pycache__/md_whitebox.cpython-310.pyc +0 -0
  73. package/md_cg/__pycache__/mdcg.cpython-310.pyc +0 -0
  74. package/md_cg/__pycache__/mdcos.cpython-310.pyc +0 -0
  75. package/md_cg/__pycache__/metacognition.cpython-310.pyc +0 -0
  76. package/md_cg/__pycache__/migrate.cpython-310.pyc +0 -0
  77. package/md_cg/__pycache__/migrate_aeis.cpython-310.pyc +0 -0
  78. package/md_cg/__pycache__/migrate_roleplay.cpython-310.pyc +0 -0
  79. package/md_cg/__pycache__/migrate_wisdom_graph.cpython-310.pyc +0 -0
  80. package/md_cg/__pycache__/nodefile.cpython-310.pyc +0 -0
  81. package/md_cg/__pycache__/pooling.cpython-310.pyc +0 -0
  82. package/md_cg/__pycache__/predict.cpython-310.pyc +0 -0
  83. package/md_cg/__pycache__/protect.cpython-310.pyc +0 -0
  84. package/md_cg/__pycache__/provenance.cpython-310.pyc +0 -0
  85. package/md_cg/__pycache__/refindex.cpython-310.pyc +0 -0
  86. package/md_cg/__pycache__/refine.cpython-310.pyc +0 -0
  87. package/md_cg/__pycache__/routing.cpython-310.pyc +0 -0
  88. package/md_cg/__pycache__/scrub.cpython-310.pyc +0 -0
  89. package/md_cg/__pycache__/security.cpython-310.pyc +0 -0
  90. package/md_cg/__pycache__/self_state.cpython-310.pyc +0 -0
  91. package/md_cg/__pycache__/signer.cpython-310.pyc +0 -0
  92. package/md_cg/__pycache__/sources.cpython-310.pyc +0 -0
  93. package/md_cg/__pycache__/stg.cpython-310.pyc +0 -0
  94. package/md_cg/__pycache__/subgraph.cpython-310.pyc +0 -0
  95. package/md_cg/__pycache__/sustain.cpython-310.pyc +0 -0
  96. package/md_cg/__pycache__/test_lock.cpython-310-pytest-9.1.1.pyc +0 -0
  97. package/md_cg/__pycache__/test_lock.cpython-310.pyc +0 -0
  98. package/md_cg/__pycache__/test_p0.cpython-310-pytest-9.1.1.pyc +0 -0
  99. package/md_cg/__pycache__/test_p0.cpython-310.pyc +0 -0
  100. package/md_cg/__pycache__/test_p1.cpython-310-pytest-9.1.1.pyc +0 -0
  101. package/md_cg/__pycache__/test_p1.cpython-310.pyc +0 -0
  102. package/md_cg/__pycache__/test_p10_identity.cpython-310-pytest-9.1.1.pyc +0 -0
  103. package/md_cg/__pycache__/test_p10_identity.cpython-310.pyc +0 -0
  104. package/md_cg/__pycache__/test_p11_consistency.cpython-310-pytest-9.1.1.pyc +0 -0
  105. package/md_cg/__pycache__/test_p11_consistency.cpython-310.pyc +0 -0
  106. package/md_cg/__pycache__/test_p12_metacognition.cpython-310-pytest-9.1.1.pyc +0 -0
  107. package/md_cg/__pycache__/test_p12_metacognition.cpython-310.pyc +0 -0
  108. package/md_cg/__pycache__/test_p13_encryption.cpython-310-pytest-9.1.1.pyc +0 -0
  109. package/md_cg/__pycache__/test_p13_encryption.cpython-310.pyc +0 -0
  110. package/md_cg/__pycache__/test_p14_sustain.cpython-310-pytest-9.1.1.pyc +0 -0
  111. package/md_cg/__pycache__/test_p14_sustain.cpython-310.pyc +0 -0
  112. package/md_cg/__pycache__/test_p15_scrub.cpython-310-pytest-9.1.1.pyc +0 -0
  113. package/md_cg/__pycache__/test_p15_scrub.cpython-310.pyc +0 -0
  114. package/md_cg/__pycache__/test_p16_self_state.cpython-310.pyc +0 -0
  115. package/md_cg/__pycache__/test_p17_predict.cpython-310.pyc +0 -0
  116. package/md_cg/__pycache__/test_p18_whitebox.cpython-310.pyc +0 -0
  117. package/md_cg/__pycache__/test_p19_migrate_roleplay.cpython-310.pyc +0 -0
  118. package/md_cg/__pycache__/test_p2.cpython-310-pytest-9.1.1.pyc +0 -0
  119. package/md_cg/__pycache__/test_p2.cpython-310.pyc +0 -0
  120. package/md_cg/__pycache__/test_p20_evolution.cpython-310.pyc +0 -0
  121. package/md_cg/__pycache__/test_p21_tokens.cpython-310.pyc +0 -0
  122. package/md_cg/__pycache__/test_p22_theory.cpython-310.pyc +0 -0
  123. package/md_cg/__pycache__/test_p23_links.cpython-310.pyc +0 -0
  124. package/md_cg/__pycache__/test_p24_evidence.cpython-310.pyc +0 -0
  125. package/md_cg/__pycache__/test_p25_weights.cpython-310.pyc +0 -0
  126. package/md_cg/__pycache__/test_p26_refindex.cpython-310.pyc +0 -0
  127. package/md_cg/__pycache__/test_p27_docindex.cpython-310.pyc +0 -0
  128. package/md_cg/__pycache__/test_p28_refcheck.cpython-310.pyc +0 -0
  129. package/md_cg/__pycache__/test_p29_session_ingest_export.cpython-310.pyc +0 -0
  130. package/md_cg/__pycache__/test_p2_mcp.cpython-310-pytest-9.1.1.pyc +0 -0
  131. package/md_cg/__pycache__/test_p2_mcp.cpython-310.pyc +0 -0
  132. package/md_cg/__pycache__/test_p3.cpython-310-pytest-9.1.1.pyc +0 -0
  133. package/md_cg/__pycache__/test_p3.cpython-310.pyc +0 -0
  134. package/md_cg/__pycache__/test_p30_maintain.cpython-310.pyc +0 -0
  135. package/md_cg/__pycache__/test_p31_insight.cpython-310.pyc +0 -0
  136. package/md_cg/__pycache__/test_p32_backfill.cpython-310.pyc +0 -0
  137. package/md_cg/__pycache__/test_p33_ccg_wiring.cpython-310.pyc +0 -0
  138. package/md_cg/__pycache__/test_p34_crosscheck.cpython-310.pyc +0 -0
  139. package/md_cg/__pycache__/test_p35_conditioned_claim.cpython-310.pyc +0 -0
  140. package/md_cg/__pycache__/test_p36_kp_align.cpython-310.pyc +0 -0
  141. package/md_cg/__pycache__/test_p37_condition_space.cpython-310.pyc +0 -0
  142. package/md_cg/__pycache__/test_p38_contextualize.cpython-310.pyc +0 -0
  143. package/md_cg/__pycache__/test_p39_vision_evidence.cpython-310.pyc +0 -0
  144. package/md_cg/__pycache__/test_p40_refine_worklist.cpython-310.pyc +0 -0
  145. package/md_cg/__pycache__/test_p41_evolve_patrol.cpython-310.pyc +0 -0
  146. package/md_cg/__pycache__/test_p42_provenance.cpython-310.pyc +0 -0
  147. package/md_cg/__pycache__/test_p43_pooling.cpython-310.pyc +0 -0
  148. package/md_cg/__pycache__/test_p44_md_whitebox.cpython-310.pyc +0 -0
  149. package/md_cg/__pycache__/test_p4_fuzzy.cpython-310-pytest-9.1.1.pyc +0 -0
  150. package/md_cg/__pycache__/test_p4_fuzzy.cpython-310.pyc +0 -0
  151. package/md_cg/__pycache__/test_p5_semantic.cpython-310-pytest-9.1.1.pyc +0 -0
  152. package/md_cg/__pycache__/test_p5_semantic.cpython-310.pyc +0 -0
  153. package/md_cg/__pycache__/test_p6_consolidate.cpython-310-pytest-9.1.1.pyc +0 -0
  154. package/md_cg/__pycache__/test_p6_consolidate.cpython-310.pyc +0 -0
  155. package/md_cg/__pycache__/test_p7_goals_recent.cpython-310-pytest-9.1.1.pyc +0 -0
  156. package/md_cg/__pycache__/test_p7_goals_recent.cpython-310.pyc +0 -0
  157. package/md_cg/__pycache__/test_p8_subgraph_chain.cpython-310-pytest-9.1.1.pyc +0 -0
  158. package/md_cg/__pycache__/test_p8_subgraph_chain.cpython-310.pyc +0 -0
  159. package/md_cg/__pycache__/test_p9_forget_protect.cpython-310-pytest-9.1.1.pyc +0 -0
  160. package/md_cg/__pycache__/test_p9_forget_protect.cpython-310.pyc +0 -0
  161. package/md_cg/__pycache__/theory.cpython-310.pyc +0 -0
  162. package/md_cg/__pycache__/tokens.cpython-310.pyc +0 -0
  163. package/md_cg/__pycache__/vision_evidence.cpython-310.pyc +0 -0
  164. package/md_cg/__pycache__/weights.cpython-310.pyc +0 -0
  165. package/md_cg/__pycache__/whitebox.cpython-310.pyc +0 -0
  166. package/md_cg/audit.py +223 -0
  167. package/md_cg/backfill.py +1272 -0
  168. package/md_cg/bench_membench.py +602 -0
  169. package/md_cg/bench_p0.py +147 -0
  170. package/md_cg/bench_task_ab.py +237 -0
  171. package/md_cg/bench_task_ab_llm.py +397 -0
  172. package/md_cg/census.py +117 -0
  173. package/md_cg/chain.py +280 -0
  174. package/md_cg/codeindex.py +359 -0
  175. package/md_cg/consistency.py +593 -0
  176. package/md_cg/consolidate.py +1389 -0
  177. package/md_cg/corpus.py +106 -0
  178. package/md_cg/crosscheck.py +1058 -0
  179. package/md_cg/crypto.py +404 -0
  180. package/md_cg/datapath.py +160 -0
  181. package/md_cg/docindex.py +333 -0
  182. package/md_cg/evidence.py +555 -0
  183. package/md_cg/evolution.py +458 -0
  184. package/md_cg/export.py +210 -0
  185. package/md_cg/forgetting.py +552 -0
  186. package/md_cg/fsutil.py +251 -0
  187. package/md_cg/identity.py +374 -0
  188. package/md_cg/insight.py +485 -0
  189. package/md_cg/links.py +595 -0
  190. package/md_cg/mcp_server.py +2445 -0
  191. package/md_cg/md_whitebox.py +271 -0
  192. package/md_cg/mdcg.py +1210 -0
  193. package/md_cg/mdcos.py +2505 -0
  194. package/md_cg/metacognition.py +557 -0
  195. package/md_cg/migrate.py +115 -0
  196. package/md_cg/migrate_aeis.py +213 -0
  197. package/md_cg/migrate_roleplay.py +285 -0
  198. package/md_cg/migrate_wisdom_graph.py +348 -0
  199. package/md_cg/nodefile.py +308 -0
  200. package/md_cg/pooling.py +451 -0
  201. package/md_cg/predict.py +918 -0
  202. package/md_cg/protect.py +260 -0
  203. package/md_cg/provenance.py +321 -0
  204. package/md_cg/refindex.py +585 -0
  205. package/md_cg/refine.py +586 -0
  206. package/md_cg/routing.py +290 -0
  207. package/md_cg/scrub.py +788 -0
  208. package/md_cg/security.py +235 -0
  209. package/md_cg/self_state.py +843 -0
  210. package/md_cg/signer.py +523 -0
  211. package/md_cg/sources.py +547 -0
  212. package/md_cg/stg.py +250 -0
  213. package/md_cg/subgraph.py +706 -0
  214. package/md_cg/sustain.py +874 -0
  215. package/md_cg/test_lock.py +43 -0
  216. package/md_cg/test_p0.py +250 -0
  217. package/md_cg/test_p1.py +317 -0
  218. package/md_cg/test_p10_identity.py +173 -0
  219. package/md_cg/test_p11_consistency.py +233 -0
  220. package/md_cg/test_p12_metacognition.py +212 -0
  221. package/md_cg/test_p13_encryption.py +241 -0
  222. package/md_cg/test_p14_sustain.py +249 -0
  223. package/md_cg/test_p15_scrub.py +280 -0
  224. package/md_cg/test_p16_self_state.py +275 -0
  225. package/md_cg/test_p17_predict.py +341 -0
  226. package/md_cg/test_p18_whitebox.py +171 -0
  227. package/md_cg/test_p19_migrate_roleplay.py +149 -0
  228. package/md_cg/test_p2.py +205 -0
  229. package/md_cg/test_p20_evolution.py +315 -0
  230. package/md_cg/test_p21_tokens.py +270 -0
  231. package/md_cg/test_p22_theory.py +175 -0
  232. package/md_cg/test_p23_links.py +311 -0
  233. package/md_cg/test_p24_evidence.py +227 -0
  234. package/md_cg/test_p25_weights.py +156 -0
  235. package/md_cg/test_p26_refindex.py +387 -0
  236. package/md_cg/test_p27_docindex.py +377 -0
  237. package/md_cg/test_p28_refcheck.py +305 -0
  238. package/md_cg/test_p29_session_ingest_export.py +333 -0
  239. package/md_cg/test_p2_mcp.py +425 -0
  240. package/md_cg/test_p3.py +252 -0
  241. package/md_cg/test_p30_maintain.py +330 -0
  242. package/md_cg/test_p31_insight.py +510 -0
  243. package/md_cg/test_p32_backfill.py +298 -0
  244. package/md_cg/test_p33_ccg_wiring.py +293 -0
  245. package/md_cg/test_p34_crosscheck.py +331 -0
  246. package/md_cg/test_p35_conditioned_claim.py +252 -0
  247. package/md_cg/test_p36_kp_align.py +225 -0
  248. package/md_cg/test_p37_condition_space.py +248 -0
  249. package/md_cg/test_p38_contextualize.py +273 -0
  250. package/md_cg/test_p39_vision_evidence.py +369 -0
  251. package/md_cg/test_p40_refine_worklist.py +241 -0
  252. package/md_cg/test_p41_evolve_patrol.py +224 -0
  253. package/md_cg/test_p42_provenance.py +269 -0
  254. package/md_cg/test_p43_pooling.py +360 -0
  255. package/md_cg/test_p44_md_whitebox.py +218 -0
  256. package/md_cg/test_p4_fuzzy.py +223 -0
  257. package/md_cg/test_p5_semantic.py +226 -0
  258. package/md_cg/test_p6_consolidate.py +387 -0
  259. package/md_cg/test_p7_goals_recent.py +202 -0
  260. package/md_cg/test_p8_subgraph_chain.py +200 -0
  261. package/md_cg/test_p9_forget_protect.py +231 -0
  262. package/md_cg/theory.py +259 -0
  263. package/md_cg/tokens.py +506 -0
  264. package/md_cg/vision_evidence.py +644 -0
  265. package/md_cg/weights.py +602 -0
  266. package/md_cg/whitebox.py +497 -0
  267. package/md_cg/whitebox_kb/__init__.py +37 -0
  268. package/md_cg/whitebox_kb/__pycache__/__init__.cpython-310.pyc +0 -0
  269. package/md_cg/whitebox_kb/__pycache__/engine.cpython-310.pyc +0 -0
  270. package/md_cg/whitebox_kb/aeis_core/__init__.py +42 -0
  271. package/md_cg/whitebox_kb/aeis_core/__pycache__/__init__.cpython-310.pyc +0 -0
  272. package/md_cg/whitebox_kb/aeis_core/__pycache__/core.cpython-310.pyc +0 -0
  273. package/md_cg/whitebox_kb/aeis_core/__pycache__/semantic.cpython-310.pyc +0 -0
  274. package/md_cg/whitebox_kb/aeis_core/__pycache__/time_core.cpython-310.pyc +0 -0
  275. package/md_cg/whitebox_kb/aeis_core/api.py +1042 -0
  276. package/md_cg/whitebox_kb/aeis_core/core.py +5014 -0
  277. package/md_cg/whitebox_kb/aeis_core/semantic.py +280 -0
  278. package/md_cg/whitebox_kb/aeis_core/textutil.py +13 -0
  279. package/md_cg/whitebox_kb/aeis_core/time_core.py +43 -0
  280. package/md_cg/whitebox_kb/data/verify_cache.json +1873 -0
  281. package/md_cg/whitebox_kb/data/verify_savings.jsonl +1330 -0
  282. package/md_cg/whitebox_kb/engine.py +310 -0
  283. package/md_cg/whitebox_kb/knowledge/_ccg_dump.json +1 -0
  284. package/md_cg/whitebox_kb/knowledge/_index.json +15300 -0
  285. package/md_cg/whitebox_kb/knowledge//344/270/226/347/225/214/345/234/260/346/240/207.md +22 -0
  286. package/md_cg/whitebox_kb/knowledge//344/270/226/347/225/214/346/226/207/345/214/226.md +15 -0
  287. package/md_cg/whitebox_kb/knowledge//344/270/226/347/225/214/350/207/252/347/204/266/345/245/207/350/247/202.md +29 -0
  288. package/md_cg/whitebox_kb/knowledge//344/270/226/347/225/214/351/201/227/344/272/247.md +15 -0
  289. package/md_cg/whitebox_kb/knowledge//344/270/255/345/233/275/345/217/244/344/273/243/346/226/207/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +167 -0
  290. package/md_cg/whitebox_kb/knowledge//344/270/255/345/233/275/345/220/215/350/203/234.md +15 -0
  291. package/md_cg/whitebox_kb/knowledge//344/270/255/345/233/275/345/257/223/350/250/200.md +15 -0
  292. package/md_cg/whitebox_kb/knowledge//344/270/255/345/233/275/347/216/260/344/273/243/346/226/207/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +153 -0
  293. package/md_cg/whitebox_kb/knowledge//344/270/255/345/233/275/347/245/236/350/257/235.md +22 -0
  294. package/md_cg/whitebox_kb/knowledge//344/271/246/346/263/225/346/226/207/345/214/226.md +22 -0
  295. package/md_cg/whitebox_kb/knowledge//344/272/244/351/200/232/345/256/211/345/205/250.md +15 -0
  296. package/md_cg/whitebox_kb/knowledge//344/272/244/351/200/232/351/200/232/350/257/206.md +15 -0
  297. package/md_cg/whitebox_kb/knowledge//344/272/272/344/275/223/347/224/237/347/220/206.md +22 -0
  298. package/md_cg/whitebox_kb/knowledge//344/272/272/345/267/245/346/231/272/350/203/275/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +307 -0
  299. package/md_cg/whitebox_kb/knowledge//344/272/272/346/226/207/351/200/232/350/257/206.md +1296 -0
  300. package/md_cg/whitebox_kb/knowledge//344/272/272/347/211/251/345/216/206/345/217/262.md +15 -0
  301. package/md_cg/whitebox_kb/knowledge//344/272/272/347/261/273/350/247/202/345/257/237/350/200/205/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +265 -0
  302. package/md_cg/whitebox_kb/knowledge//344/272/272/351/231/205/346/262/237/351/200/232.md +22 -0
  303. package/md_cg/whitebox_kb/knowledge//344/274/232/350/256/241/345/255/246/345/216/237/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +131 -0
  304. package/md_cg/whitebox_kb/knowledge//344/274/240/347/273/237/344/271/220/345/231/250.md +15 -0
  305. package/md_cg/whitebox_kb/knowledge//344/274/240/347/273/237/345/205/273/347/224/237.md +15 -0
  306. package/md_cg/whitebox_kb/knowledge//344/274/240/347/273/237/345/216/206/346/263/225.md +15 -0
  307. package/md_cg/whitebox_kb/knowledge//344/274/240/347/273/237/345/267/245/350/211/272.md +148 -0
  308. package/md_cg/whitebox_kb/knowledge//344/274/240/347/273/237/345/273/272/347/255/221.md +29 -0
  309. package/md_cg/whitebox_kb/knowledge//344/274/240/347/273/237/346/226/207/345/214/226.md +92 -0
  310. package/md_cg/whitebox_kb/knowledge//344/274/240/347/273/237/346/243/213/347/261/273.md +15 -0
  311. package/md_cg/whitebox_kb/knowledge//344/274/240/347/273/237/346/255/246/346/234/257.md +15 -0
  312. package/md_cg/whitebox_kb/knowledge//344/274/240/347/273/237/347/276/216/345/276/267.md +29 -0
  313. package/md_cg/whitebox_kb/knowledge//344/274/240/347/273/237/347/276/216/351/243/237.md +36 -0
  314. package/md_cg/whitebox_kb/knowledge//344/274/240/347/273/237/350/211/272/346/234/257.md +71 -0
  315. package/md_cg/whitebox_kb/knowledge//344/274/240/347/273/237/350/212/202/346/227/245.md +22 -0
  316. package/md_cg/whitebox_kb/knowledge//344/275/223/350/202/262.md +15 -0
  317. package/md_cg/whitebox_kb/knowledge//344/275/223/350/202/262/350/277/220/345/212/250.md +15 -0
  318. package/md_cg/whitebox_kb/knowledge//344/277/241/346/201/257/345/256/211/345/205/250.md +15 -0
  319. package/md_cg/whitebox_kb/knowledge//344/277/241/346/201/257/346/212/200/346/234/257.md +22 -0
  320. package/md_cg/whitebox_kb/knowledge//344/277/241/346/201/257/350/256/272/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +90 -0
  321. package/md_cg/whitebox_kb/knowledge//345/201/245/345/272/267/344/271/240/346/203/257.md +15 -0
  322. package/md_cg/whitebox_kb/knowledge//345/201/245/345/272/267/345/270/270/350/257/206.md +50 -0
  323. package/md_cg/whitebox_kb/knowledge//345/205/211/345/255/246/351/200/232/350/257/206.md +15 -0
  324. package/md_cg/whitebox_kb/knowledge//345/205/273/347/224/237/346/226/271/346/263/225.md +15 -0
  325. package/md_cg/whitebox_kb/knowledge//345/206/233/344/272/213/345/217/262.md +15 -0
  326. package/md_cg/whitebox_kb/knowledge//345/206/234/344/270/232/345/270/270/350/257/206.md +15 -0
  327. package/md_cg/whitebox_kb/knowledge//345/210/206/345/255/220/347/224/237/347/211/251/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +167 -0
  328. package/md_cg/whitebox_kb/knowledge//345/210/206/346/236/220/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +167 -0
  329. package/md_cg/whitebox_kb/knowledge//345/210/235/344/270/255/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +391 -0
  330. package/md_cg/whitebox_kb/knowledge//345/210/235/344/270/255/345/216/206/345/217/262/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +279 -0
  331. package/md_cg/whitebox_kb/knowledge//345/210/235/344/270/255/345/234/260/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +160 -0
  332. package/md_cg/whitebox_kb/knowledge//345/210/235/344/270/255/346/225/260/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +391 -0
  333. package/md_cg/whitebox_kb/knowledge//345/210/235/344/270/255/347/211/251/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +545 -0
  334. package/md_cg/whitebox_kb/knowledge//345/210/235/344/270/255/347/224/237/347/211/251/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +426 -0
  335. package/md_cg/whitebox_kb/knowledge//345/210/235/344/270/255/350/213/261/350/257/255/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +167 -0
  336. package/md_cg/whitebox_kb/knowledge//345/210/235/344/270/255/350/257/255/346/226/207/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +167 -0
  337. package/md_cg/whitebox_kb/knowledge//345/210/235/344/270/255/351/201/223/345/276/267/344/270/216/346/263/225/346/262/273/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +153 -0
  338. package/md_cg/whitebox_kb/knowledge//345/210/266/345/272/246/345/217/262.md +64 -0
  339. package/md_cg/whitebox_kb/knowledge//345/211/215/346/262/277/347/247/221/346/212/200.md +36 -0
  340. package/md_cg/whitebox_kb/knowledge//345/212/250/347/211/251/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +160 -0
  341. package/md_cg/whitebox_kb/knowledge//345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +2081 -0
  342. package/md_cg/whitebox_kb/knowledge//345/214/226/345/267/245/345/216/237/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +167 -0
  343. package/md_cg/whitebox_kb/knowledge//345/214/273/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +139 -0
  344. package/md_cg/whitebox_kb/knowledge//345/216/206/345/217/262/345/234/260/347/220/206.md +29 -0
  345. package/md_cg/whitebox_kb/knowledge//345/216/206/345/217/262/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +464 -0
  346. package/md_cg/whitebox_kb/knowledge//345/216/237/345/255/220/347/211/251/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +139 -0
  347. package/md_cg/whitebox_kb/knowledge//345/217/244/344/273/243/346/261/211/350/257/255/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +139 -0
  348. package/md_cg/whitebox_kb/knowledge//345/217/244/347/224/237/347/211/251.md +22 -0
  349. package/md_cg/whitebox_kb/knowledge//345/223/262/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +118 -0
  350. package/md_cg/whitebox_kb/knowledge//345/225/206/344/270/232/345/217/262.md +15 -0
  351. package/md_cg/whitebox_kb/knowledge//345/231/250/347/211/251/345/267/245/350/211/272.md +15 -0
  352. package/md_cg/whitebox_kb/knowledge//345/233/255/346/236/227/345/273/272/347/255/221.md +15 -0
  353. package/md_cg/whitebox_kb/knowledge//345/233/272/344/275/223/347/211/251/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +202 -0
  354. package/md_cg/whitebox_kb/knowledge//345/233/276/345/203/217/347/224/237/346/210/220.md +99 -0
  355. package/md_cg/whitebox_kb/knowledge//345/234/237/346/234/250/345/267/245/347/250/213/345/237/272/347/241/200/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +125 -0
  356. package/md_cg/whitebox_kb/knowledge//345/234/260/347/220/206/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +303 -0
  357. package/md_cg/whitebox_kb/knowledge//345/244/215/345/217/230/345/207/275/346/225/260/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +195 -0
  358. package/md_cg/whitebox_kb/knowledge//345/244/226/345/233/275/346/226/207/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +118 -0
  359. package/md_cg/whitebox_kb/knowledge//345/244/247/345/255/246/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +265 -0
  360. package/md_cg/whitebox_kb/knowledge//345/244/247/345/255/246/346/200/235/346/224/277/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +174 -0
  361. package/md_cg/whitebox_kb/knowledge//345/244/247/345/255/246/347/211/251/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +321 -0
  362. package/md_cg/whitebox_kb/knowledge//345/244/247/345/255/246/350/213/261/350/257/255/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +132 -0
  363. package/md_cg/whitebox_kb/knowledge//345/244/251/344/275/223/347/211/251/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +125 -0
  364. package/md_cg/whitebox_kb/knowledge//345/244/251/346/226/207/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +173 -0
  365. package/md_cg/whitebox_kb/knowledge//345/255/230/345/234/250/350/256/272.md +43 -0
  366. package/md_cg/whitebox_kb/knowledge//345/255/246/344/271/240/346/226/271/346/263/225.md +57 -0
  367. package/md_cg/whitebox_kb/knowledge//345/256/211/345/205/250/345/270/270/350/257/206.md +22 -0
  368. package/md_cg/whitebox_kb/knowledge//345/256/217/350/247/202/347/273/217/346/265/216/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +153 -0
  369. package/md_cg/whitebox_kb/knowledge//345/256/236/345/217/230/345/207/275/346/225/260/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +195 -0
  370. package/md_cg/whitebox_kb/knowledge//345/256/240/347/211/251.md +29 -0
  371. package/md_cg/whitebox_kb/knowledge//345/256/266/345/272/255/345/205/263/347/263/273.md +29 -0
  372. package/md_cg/whitebox_kb/knowledge//345/260/217/345/255/246/346/225/260/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +566 -0
  373. package/md_cg/whitebox_kb/knowledge//345/260/217/345/255/246/347/247/221/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +1274 -0
  374. package/md_cg/whitebox_kb/knowledge//345/260/217/345/255/246/350/213/261/350/257/255/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +153 -0
  375. package/md_cg/whitebox_kb/knowledge//345/260/217/345/255/246/350/257/255/346/226/207/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +174 -0
  376. package/md_cg/whitebox_kb/knowledge//345/260/217/345/255/246/351/201/223/345/276/267/344/270/216/346/263/225/346/262/273/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +153 -0
  377. package/md_cg/whitebox_kb/knowledge//345/267/245/347/250/213/345/210/266/345/233/276/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +118 -0
  378. package/md_cg/whitebox_kb/knowledge//345/267/245/347/250/213/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +611 -0
  379. package/md_cg/whitebox_kb/knowledge//345/267/245/347/250/213/347/247/221/345/255/246.md +22 -0
  380. package/md_cg/whitebox_kb/knowledge//345/267/245/350/211/272/351/200/232/350/257/206.md +15 -0
  381. package/md_cg/whitebox_kb/knowledge//345/270/202/345/234/272/350/220/245/351/224/200/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +111 -0
  382. package/md_cg/whitebox_kb/knowledge//345/270/270/345/276/256/345/210/206/346/226/271/347/250/213/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +237 -0
  383. package/md_cg/whitebox_kb/knowledge//345/273/272/347/255/221/344/272/272/346/226/207.md +15 -0
  384. package/md_cg/whitebox_kb/knowledge//345/273/272/347/255/221/345/216/206/345/217/262.md +43 -0
  385. package/md_cg/whitebox_kb/knowledge//345/273/272/347/255/221/350/211/272/346/234/257.md +15 -0
  386. package/md_cg/whitebox_kb/knowledge//345/273/272/347/255/221/351/200/232/350/257/206.md +15 -0
  387. package/md_cg/whitebox_kb/knowledge//345/275/261/350/247/206/345/270/270/350/257/206.md +29 -0
  388. package/md_cg/whitebox_kb/knowledge//345/276/256/345/210/206/345/207/240/344/275/225/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +146 -0
  389. package/md_cg/whitebox_kb/knowledge//345/276/256/347/224/237/347/211/251/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +174 -0
  390. package/md_cg/whitebox_kb/knowledge//345/276/256/350/247/202/347/273/217/346/265/216/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +146 -0
  391. package/md_cg/whitebox_kb/knowledge//345/277/203/347/220/206/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +133 -0
  392. package/md_cg/whitebox_kb/knowledge//346/200/235/347/273/264/345/256/232/345/276/213.md +29 -0
  393. package/md_cg/whitebox_kb/knowledge//346/203/205/346/204/237/346/203/205/347/273/252/344/273/277/347/234/237/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +186 -0
  394. package/md_cg/whitebox_kb/knowledge//346/210/217/346/233/262/350/211/272/346/234/257.md +22 -0
  395. package/md_cg/whitebox_kb/knowledge//346/210/220/350/257/255/345/205/270/346/225/205.md +15 -0
  396. package/md_cg/whitebox_kb/knowledge//346/211/213/345/267/245/345/270/270/350/257/206.md +15 -0
  397. package/md_cg/whitebox_kb/knowledge//346/212/275/350/261/241/344/273/243/346/225/260/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +160 -0
  398. package/md_cg/whitebox_kb/knowledge//346/213/223/346/211/221/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +139 -0
  399. package/md_cg/whitebox_kb/knowledge//346/223/215/344/275/234/347/263/273/347/273/237/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +160 -0
  400. package/md_cg/whitebox_kb/knowledge//346/224/266/350/227/217/351/233/206/350/227/217.md +92 -0
  401. package/md_cg/whitebox_kb/knowledge//346/224/277/346/262/273/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +387 -0
  402. package/md_cg/whitebox_kb/knowledge//346/225/210/347/216/207/346/226/271/346/263/225.md +15 -0
  403. package/md_cg/whitebox_kb/knowledge//346/225/260/345/200/274/345/210/206/346/236/220/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +202 -0
  404. package/md_cg/whitebox_kb/knowledge//346/225/260/345/255/227/347/224/265/350/267/257/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +146 -0
  405. package/md_cg/whitebox_kb/knowledge//346/225/260/345/255/227/347/264/240/345/205/273.md +22 -0
  406. package/md_cg/whitebox_kb/knowledge//346/225/260/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +2074 -0
  407. package/md_cg/whitebox_kb/knowledge//346/225/260/345/255/246/345/210/206/346/236/220/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +349 -0
  408. package/md_cg/whitebox_kb/knowledge//346/225/260/345/255/246/347/211/251/347/220/206/346/226/271/346/263/225/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +153 -0
  409. package/md_cg/whitebox_kb/knowledge//346/225/260/346/215/256/345/272/223/347/263/273/347/273/237/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +146 -0
  410. package/md_cg/whitebox_kb/knowledge//346/225/260/346/215/256/347/273/223/346/236/204/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +174 -0
  411. package/md_cg/whitebox_kb/knowledge//346/226/207/345/205/267/345/270/270/350/257/206.md +15 -0
  412. package/md_cg/whitebox_kb/knowledge//346/226/207/345/214/226.md +36 -0
  413. package/md_cg/whitebox_kb/knowledge//346/226/207/345/214/226/351/200/232/350/257/206.md +15 -0
  414. package/md_cg/whitebox_kb/knowledge//346/226/207/345/255/227/345/255/246.md +15 -0
  415. package/md_cg/whitebox_kb/knowledge//346/226/207/345/255/227/350/265/267/346/272/220.md +15 -0
  416. package/md_cg/whitebox_kb/knowledge//346/226/207/345/255/246/347/220/206/350/256/272/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +328 -0
  417. package/md_cg/whitebox_kb/knowledge//346/226/207/346/225/231/345/216/206/345/217/262.md +15 -0
  418. package/md_cg/whitebox_kb/knowledge//346/226/207/347/211/251/351/200/232/350/257/206.md +22 -0
  419. package/md_cg/whitebox_kb/knowledge//346/226/207/347/214/256/345/255/246.md +22 -0
  420. package/md_cg/whitebox_kb/knowledge//346/227/240/346/234/272/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +216 -0
  421. package/md_cg/whitebox_kb/knowledge//346/227/266/347/251/272/350/256/260/345/277/206/345/233/276/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +214 -0
  422. package/md_cg/whitebox_kb/knowledge//346/230/206/350/231/253/345/270/270/350/257/206.md +29 -0
  423. package/md_cg/whitebox_kb/knowledge//346/231/272/350/203/275/350/256/272/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +441 -0
  424. package/md_cg/whitebox_kb/knowledge//346/233/262/350/211/272/345/270/270/350/257/206.md +15 -0
  425. package/md_cg/whitebox_kb/knowledge//346/234/211/346/234/272/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +195 -0
  426. package/md_cg/whitebox_kb/knowledge//346/234/215/351/245/260/346/226/207/345/214/226.md +22 -0
  427. package/md_cg/whitebox_kb/knowledge//346/234/252/345/210/206/347/261/273.md +52 -0
  428. package/md_cg/whitebox_kb/knowledge//346/234/272/346/242/260/351/200/232/350/257/206.md +15 -0
  429. package/md_cg/whitebox_kb/knowledge//346/235/220/346/226/231/345/212/233/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +146 -0
  430. package/md_cg/whitebox_kb/knowledge//346/235/241/344/273/266/350/256/272/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +350 -0
  431. package/md_cg/whitebox_kb/knowledge//346/243/213/347/211/214/350/247/204/345/210/231.md +15 -0
  432. package/md_cg/whitebox_kb/knowledge//346/243/213/347/261/273/350/247/204/345/210/231.md +36 -0
  433. package/md_cg/whitebox_kb/knowledge//346/244/215/347/211/251/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +132 -0
  434. package/md_cg/whitebox_kb/knowledge//346/246/202/347/216/207/350/256/272/344/270/216/346/225/260/347/220/206/347/273/237/350/256/241/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +230 -0
  435. package/md_cg/whitebox_kb/knowledge//346/250/241/346/213/237/347/224/265/345/255/220/346/212/200/346/234/257/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +146 -0
  436. package/md_cg/whitebox_kb/knowledge//346/260/221/344/277/227.md +64 -0
  437. package/md_cg/whitebox_kb/knowledge//346/260/221/344/277/227/344/277/241/344/273/260.md +36 -0
  438. package/md_cg/whitebox_kb/knowledge//346/260/221/344/277/227/345/205/273/347/224/237.md +15 -0
  439. package/md_cg/whitebox_kb/knowledge//346/260/221/344/277/227/345/216/206/346/263/225.md +15 -0
  440. package/md_cg/whitebox_kb/knowledge//346/260/221/344/277/227/345/231/250/347/211/251.md +15 -0
  441. package/md_cg/whitebox_kb/knowledge//346/260/221/344/277/227/346/226/207/345/214/226.md +22 -0
  442. package/md_cg/whitebox_kb/knowledge//346/260/221/344/277/227/350/257/255/350/250/200.md +15 -0
  443. package/md_cg/whitebox_kb/knowledge//346/260/221/344/277/227/351/233/205/347/216/251.md +50 -0
  444. package/md_cg/whitebox_kb/knowledge//346/260/224/350/261/241/345/270/270/350/257/206.md +15 -0
  445. package/md_cg/whitebox_kb/knowledge//346/260/224/350/261/241/351/200/232/350/257/206.md +15 -0
  446. package/md_cg/whitebox_kb/knowledge//346/261/202/350/201/214/346/212/200/350/203/275.md +29 -0
  447. package/md_cg/whitebox_kb/knowledge//346/262/237/351/200/232.md +29 -0
  448. package/md_cg/whitebox_kb/knowledge//346/263/225/345/276/213/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +14 -0
  449. package/md_cg/whitebox_kb/knowledge//346/263/233/345/207/275/345/210/206/346/236/220/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +188 -0
  450. package/md_cg/whitebox_kb/knowledge//346/265/267/346/264/213/347/224/237/347/211/251.md +15 -0
  451. package/md_cg/whitebox_kb/knowledge//347/203/255/345/212/233/345/255/246/344/270/216/347/273/237/350/256/241/347/211/251/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +188 -0
  452. package/md_cg/whitebox_kb/knowledge//347/203/271/351/245/252/346/212/200/346/263/225.md +15 -0
  453. package/md_cg/whitebox_kb/knowledge//347/211/251/347/220/206/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +195 -0
  454. package/md_cg/whitebox_kb/knowledge//347/211/251/347/220/206/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +2256 -0
  455. package/md_cg/whitebox_kb/knowledge//347/216/260/344/273/243/346/261/211/350/257/255/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +125 -0
  456. package/md_cg/whitebox_kb/knowledge//347/220/206/350/256/272/345/212/233/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +209 -0
  457. package/md_cg/whitebox_kb/knowledge//347/224/237/346/200/201/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +132 -0
  458. package/md_cg/whitebox_kb/knowledge//347/224/237/346/264/273/345/215/253/347/224/237.md +15 -0
  459. package/md_cg/whitebox_kb/knowledge//347/224/237/346/264/273/345/270/270/350/257/206.md +1296 -0
  460. package/md_cg/whitebox_kb/knowledge//347/224/237/346/264/273/346/212/200/350/203/275.md +43 -0
  461. package/md_cg/whitebox_kb/knowledge//347/224/237/346/264/273/347/247/221/346/212/200.md +22 -0
  462. package/md_cg/whitebox_kb/knowledge//347/224/237/346/264/273/351/200/232/350/257/206.md +15 -0
  463. package/md_cg/whitebox_kb/knowledge//347/224/237/347/211/251/344/277/235/346/212/244.md +36 -0
  464. package/md_cg/whitebox_kb/knowledge//347/224/237/347/211/251/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +209 -0
  465. package/md_cg/whitebox_kb/knowledge//347/224/237/347/211/251/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +1759 -0
  466. package/md_cg/whitebox_kb/knowledge//347/224/237/347/220/206/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +132 -0
  467. package/md_cg/whitebox_kb/knowledge//347/224/265/345/212/250/345/212/233/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +188 -0
  468. package/md_cg/whitebox_kb/knowledge//347/224/265/350/267/257/345/216/237/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +146 -0
  469. package/md_cg/whitebox_kb/knowledge//347/231/275/347/256/261/345/215/217/350/256/256.md +22 -0
  470. package/md_cg/whitebox_kb/knowledge//347/233/212/346/231/272/346/270/270/346/210/217.md +15 -0
  471. package/md_cg/whitebox_kb/knowledge//347/233/212/346/231/272/351/200/232/350/257/206.md +15 -0
  472. package/md_cg/whitebox_kb/knowledge//347/244/276/344/272/244/346/212/200/345/267/247.md +15 -0
  473. package/md_cg/whitebox_kb/knowledge//347/244/276/344/274/232/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +117 -0
  474. package/md_cg/whitebox_kb/knowledge//347/244/276/344/274/232/347/247/221/345/255/246.md +43 -0
  475. package/md_cg/whitebox_kb/knowledge//347/245/236/350/257/235/344/274/240/350/257/264.md +15 -0
  476. package/md_cg/whitebox_kb/knowledge//347/247/221/345/255/246/345/217/262.md +22 -0
  477. package/md_cg/whitebox_kb/knowledge//347/247/221/346/212/200/351/200/232/350/257/206.md +78 -0
  478. package/md_cg/whitebox_kb/knowledge//347/250/213/345/272/217/350/256/276/350/256/241/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +146 -0
  479. package/md_cg/whitebox_kb/knowledge//347/256/227/346/263/225/350/256/276/350/256/241/344/270/216/345/210/206/346/236/220/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +153 -0
  480. package/md_cg/whitebox_kb/knowledge//347/256/241/347/220/206/345/255/246/345/216/237/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +167 -0
  481. package/md_cg/whitebox_kb/knowledge//347/272/277/346/200/247/344/273/243/346/225/260/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +202 -0
  482. package/md_cg/whitebox_kb/knowledge//347/273/206/350/203/236/347/224/237/347/211/251/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +181 -0
  483. package/md_cg/whitebox_kb/knowledge//347/273/217/346/265/216/345/217/262.md +43 -0
  484. package/md_cg/whitebox_kb/knowledge//347/273/217/346/265/216/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +204 -0
  485. package/md_cg/whitebox_kb/knowledge//347/273/223/346/236/204/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +153 -0
  486. package/md_cg/whitebox_kb/knowledge//347/273/274/345/220/210/302/267/347/273/264/345/237/272/347/273/274/350/277/260.md +184 -0
  487. package/md_cg/whitebox_kb/knowledge//347/274/226/347/250/213-Git.md +15 -0
  488. package/md_cg/whitebox_kb/knowledge//347/274/226/347/250/213-JS.md +15 -0
  489. package/md_cg/whitebox_kb/knowledge//347/274/226/347/250/213/346/246/202/345/277/265.md +15 -0
  490. package/md_cg/whitebox_kb/knowledge//347/274/226/347/250/213/350/257/255/350/250/200.md +120 -0
  491. package/md_cg/whitebox_kb/knowledge//347/274/226/350/257/221/345/216/237/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +146 -0
  492. package/md_cg/whitebox_kb/knowledge//347/275/221/347/273/234/345/256/211/345/205/250.md +34 -0
  493. package/md_cg/whitebox_kb/knowledge//350/200/203/345/217/244/345/270/270/350/257/206.md +64 -0
  494. package/md_cg/whitebox_kb/knowledge//350/207/252/346/210/221/346/204/217/350/257/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +270 -0
  495. package/md_cg/whitebox_kb/knowledge//350/211/272/346/234/257/345/220/215/345/256/266.md +15 -0
  496. package/md_cg/whitebox_kb/knowledge//350/211/272/346/234/257/346/265/201/346/264/276.md +15 -0
  497. package/md_cg/whitebox_kb/knowledge//350/214/266/346/226/207/345/214/226.md +15 -0
  498. package/md_cg/whitebox_kb/knowledge//350/256/241/347/256/227/346/234/272/347/247/221/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +4265 -0
  499. package/md_cg/whitebox_kb/knowledge//350/256/241/347/256/227/346/234/272/347/273/204/346/210/220/345/216/237/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +160 -0
  500. package/md_cg/whitebox_kb/knowledge//350/256/241/347/256/227/346/234/272/347/275/221/347/273/234/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +160 -0
  501. package/md_cg/whitebox_kb/knowledge//350/257/255/350/250/200/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +373 -0
  502. package/md_cg/whitebox_kb/knowledge//350/264/247/345/270/201/345/217/262.md +15 -0
  503. package/md_cg/whitebox_kb/knowledge//350/264/247/345/270/201/345/270/270/350/257/206.md +15 -0
  504. package/md_cg/whitebox_kb/knowledge//350/275/257/344/273/266/345/267/245/347/250/213/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +160 -0
  505. package/md_cg/whitebox_kb/knowledge//350/277/220/345/212/250/345/201/245/345/272/267.md +15 -0
  506. package/md_cg/whitebox_kb/knowledge//350/277/220/345/212/250/345/270/270/350/257/206.md +15 -0
  507. package/md_cg/whitebox_kb/knowledge//350/277/220/345/212/250/347/247/221/345/255/246.md +22 -0
  508. package/md_cg/whitebox_kb/knowledge//350/277/221/344/270/226/346/234/215/351/245/260.md +15 -0
  509. package/md_cg/whitebox_kb/knowledge//351/200/273/350/276/221/345/255/246.md +14 -0
  510. package/md_cg/whitebox_kb/knowledge//351/201/227/344/274/240/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +167 -0
  511. package/md_cg/whitebox_kb/knowledge//351/207/217/345/255/220/345/212/233/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +209 -0
  512. package/md_cg/whitebox_kb/knowledge//351/207/221/350/236/215/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +125 -0
  513. package/md_cg/whitebox_kb/knowledge//351/235/236/351/201/227/350/211/272/346/234/257.md +43 -0
  514. package/md_cg/whitebox_kb/knowledge//351/237/263/344/271/220.md +15 -0
  515. package/md_cg/whitebox_kb/knowledge//351/237/263/344/271/220/345/220/215/345/256/266.md +22 -0
  516. package/md_cg/whitebox_kb/knowledge//351/237/263/344/271/220/345/270/270/350/257/206.md +29 -0
  517. package/md_cg/whitebox_kb/knowledge//351/243/237/345/223/201/347/247/221/345/255/246.md +57 -0
  518. package/md_cg/whitebox_kb/knowledge//351/245/256/351/243/237/345/270/270/350/257/206.md +29 -0
  519. package/md_cg/whitebox_kb/knowledge//351/245/256/351/243/237/346/226/207/345/214/226.md +29 -0
  520. package/md_cg/whitebox_kb/knowledge//351/253/230/344/270/255/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +566 -0
  521. package/md_cg/whitebox_kb/knowledge//351/253/230/344/270/255/345/216/206/345/217/262/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +146 -0
  522. package/md_cg/whitebox_kb/knowledge//351/253/230/344/270/255/345/234/260/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +139 -0
  523. package/md_cg/whitebox_kb/knowledge//351/253/230/344/270/255/346/200/235/346/203/263/346/224/277/346/262/273/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +174 -0
  524. package/md_cg/whitebox_kb/knowledge//351/253/230/344/270/255/346/225/260/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +566 -0
  525. package/md_cg/whitebox_kb/knowledge//351/253/230/344/270/255/347/211/251/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +692 -0
  526. package/md_cg/whitebox_kb/knowledge//351/253/230/344/270/255/347/224/237/347/211/251/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +440 -0
  527. package/md_cg/whitebox_kb/knowledge//351/253/230/344/270/255/350/213/261/350/257/255/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +167 -0
  528. package/md_cg/whitebox_kb/knowledge//351/253/230/344/270/255/350/257/255/346/226/207/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +153 -0
  529. package/md_cg/whitebox_kb/knowledge//351/253/230/345/210/206/345/255/220/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +146 -0
  530. package/md_cg/whitebox_kb/knowledge//351/253/230/347/255/211/344/273/243/346/225/260/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +244 -0
  531. package/md_cg/whitebox_kb/knowledge//351/253/230/347/255/211/346/225/260/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +384 -0
  532. package/md_cg/whitebox_kb/seed_knowledge/__init__.py +2 -0
  533. package/md_cg/whitebox_kb/seed_knowledge/guardrail-charter.md +164 -0
  534. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//344/270/255/345/233/275/345/217/244/344/273/243/346/226/207/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +113 -0
  535. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//344/270/255/345/233/275/347/216/260/344/273/243/346/226/207/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +89 -0
  536. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//344/272/272/345/267/245/346/231/272/350/203/275/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +121 -0
  537. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//344/272/272/347/261/273/350/247/202/345/257/237/350/200/205/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +161 -0
  538. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//344/274/232/350/256/241/345/255/246/345/216/237/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +89 -0
  539. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//344/277/241/346/201/257/350/256/272/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +90 -0
  540. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/210/206/345/255/220/347/224/237/347/211/251/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +113 -0
  541. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/210/206/346/236/220/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +113 -0
  542. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/210/235/344/270/255/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +241 -0
  543. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/210/235/344/270/255/345/216/206/345/217/262/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +117 -0
  544. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/210/235/344/270/255/345/234/260/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +109 -0
  545. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/210/235/344/270/255/346/225/260/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +241 -0
  546. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/210/235/344/270/255/347/211/251/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +317 -0
  547. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/210/235/344/270/255/347/224/237/347/211/251/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +261 -0
  548. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/210/235/344/270/255/350/213/261/350/257/255/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +113 -0
  549. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/210/235/344/270/255/350/257/255/346/226/207/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +113 -0
  550. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/210/235/344/270/255/351/201/223/345/276/267/344/270/216/346/263/225/346/262/273/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +105 -0
  551. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/212/250/347/211/251/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +101 -0
  552. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +1194 -0
  553. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/214/226/345/267/245/345/216/237/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +113 -0
  554. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/214/273/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +111 -0
  555. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/216/206/345/217/262/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +278 -0
  556. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/216/237/345/255/220/347/211/251/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +97 -0
  557. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/217/244/344/273/243/346/261/211/350/257/255/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +97 -0
  558. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/223/262/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +111 -0
  559. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/233/272/344/275/223/347/211/251/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +133 -0
  560. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/234/237/346/234/250/345/267/245/347/250/213/345/237/272/347/241/200/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +89 -0
  561. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/234/260/347/220/206/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +154 -0
  562. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/244/215/345/217/230/345/207/275/346/225/260/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +129 -0
  563. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/244/226/345/233/275/346/226/207/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +85 -0
  564. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/244/247/345/255/246/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +169 -0
  565. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/244/247/345/255/246/346/200/235/346/224/277/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +117 -0
  566. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/244/247/345/255/246/347/211/251/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +201 -0
  567. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/244/247/345/255/246/350/213/261/350/257/255/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +93 -0
  568. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/244/251/344/275/223/347/211/251/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +89 -0
  569. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/244/251/346/226/207/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +131 -0
  570. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/256/217/350/247/202/347/273/217/346/265/216/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +105 -0
  571. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/256/236/345/217/230/345/207/275/346/225/260/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +129 -0
  572. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/260/217/345/255/246/346/225/260/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +333 -0
  573. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/260/217/345/255/246/347/247/221/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +1124 -0
  574. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/260/217/345/255/246/350/213/261/350/257/255/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +105 -0
  575. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/260/217/345/255/246/350/257/255/346/226/207/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +117 -0
  576. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/260/217/345/255/246/351/201/223/345/276/267/344/270/216/346/263/225/346/262/273/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +105 -0
  577. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/267/245/347/250/213/345/210/266/345/233/276/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +85 -0
  578. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/267/245/347/250/213/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +362 -0
  579. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/270/202/345/234/272/350/220/245/351/224/200/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +81 -0
  580. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/270/270/345/276/256/345/210/206/346/226/271/347/250/213/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +153 -0
  581. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/276/256/345/210/206/345/207/240/344/275/225/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +101 -0
  582. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/276/256/347/224/237/347/211/251/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +97 -0
  583. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/276/256/350/247/202/347/273/217/346/265/216/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +101 -0
  584. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//345/277/203/347/220/206/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +119 -0
  585. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/203/205/346/204/237/346/203/205/347/273/252/344/273/277/347/234/237/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +186 -0
  586. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/212/275/350/261/241/344/273/243/346/225/260/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +109 -0
  587. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/213/223/346/211/221/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +97 -0
  588. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/223/215/344/275/234/347/263/273/347/273/237/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +109 -0
  589. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/224/277/346/262/273/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +234 -0
  590. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/225/260/345/200/274/345/210/206/346/236/220/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +133 -0
  591. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/225/260/345/255/227/347/224/265/350/267/257/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +101 -0
  592. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/225/260/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +1166 -0
  593. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/225/260/345/255/246/345/210/206/346/236/220/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +217 -0
  594. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/225/260/345/255/246/347/211/251/347/220/206/346/226/271/346/263/225/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +105 -0
  595. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/225/260/346/215/256/345/272/223/347/263/273/347/273/237/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +101 -0
  596. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/225/260/346/215/256/347/273/223/346/236/204/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +117 -0
  597. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/226/207/345/255/246/347/220/206/350/256/272/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +89 -0
  598. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/227/240/346/234/272/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +141 -0
  599. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/227/266/347/251/272/350/256/260/345/277/206/345/233/276/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +214 -0
  600. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/231/272/350/203/275/350/256/272/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +350 -0
  601. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/234/211/346/234/272/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +129 -0
  602. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/235/220/346/226/231/345/212/233/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +101 -0
  603. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/235/241/344/273/266/350/256/272/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +350 -0
  604. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/244/215/347/211/251/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +89 -0
  605. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/246/202/347/216/207/350/256/272/344/270/216/346/225/260/347/220/206/347/273/237/350/256/241/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +149 -0
  606. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/250/241/346/213/237/347/224/265/345/255/220/346/212/200/346/234/257/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +101 -0
  607. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//346/263/233/345/207/275/345/210/206/346/236/220/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +125 -0
  608. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/203/255/345/212/233/345/255/246/344/270/216/347/273/237/350/256/241/347/211/251/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +125 -0
  609. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/211/251/347/220/206/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +129 -0
  610. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/211/251/347/220/206/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +1302 -0
  611. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/216/260/344/273/243/346/261/211/350/257/255/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +89 -0
  612. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/220/206/350/256/272/345/212/233/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +137 -0
  613. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/224/237/346/200/201/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +93 -0
  614. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/224/237/347/211/251/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +137 -0
  615. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/224/237/347/211/251/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +1018 -0
  616. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/224/237/347/220/206/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +93 -0
  617. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/224/265/345/212/250/345/212/233/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +125 -0
  618. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/224/265/350/267/257/345/216/237/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +101 -0
  619. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/244/276/344/274/232/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +111 -0
  620. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/250/213/345/272/217/350/256/276/350/256/241/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +101 -0
  621. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/256/227/346/263/225/350/256/276/350/256/241/344/270/216/345/210/206/346/236/220/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +105 -0
  622. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/256/241/347/220/206/345/255/246/345/216/237/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +89 -0
  623. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/272/277/346/200/247/344/273/243/346/225/260/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +133 -0
  624. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/273/206/350/203/236/347/224/237/347/211/251/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +121 -0
  625. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/273/217/346/265/216/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +169 -0
  626. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/273/223/346/236/204/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +105 -0
  627. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/273/274/345/220/210/302/267/347/273/264/345/237/272/347/273/274/350/277/260.md +184 -0
  628. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//347/274/226/350/257/221/345/216/237/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +101 -0
  629. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//350/207/252/346/210/221/346/204/217/350/257/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +270 -0
  630. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//350/256/241/347/256/227/346/234/272/347/247/221/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +698 -0
  631. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//350/256/241/347/256/227/346/234/272/347/273/204/346/210/220/345/216/237/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +109 -0
  632. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//350/256/241/347/256/227/346/234/272/347/275/221/347/273/234/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +109 -0
  633. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//350/257/255/350/250/200/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +226 -0
  634. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//350/275/257/344/273/266/345/267/245/347/250/213/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +97 -0
  635. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//351/201/227/344/274/240/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +113 -0
  636. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//351/207/217/345/255/220/345/212/233/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +137 -0
  637. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//351/207/221/350/236/215/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +89 -0
  638. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//351/253/230/344/270/255/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +341 -0
  639. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//351/253/230/344/270/255/345/216/206/345/217/262/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +101 -0
  640. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//351/253/230/344/270/255/345/234/260/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +97 -0
  641. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//351/253/230/344/270/255/346/200/235/346/203/263/346/224/277/346/262/273/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +117 -0
  642. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//351/253/230/344/270/255/346/225/260/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +341 -0
  643. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//351/253/230/344/270/255/347/211/251/347/220/206/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +365 -0
  644. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//351/253/230/344/270/255/347/224/237/347/211/251/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +269 -0
  645. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//351/253/230/344/270/255/350/213/261/350/257/255/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +113 -0
  646. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//351/253/230/344/270/255/350/257/255/346/226/207/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +105 -0
  647. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//351/253/230/345/210/206/345/255/220/345/214/226/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +101 -0
  648. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//351/253/230/347/255/211/344/273/243/346/225/260/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +157 -0
  649. package/md_cg/whitebox_kb/seed_knowledge/wisdom_cards//351/253/230/347/255/211/346/225/260/345/255/246/302/267/347/237/245/350/257/206/347/273/274/350/277/260.md +237 -0
  650. package/md_cg/whitebox_kb/seed_knowledge//346/231/272/350/203/275/350/256/2723.3.md +4620 -0
  651. package/md_cg/whitebox_kb/wisdom/__init__.py +6 -0
  652. package/md_cg/whitebox_kb/wisdom/__pycache__/browser_units.cpython-310.pyc +0 -0
  653. package/md_cg/whitebox_kb/wisdom/__pycache__/chat_engine.cpython-310.pyc +0 -0
  654. package/md_cg/whitebox_kb/wisdom/__pycache__/code_compose.cpython-310.pyc +0 -0
  655. package/md_cg/whitebox_kb/wisdom/__pycache__/compiler_code_units.cpython-310.pyc +0 -0
  656. package/md_cg/whitebox_kb/wisdom/__pycache__/condition_frame.cpython-310.pyc +0 -0
  657. package/md_cg/whitebox_kb/wisdom/__pycache__/condition_kb.cpython-310.pyc +0 -0
  658. package/md_cg/whitebox_kb/wisdom/__pycache__/danmaku_audit.cpython-310.pyc +0 -0
  659. package/md_cg/whitebox_kb/wisdom/__pycache__/graph_db_units.cpython-310.pyc +0 -0
  660. package/md_cg/whitebox_kb/wisdom/__pycache__/net_units.cpython-310.pyc +0 -0
  661. package/md_cg/whitebox_kb/wisdom/__pycache__/neural_retrieve.cpython-310.pyc +0 -0
  662. package/md_cg/whitebox_kb/wisdom/__pycache__/os_units.cpython-310.pyc +0 -0
  663. package/md_cg/whitebox_kb/wisdom/__pycache__/python_code_units.cpython-310.pyc +0 -0
  664. package/md_cg/whitebox_kb/wisdom/__pycache__/route_memory.cpython-310.pyc +0 -0
  665. package/md_cg/whitebox_kb/wisdom/__pycache__/semantic_translate.cpython-310.pyc +0 -0
  666. package/md_cg/whitebox_kb/wisdom/__pycache__/verifier.cpython-310.pyc +0 -0
  667. package/md_cg/whitebox_kb/wisdom/__pycache__/verify_answer.cpython-310.pyc +0 -0
  668. package/md_cg/whitebox_kb/wisdom/__pycache__/wisdom_book.cpython-310.pyc +0 -0
  669. package/md_cg/whitebox_kb/wisdom/__pycache__/wisdom_cloud.cpython-310.pyc +0 -0
  670. package/md_cg/whitebox_kb/wisdom/answer_spec_anchor.py +87 -0
  671. package/md_cg/whitebox_kb/wisdom/audit_log/chain_heat.json +26 -0
  672. package/md_cg/whitebox_kb/wisdom/browser_units.py +2631 -0
  673. package/md_cg/whitebox_kb/wisdom/card_validator.py +223 -0
  674. package/md_cg/whitebox_kb/wisdom/causal_discover.py +313 -0
  675. package/md_cg/whitebox_kb/wisdom/chat.html +185 -0
  676. package/md_cg/whitebox_kb/wisdom/chat_engine.py +1506 -0
  677. package/md_cg/whitebox_kb/wisdom/code_compose.py +730 -0
  678. package/md_cg/whitebox_kb/wisdom/code_qa.py +119 -0
  679. package/md_cg/whitebox_kb/wisdom/code_route_bridge.py +90 -0
  680. package/md_cg/whitebox_kb/wisdom/code_solidified.json +6196 -0
  681. package/md_cg/whitebox_kb/wisdom/code_test_runner.py +217 -0
  682. package/md_cg/whitebox_kb/wisdom/codegraph_white.py +312 -0
  683. package/md_cg/whitebox_kb/wisdom/compiler_code_units.py +3033 -0
  684. package/md_cg/whitebox_kb/wisdom/compiler_compose.py +160 -0
  685. package/md_cg/whitebox_kb/wisdom/compose_engine.py +1633 -0
  686. package/md_cg/whitebox_kb/wisdom/condition_algebra.py +112 -0
  687. package/md_cg/whitebox_kb/wisdom/condition_frame.py +315 -0
  688. package/md_cg/whitebox_kb/wisdom/condition_kb.py +108 -0
  689. package/md_cg/whitebox_kb/wisdom/condition_vm.py +264 -0
  690. package/md_cg/whitebox_kb/wisdom/conflict_map.json +4446 -0
  691. package/md_cg/whitebox_kb/wisdom/core/compiler.py +301 -0
  692. package/md_cg/whitebox_kb/wisdom/core/condition_vm.py +298 -0
  693. package/md_cg/whitebox_kb/wisdom/core/lexer.py +512 -0
  694. package/md_cg/whitebox_kb/wisdom/core/name_checker.py +1023 -0
  695. package/md_cg/whitebox_kb/wisdom/core/parser.py +1065 -0
  696. package/md_cg/whitebox_kb/wisdom/cspmn.py +258 -0
  697. package/md_cg/whitebox_kb/wisdom/csre.py +256 -0
  698. package/md_cg/whitebox_kb/wisdom/csre_lexicon_index.npz +0 -0
  699. package/md_cg/whitebox_kb/wisdom/danmaku_audit.py +252 -0
  700. package/md_cg/whitebox_kb/wisdom/danmaku_bridge.py +141 -0
  701. package/md_cg/whitebox_kb/wisdom/distilled_condition_units.json +6418 -0
  702. package/md_cg/whitebox_kb/wisdom/docs/WB-EVAL-20260902b.json +1951 -0
  703. package/md_cg/whitebox_kb/wisdom/docs/WB-EVAL-20260902c.json +1297 -0
  704. package/md_cg/whitebox_kb/wisdom/docs/codegraph_ref_rating.md +52 -0
  705. package/md_cg/whitebox_kb/wisdom/docs/daoti_absorb_analysis.md +54 -0
  706. package/md_cg/whitebox_kb/wisdom/docs/dsh_memory_v030_stable.md +34 -0
  707. package/md_cg/whitebox_kb/wisdom/docs/github_absorb_analysis.md +71 -0
  708. package/md_cg/whitebox_kb/wisdom/docs/gliding_horse_absorb_analysis.md +47 -0
  709. package/md_cg/whitebox_kb/wisdom/docs/whitebox_capability_graph.md +61 -0
  710. package/md_cg/whitebox_kb/wisdom/docs/whitebox_capability_graph_demo.json +60 -0
  711. package/md_cg/whitebox_kb/wisdom/docs/whitebox_code_rating_202609.md +43 -0
  712. package/md_cg/whitebox_kb/wisdom/docs//344/273/243/347/240/201/346/235/241/344/273/266/350/267/257/347/224/261/345/233/276_CCG/350/256/276/350/256/241.md +150 -0
  713. package/md_cg/whitebox_kb/wisdom/docs//344/273/243/347/240/201/350/257/255/344/271/211/346/235/241/344/273/266/345/215/217/350/256/256.md +650 -0
  714. package/md_cg/whitebox_kb/wisdom/docs//345/261/200/351/203/250/346/234/200/344/274/230/344/270/216/346/203/205/347/273/252/345/201/217/345/245/275_/347/220/206/350/256/272/345/267/245/347/250/213.md +97 -0
  715. package/md_cg/whitebox_kb/wisdom/docs//346/226/271/345/220/221/346/200/247/346/212/211/346/213/251_/350/207/252/344/270/276vs/350/207/252/350/277/255/344/273/243.md +81 -0
  716. package/md_cg/whitebox_kb/wisdom/docs//347/201/265/346/236/242AGI/346/236/266/346/236/204/346/216/242/347/264/242_/346/226/207/346/241/243/350/247/204/345/210/222.md +51 -0
  717. package/md_cg/whitebox_kb/wisdom/docs//347/201/265/346/236/242/346/217/222/344/273/266/345/210/206/347/261/273/345/210/206/346/236/220.md +67 -0
  718. package/md_cg/whitebox_kb/wisdom/docs//347/231/275/347/256/261/346/234/254/345/234/260/346/240/241/351/252/214/345/231/250_ZeroLLM_Verifier.md +276 -0
  719. package/md_cg/whitebox_kb/wisdom/docs//347/231/275/347/256/261/350/207/252/344/270/276/347/254/254/345/205/255/351/230/266/346/256/265_/346/224/266/345/256/230/346/200/273/347/273/223.md +1207 -0
  720. package/md_cg/whitebox_kb/wisdom/ds_compose.py +177 -0
  721. package/md_cg/whitebox_kb/wisdom/graph_db_units.py +3089 -0
  722. package/md_cg/whitebox_kb/wisdom/graph_qa.py +123 -0
  723. package/md_cg/whitebox_kb/wisdom/human_observer_knowledge.json +43 -0
  724. package/md_cg/whitebox_kb/wisdom/knowledge_points.py +234 -0
  725. package/md_cg/whitebox_kb/wisdom/merge_subgraph.py +178 -0
  726. package/md_cg/whitebox_kb/wisdom/migrate_wisdom.py +475 -0
  727. package/md_cg/whitebox_kb/wisdom/mini_python.py +958 -0
  728. package/md_cg/whitebox_kb/wisdom/multilang_ir.py +124 -0
  729. package/md_cg/whitebox_kb/wisdom/navigate.py +248 -0
  730. package/md_cg/whitebox_kb/wisdom/net_units.py +2895 -0
  731. package/md_cg/whitebox_kb/wisdom/neural_index.json +3032 -0
  732. package/md_cg/whitebox_kb/wisdom/neural_index.npz +0 -0
  733. package/md_cg/whitebox_kb/wisdom/neural_retrieve.py +224 -0
  734. package/md_cg/whitebox_kb/wisdom/os_units.py +2735 -0
  735. package/md_cg/whitebox_kb/wisdom/pattern_separation.py +223 -0
  736. package/md_cg/whitebox_kb/wisdom/prereq_map.json +365 -0
  737. package/md_cg/whitebox_kb/wisdom/python_code_units.py +2766 -0
  738. package/md_cg/whitebox_kb/wisdom/role_compose.py +268 -0
  739. package/md_cg/whitebox_kb/wisdom/role_solidified.json +8 -0
  740. package/md_cg/whitebox_kb/wisdom/route_memory.py +244 -0
  741. package/md_cg/whitebox_kb/wisdom/scene_reconstruction.py +148 -0
  742. package/md_cg/whitebox_kb/wisdom/se_compose.py +137 -0
  743. package/md_cg/whitebox_kb/wisdom/semantic_translate.py +4050 -0
  744. package/md_cg/whitebox_kb/wisdom/snr_dashboard.py +219 -0
  745. package/md_cg/whitebox_kb/wisdom/snr_report.json +41 -0
  746. package/md_cg/whitebox_kb/wisdom/spatial_closure.py +96 -0
  747. package/md_cg/whitebox_kb/wisdom/spatial_qa.py +182 -0
  748. package/md_cg/whitebox_kb/wisdom/status_terms.json +21 -0
  749. package/md_cg/whitebox_kb/wisdom/task_discipline.json +43 -0
  750. package/md_cg/whitebox_kb/wisdom/test_code_compose_domains.py +7541 -0
  751. package/md_cg/whitebox_kb/wisdom/test_compiler_self_bootstrap.py +354 -0
  752. package/md_cg/whitebox_kb/wisdom/test_ecosystem_assembly.py +158 -0
  753. package/md_cg/whitebox_kb/wisdom/test_ecosystem_demos.py +193 -0
  754. package/md_cg/whitebox_kb/wisdom/test_graph_db.py +292 -0
  755. package/md_cg/whitebox_kb/wisdom/test_navigate_self_bootstrap.py +69 -0
  756. package/md_cg/whitebox_kb/wisdom/test_python_self_bootstrap.py +160 -0
  757. package/md_cg/whitebox_kb/wisdom/trigger_words_index.json +4367 -0
  758. package/md_cg/whitebox_kb/wisdom/verifier.py +1012 -0
  759. package/md_cg/whitebox_kb/wisdom/verify_answer.py +116 -0
  760. package/md_cg/whitebox_kb/wisdom/wisdom-book-cloud.db +0 -0
  761. package/md_cg/whitebox_kb/wisdom/wisdom_book.py +2582 -0
  762. package/md_cg/whitebox_kb/wisdom/wisdom_cloud.py +479 -0
  763. package/md_cg/whitebox_kb/wisdom/wisdom_ui.html +863 -0
  764. package/package.json +28 -10
  765. package/skills/README.md +108 -0
  766. package/skills/plugin.json +52 -0
  767. package/skills/skills/analyze-type-infer/SKILL.md +45 -0
  768. package/skills/skills/browser-02898b15/SKILL.md +45 -0
  769. package/skills/skills/browser-03b04f98/SKILL.md +45 -0
  770. package/skills/skills/browser-0754386d/SKILL.md +45 -0
  771. package/skills/skills/browser-093c03ab/SKILL.md +45 -0
  772. package/skills/skills/browser-09e60b35/SKILL.md +45 -0
  773. package/skills/skills/browser-0ab4f2db/SKILL.md +45 -0
  774. package/skills/skills/browser-0c7f88d6/SKILL.md +45 -0
  775. package/skills/skills/browser-0f598430/SKILL.md +45 -0
  776. package/skills/skills/browser-0fd64fa5/SKILL.md +45 -0
  777. package/skills/skills/browser-17906c62/SKILL.md +45 -0
  778. package/skills/skills/browser-18f823e2/SKILL.md +45 -0
  779. package/skills/skills/browser-1bafe81c/SKILL.md +45 -0
  780. package/skills/skills/browser-1f9ab1f0/SKILL.md +45 -0
  781. package/skills/skills/browser-1fdb5852/SKILL.md +45 -0
  782. package/skills/skills/browser-21b0359c/SKILL.md +45 -0
  783. package/skills/skills/browser-22e8de36/SKILL.md +45 -0
  784. package/skills/skills/browser-24163519/SKILL.md +45 -0
  785. package/skills/skills/browser-2471a991/SKILL.md +45 -0
  786. package/skills/skills/browser-25afee4d/SKILL.md +45 -0
  787. package/skills/skills/browser-283a91bd/SKILL.md +45 -0
  788. package/skills/skills/browser-2895ff52/SKILL.md +45 -0
  789. package/skills/skills/browser-2cc1da58/SKILL.md +45 -0
  790. package/skills/skills/browser-3189fe6f/SKILL.md +45 -0
  791. package/skills/skills/browser-31f2b08f/SKILL.md +45 -0
  792. package/skills/skills/browser-37b8339e/SKILL.md +45 -0
  793. package/skills/skills/browser-396ec3a6/SKILL.md +45 -0
  794. package/skills/skills/browser-3df2f904/SKILL.md +45 -0
  795. package/skills/skills/browser-43154cec/SKILL.md +45 -0
  796. package/skills/skills/browser-434b74b8/SKILL.md +45 -0
  797. package/skills/skills/browser-440d4398/SKILL.md +45 -0
  798. package/skills/skills/browser-44d7f183/SKILL.md +45 -0
  799. package/skills/skills/browser-4d6c0788/SKILL.md +45 -0
  800. package/skills/skills/browser-50fecd89/SKILL.md +45 -0
  801. package/skills/skills/browser-555c0626/SKILL.md +45 -0
  802. package/skills/skills/browser-57312d24/SKILL.md +45 -0
  803. package/skills/skills/browser-59a0ada4/SKILL.md +45 -0
  804. package/skills/skills/browser-5a455aeb/SKILL.md +45 -0
  805. package/skills/skills/browser-5ae7623a/SKILL.md +45 -0
  806. package/skills/skills/browser-5dac60b6/SKILL.md +45 -0
  807. package/skills/skills/browser-5e5f1396/SKILL.md +45 -0
  808. package/skills/skills/browser-5ebb01dd/SKILL.md +45 -0
  809. package/skills/skills/browser-5f5453f9/SKILL.md +45 -0
  810. package/skills/skills/browser-5f90f58c/SKILL.md +45 -0
  811. package/skills/skills/browser-609362ee/SKILL.md +45 -0
  812. package/skills/skills/browser-60aefeeb/SKILL.md +45 -0
  813. package/skills/skills/browser-6636d49c/SKILL.md +45 -0
  814. package/skills/skills/browser-6cfcb6db/SKILL.md +45 -0
  815. package/skills/skills/browser-6e1c1158/SKILL.md +45 -0
  816. package/skills/skills/browser-7008e942/SKILL.md +45 -0
  817. package/skills/skills/browser-716cd26c/SKILL.md +45 -0
  818. package/skills/skills/browser-720ce1a1/SKILL.md +45 -0
  819. package/skills/skills/browser-77a97b43/SKILL.md +45 -0
  820. package/skills/skills/browser-7bb4871d/SKILL.md +45 -0
  821. package/skills/skills/browser-7be57bbe/SKILL.md +45 -0
  822. package/skills/skills/browser-7da433f3/SKILL.md +45 -0
  823. package/skills/skills/browser-7e96fe1d/SKILL.md +45 -0
  824. package/skills/skills/browser-7f9cefec/SKILL.md +45 -0
  825. package/skills/skills/browser-80224e71/SKILL.md +45 -0
  826. package/skills/skills/browser-81345ecd/SKILL.md +45 -0
  827. package/skills/skills/browser-822cfa44/SKILL.md +45 -0
  828. package/skills/skills/browser-853690c0/SKILL.md +45 -0
  829. package/skills/skills/browser-85553126/SKILL.md +45 -0
  830. package/skills/skills/browser-87b0ce80/SKILL.md +45 -0
  831. package/skills/skills/browser-900c4484/SKILL.md +45 -0
  832. package/skills/skills/browser-910405c4/SKILL.md +45 -0
  833. package/skills/skills/browser-95fd3c86/SKILL.md +45 -0
  834. package/skills/skills/browser-97a14ca3/SKILL.md +45 -0
  835. package/skills/skills/browser-9de10895/SKILL.md +45 -0
  836. package/skills/skills/browser-9e4914a7/SKILL.md +45 -0
  837. package/skills/skills/browser-a280ec64/SKILL.md +45 -0
  838. package/skills/skills/browser-a2d9b0b0/SKILL.md +45 -0
  839. package/skills/skills/browser-a372edeb/SKILL.md +45 -0
  840. package/skills/skills/browser-a4c793a4/SKILL.md +45 -0
  841. package/skills/skills/browser-a681d0c2/SKILL.md +45 -0
  842. package/skills/skills/browser-a7a2b0c1/SKILL.md +45 -0
  843. package/skills/skills/browser-a990e68e/SKILL.md +45 -0
  844. package/skills/skills/browser-aaac4eec/SKILL.md +45 -0
  845. package/skills/skills/browser-ae6586bb/SKILL.md +45 -0
  846. package/skills/skills/browser-afa4091f/SKILL.md +45 -0
  847. package/skills/skills/browser-b4c8cf65/SKILL.md +45 -0
  848. package/skills/skills/browser-b501767c/SKILL.md +45 -0
  849. package/skills/skills/browser-bcd4288d/SKILL.md +45 -0
  850. package/skills/skills/browser-bfad66a5/SKILL.md +45 -0
  851. package/skills/skills/browser-c45cbfe9/SKILL.md +45 -0
  852. package/skills/skills/browser-c4dd6078/SKILL.md +45 -0
  853. package/skills/skills/browser-c879eb0b/SKILL.md +45 -0
  854. package/skills/skills/browser-c92ac01b/SKILL.md +45 -0
  855. package/skills/skills/browser-cb179242/SKILL.md +45 -0
  856. package/skills/skills/browser-cc7d3d6d/SKILL.md +45 -0
  857. package/skills/skills/browser-cf3c47f0/SKILL.md +45 -0
  858. package/skills/skills/browser-cf9f812e/SKILL.md +45 -0
  859. package/skills/skills/browser-d462581c/SKILL.md +45 -0
  860. package/skills/skills/browser-d5fa0b7f/SKILL.md +45 -0
  861. package/skills/skills/browser-d72e225b/SKILL.md +45 -0
  862. package/skills/skills/browser-df1a919e/SKILL.md +45 -0
  863. package/skills/skills/browser-e84565c1/SKILL.md +45 -0
  864. package/skills/skills/browser-e947a564/SKILL.md +45 -0
  865. package/skills/skills/browser-ea9b2b8e/SKILL.md +45 -0
  866. package/skills/skills/browser-f5ffc6d9/SKILL.md +45 -0
  867. package/skills/skills/browser-f75a4418/SKILL.md +45 -0
  868. package/skills/skills/browser-f8f2966e/SKILL.md +45 -0
  869. package/skills/skills/browser-fa65fa2d/SKILL.md +45 -0
  870. package/skills/skills/browser-faac8812/SKILL.md +45 -0
  871. package/skills/skills/browser-ff94a671/SKILL.md +45 -0
  872. package/skills/skills/check-name-real/SKILL.md +45 -0
  873. package/skills/skills/compile-assign/SKILL.md +45 -0
  874. package/skills/skills/compile-expr-tree/SKILL.md +45 -0
  875. package/skills/skills/compile-full-pipeline/SKILL.md +45 -0
  876. package/skills/skills/compile-func-def/SKILL.md +45 -0
  877. package/skills/skills/compile-if-then/SKILL.md +45 -0
  878. package/skills/skills/compile-logic-expr/SKILL.md +45 -0
  879. package/skills/skills/compile-recursive/SKILL.md +45 -0
  880. package/skills/skills/compile-scope/SKILL.md +45 -0
  881. package/skills/skills/compile-type-check/SKILL.md +45 -0
  882. package/skills/skills/compile-while/SKILL.md +45 -0
  883. package/skills/skills/compiler-0010c4bf/SKILL.md +45 -0
  884. package/skills/skills/compiler-0355bffb/SKILL.md +45 -0
  885. package/skills/skills/compiler-0361708a/SKILL.md +45 -0
  886. package/skills/skills/compiler-054a0414/SKILL.md +45 -0
  887. package/skills/skills/compiler-05a1691a/SKILL.md +45 -0
  888. package/skills/skills/compiler-05eeed1e/SKILL.md +45 -0
  889. package/skills/skills/compiler-0622a1f6/SKILL.md +45 -0
  890. package/skills/skills/compiler-08b54217/SKILL.md +45 -0
  891. package/skills/skills/compiler-0a62b70c/SKILL.md +45 -0
  892. package/skills/skills/compiler-0ab24d00/SKILL.md +45 -0
  893. package/skills/skills/compiler-0e093688/SKILL.md +45 -0
  894. package/skills/skills/compiler-0e82b966/SKILL.md +45 -0
  895. package/skills/skills/compiler-0ee9b9b9/SKILL.md +45 -0
  896. package/skills/skills/compiler-0f3787e6/SKILL.md +45 -0
  897. package/skills/skills/compiler-1028685f/SKILL.md +45 -0
  898. package/skills/skills/compiler-11897630/SKILL.md +45 -0
  899. package/skills/skills/compiler-16661b9b/SKILL.md +45 -0
  900. package/skills/skills/compiler-1f722303/SKILL.md +45 -0
  901. package/skills/skills/compiler-25be1262/SKILL.md +45 -0
  902. package/skills/skills/compiler-2a76ba07/SKILL.md +45 -0
  903. package/skills/skills/compiler-2dbea54a/SKILL.md +45 -0
  904. package/skills/skills/compiler-2df52f16/SKILL.md +45 -0
  905. package/skills/skills/compiler-2ec2c9d2/SKILL.md +45 -0
  906. package/skills/skills/compiler-2f8c8f39/SKILL.md +45 -0
  907. package/skills/skills/compiler-38378ac7/SKILL.md +45 -0
  908. package/skills/skills/compiler-39457d2e/SKILL.md +45 -0
  909. package/skills/skills/compiler-39fb5926/SKILL.md +45 -0
  910. package/skills/skills/compiler-47f4fbfa/SKILL.md +45 -0
  911. package/skills/skills/compiler-4a8cd1f1/SKILL.md +45 -0
  912. package/skills/skills/compiler-4b230b6b/SKILL.md +45 -0
  913. package/skills/skills/compiler-4cbbda95/SKILL.md +45 -0
  914. package/skills/skills/compiler-4d5a68ff/SKILL.md +45 -0
  915. package/skills/skills/compiler-56dc9bdd/SKILL.md +45 -0
  916. package/skills/skills/compiler-57e76ebe/SKILL.md +45 -0
  917. package/skills/skills/compiler-61ff016b/SKILL.md +45 -0
  918. package/skills/skills/compiler-63eae588/SKILL.md +45 -0
  919. package/skills/skills/compiler-64c4224b/SKILL.md +45 -0
  920. package/skills/skills/compiler-66377955/SKILL.md +45 -0
  921. package/skills/skills/compiler-674ab4f6/SKILL.md +45 -0
  922. package/skills/skills/compiler-6af76fd6/SKILL.md +45 -0
  923. package/skills/skills/compiler-6d979db2/SKILL.md +45 -0
  924. package/skills/skills/compiler-6de326c0/SKILL.md +45 -0
  925. package/skills/skills/compiler-6f1c0eea/SKILL.md +45 -0
  926. package/skills/skills/compiler-724d6c9b/SKILL.md +45 -0
  927. package/skills/skills/compiler-7690177f/SKILL.md +45 -0
  928. package/skills/skills/compiler-7b229a7d/SKILL.md +45 -0
  929. package/skills/skills/compiler-7f471b3a/SKILL.md +45 -0
  930. package/skills/skills/compiler-815cad08/SKILL.md +45 -0
  931. package/skills/skills/compiler-83c61634/SKILL.md +45 -0
  932. package/skills/skills/compiler-8c798c81/SKILL.md +45 -0
  933. package/skills/skills/compiler-8dd747ac/SKILL.md +45 -0
  934. package/skills/skills/compiler-90324d0a/SKILL.md +45 -0
  935. package/skills/skills/compiler-94b8d72d/SKILL.md +45 -0
  936. package/skills/skills/compiler-94f12231/SKILL.md +45 -0
  937. package/skills/skills/compiler-95937c16/SKILL.md +45 -0
  938. package/skills/skills/compiler-98a5625b/SKILL.md +45 -0
  939. package/skills/skills/compiler-98b4c42f/SKILL.md +45 -0
  940. package/skills/skills/compiler-98e3894a/SKILL.md +45 -0
  941. package/skills/skills/compiler-9bdfe4b8/SKILL.md +45 -0
  942. package/skills/skills/compiler-9d9b4e83/SKILL.md +45 -0
  943. package/skills/skills/compiler-9f7be5ad/SKILL.md +45 -0
  944. package/skills/skills/compiler-a6daf076/SKILL.md +45 -0
  945. package/skills/skills/compiler-a7995a0c/SKILL.md +45 -0
  946. package/skills/skills/compiler-a8399248/SKILL.md +45 -0
  947. package/skills/skills/compiler-aabbd099/SKILL.md +45 -0
  948. package/skills/skills/compiler-afe169d8/SKILL.md +45 -0
  949. package/skills/skills/compiler-b0678bda/SKILL.md +45 -0
  950. package/skills/skills/compiler-b09bd196/SKILL.md +45 -0
  951. package/skills/skills/compiler-b1396e23/SKILL.md +45 -0
  952. package/skills/skills/compiler-b9b31ce0/SKILL.md +45 -0
  953. package/skills/skills/compiler-c10264a7/SKILL.md +45 -0
  954. package/skills/skills/compiler-cb1e8e4b/SKILL.md +45 -0
  955. package/skills/skills/compiler-ccafd438/SKILL.md +45 -0
  956. package/skills/skills/compiler-cda9c262/SKILL.md +45 -0
  957. package/skills/skills/compiler-ce648068/SKILL.md +45 -0
  958. package/skills/skills/compiler-cf5776a4/SKILL.md +45 -0
  959. package/skills/skills/compiler-d974e5d3/SKILL.md +45 -0
  960. package/skills/skills/compiler-e3979fd3/SKILL.md +45 -0
  961. package/skills/skills/compiler-eb1cf2b5/SKILL.md +45 -0
  962. package/skills/skills/compiler-ecb30d5b/SKILL.md +45 -0
  963. package/skills/skills/compiler-f8c8b24b/SKILL.md +45 -0
  964. package/skills/skills/compiler-f99fedbe/SKILL.md +45 -0
  965. package/skills/skills/compiler-fa8ff5f7/SKILL.md +45 -0
  966. package/skills/skills/compiler-fe1b058d/SKILL.md +45 -0
  967. package/skills/skills/designer-perspective/SKILL.md +157 -0
  968. package/skills/skills/designer-perspective/references/01-observation-position.md +66 -0
  969. package/skills/skills/designer-perspective/references/02-structure-recognition.md +62 -0
  970. package/skills/skills/designer-perspective/references/03-direction-judgment.md +55 -0
  971. package/skills/skills/designer-perspective/references/04-qualification-verdict.md +72 -0
  972. package/skills/skills/designer-perspective/references/05-condition-attribution.md +74 -0
  973. package/skills/skills/designer-perspective/scripts/__pycache__/designer.cpython-310.pyc +0 -0
  974. package/skills/skills/designer-perspective/scripts/designer.py +527 -0
  975. package/skills/skills/designer-perspective/tests/cases.jsonl +17 -0
  976. package/skills/skills/designer-perspective/tests/selftest.py +60 -0
  977. package/skills/skills/graph-04cd431b/SKILL.md +45 -0
  978. package/skills/skills/graph-06e2b1f2/SKILL.md +45 -0
  979. package/skills/skills/graph-0de12477/SKILL.md +45 -0
  980. package/skills/skills/graph-0e564e68/SKILL.md +45 -0
  981. package/skills/skills/graph-10d58a7b/SKILL.md +45 -0
  982. package/skills/skills/graph-12cd830a/SKILL.md +45 -0
  983. package/skills/skills/graph-185f2cd2/SKILL.md +45 -0
  984. package/skills/skills/graph-19a6a301/SKILL.md +45 -0
  985. package/skills/skills/graph-1b266557/SKILL.md +45 -0
  986. package/skills/skills/graph-1b707621/SKILL.md +45 -0
  987. package/skills/skills/graph-1d73b597/SKILL.md +45 -0
  988. package/skills/skills/graph-2041fa98/SKILL.md +45 -0
  989. package/skills/skills/graph-2461bc41/SKILL.md +45 -0
  990. package/skills/skills/graph-2465dff8/SKILL.md +45 -0
  991. package/skills/skills/graph-2508389f/SKILL.md +45 -0
  992. package/skills/skills/graph-276d554d/SKILL.md +45 -0
  993. package/skills/skills/graph-299f4a32/SKILL.md +45 -0
  994. package/skills/skills/graph-2d455cd8/SKILL.md +45 -0
  995. package/skills/skills/graph-2fddf701/SKILL.md +45 -0
  996. package/skills/skills/graph-33385442/SKILL.md +45 -0
  997. package/skills/skills/graph-34a1dba7/SKILL.md +45 -0
  998. package/skills/skills/graph-3721be1c/SKILL.md +45 -0
  999. package/skills/skills/graph-3755dbc9/SKILL.md +45 -0
  1000. package/skills/skills/graph-37a45d4b/SKILL.md +45 -0
  1001. package/skills/skills/graph-3a4a984c/SKILL.md +45 -0
  1002. package/skills/skills/graph-3aa4c941/SKILL.md +45 -0
  1003. package/skills/skills/graph-3b69a528/SKILL.md +45 -0
  1004. package/skills/skills/graph-3bc2eb69/SKILL.md +45 -0
  1005. package/skills/skills/graph-3d255ed4/SKILL.md +45 -0
  1006. package/skills/skills/graph-3d34961d/SKILL.md +45 -0
  1007. package/skills/skills/graph-3e18a380/SKILL.md +45 -0
  1008. package/skills/skills/graph-3f920bf3/SKILL.md +45 -0
  1009. package/skills/skills/graph-40b7bf61/SKILL.md +45 -0
  1010. package/skills/skills/graph-42187d5d/SKILL.md +45 -0
  1011. package/skills/skills/graph-4361c60e/SKILL.md +45 -0
  1012. package/skills/skills/graph-44e56113/SKILL.md +45 -0
  1013. package/skills/skills/graph-4b363727/SKILL.md +45 -0
  1014. package/skills/skills/graph-52e6e216/SKILL.md +45 -0
  1015. package/skills/skills/graph-53fbfef5/SKILL.md +45 -0
  1016. package/skills/skills/graph-54ac2988/SKILL.md +45 -0
  1017. package/skills/skills/graph-580dadcd/SKILL.md +45 -0
  1018. package/skills/skills/graph-5ca34baa/SKILL.md +45 -0
  1019. package/skills/skills/graph-5cb7fbdf/SKILL.md +45 -0
  1020. package/skills/skills/graph-5f894c05/SKILL.md +45 -0
  1021. package/skills/skills/graph-656e7bd4/SKILL.md +45 -0
  1022. package/skills/skills/graph-6dc48231/SKILL.md +45 -0
  1023. package/skills/skills/graph-7186924a/SKILL.md +45 -0
  1024. package/skills/skills/graph-72ce5342/SKILL.md +45 -0
  1025. package/skills/skills/graph-7376a24e/SKILL.md +45 -0
  1026. package/skills/skills/graph-7412a7cb/SKILL.md +45 -0
  1027. package/skills/skills/graph-7becedf0/SKILL.md +45 -0
  1028. package/skills/skills/graph-7c38fbf3/SKILL.md +45 -0
  1029. package/skills/skills/graph-7dc36de7/SKILL.md +45 -0
  1030. package/skills/skills/graph-7fe49de7/SKILL.md +45 -0
  1031. package/skills/skills/graph-80d82194/SKILL.md +45 -0
  1032. package/skills/skills/graph-85bf101e/SKILL.md +45 -0
  1033. package/skills/skills/graph-8650548b/SKILL.md +45 -0
  1034. package/skills/skills/graph-86583b09/SKILL.md +45 -0
  1035. package/skills/skills/graph-8727827c/SKILL.md +45 -0
  1036. package/skills/skills/graph-873fb505/SKILL.md +45 -0
  1037. package/skills/skills/graph-89b11de0/SKILL.md +45 -0
  1038. package/skills/skills/graph-8d7b569b/SKILL.md +45 -0
  1039. package/skills/skills/graph-8e920d5d/SKILL.md +45 -0
  1040. package/skills/skills/graph-8eb38e3d/SKILL.md +45 -0
  1041. package/skills/skills/graph-94582f69/SKILL.md +45 -0
  1042. package/skills/skills/graph-947355f7/SKILL.md +45 -0
  1043. package/skills/skills/graph-9507aff7/SKILL.md +45 -0
  1044. package/skills/skills/graph-95b86a8b/SKILL.md +45 -0
  1045. package/skills/skills/graph-96b85e1f/SKILL.md +45 -0
  1046. package/skills/skills/graph-97b22f09/SKILL.md +45 -0
  1047. package/skills/skills/graph-9833cfda/SKILL.md +45 -0
  1048. package/skills/skills/graph-9aa8a3f4/SKILL.md +45 -0
  1049. package/skills/skills/graph-9f6665c0/SKILL.md +45 -0
  1050. package/skills/skills/graph-a125d282/SKILL.md +45 -0
  1051. package/skills/skills/graph-a49ef4f0/SKILL.md +45 -0
  1052. package/skills/skills/graph-a5cd04ae/SKILL.md +45 -0
  1053. package/skills/skills/graph-add9a63b/SKILL.md +45 -0
  1054. package/skills/skills/graph-b00e3dc7/SKILL.md +45 -0
  1055. package/skills/skills/graph-b33a7662/SKILL.md +45 -0
  1056. package/skills/skills/graph-b76d15ee/SKILL.md +45 -0
  1057. package/skills/skills/graph-b77fa05a/SKILL.md +45 -0
  1058. package/skills/skills/graph-b912fc3b/SKILL.md +45 -0
  1059. package/skills/skills/graph-baf61b7c/SKILL.md +45 -0
  1060. package/skills/skills/graph-c1d5687b/SKILL.md +45 -0
  1061. package/skills/skills/graph-c407bbed/SKILL.md +45 -0
  1062. package/skills/skills/graph-c4676460/SKILL.md +45 -0
  1063. package/skills/skills/graph-c4a59d80/SKILL.md +45 -0
  1064. package/skills/skills/graph-c5815621/SKILL.md +45 -0
  1065. package/skills/skills/graph-ccad55f1/SKILL.md +45 -0
  1066. package/skills/skills/graph-d0677ce1/SKILL.md +45 -0
  1067. package/skills/skills/graph-d1289b39/SKILL.md +45 -0
  1068. package/skills/skills/graph-d15f39b1/SKILL.md +45 -0
  1069. package/skills/skills/graph-d40691ca/SKILL.md +45 -0
  1070. package/skills/skills/graph-d43b387a/SKILL.md +45 -0
  1071. package/skills/skills/graph-d4dd02f4/SKILL.md +45 -0
  1072. package/skills/skills/graph-d724ea18/SKILL.md +45 -0
  1073. package/skills/skills/graph-d74d36fd/SKILL.md +45 -0
  1074. package/skills/skills/graph-d9d3934c/SKILL.md +45 -0
  1075. package/skills/skills/graph-ddf563ff/SKILL.md +45 -0
  1076. package/skills/skills/graph-de00894f/SKILL.md +45 -0
  1077. package/skills/skills/graph-df1ebb63/SKILL.md +45 -0
  1078. package/skills/skills/graph-e2905c20/SKILL.md +45 -0
  1079. package/skills/skills/graph-e4f8cefd/SKILL.md +45 -0
  1080. package/skills/skills/graph-ea3150e7/SKILL.md +45 -0
  1081. package/skills/skills/graph-eb4ac7dd/SKILL.md +45 -0
  1082. package/skills/skills/graph-ee9f6dfa/SKILL.md +45 -0
  1083. package/skills/skills/graph-f055b2ea/SKILL.md +45 -0
  1084. package/skills/skills/graph-f1891287/SKILL.md +45 -0
  1085. package/skills/skills/graph-f1bb5aa1/SKILL.md +45 -0
  1086. package/skills/skills/graph-f56fa220/SKILL.md +45 -0
  1087. package/skills/skills/graph-f729034f/SKILL.md +45 -0
  1088. package/skills/skills/graph-f748a63f/SKILL.md +45 -0
  1089. package/skills/skills/graph-f8c4a59e/SKILL.md +45 -0
  1090. package/skills/skills/graph-fca3d129/SKILL.md +45 -0
  1091. package/skills/skills/graph-fd02d934/SKILL.md +45 -0
  1092. package/skills/skills/graph-fd51ece9/SKILL.md +45 -0
  1093. package/skills/skills/graph-fd6a81ab/SKILL.md +45 -0
  1094. package/skills/skills/lex-chinese-program/SKILL.md +45 -0
  1095. package/skills/skills/lex-dao-de-jing/SKILL.md +45 -0
  1096. package/skills/skills/lex-nine-chapters/SKILL.md +45 -0
  1097. package/skills/skills/net-02090d29/SKILL.md +45 -0
  1098. package/skills/skills/net-05937712/SKILL.md +45 -0
  1099. package/skills/skills/net-059d072f/SKILL.md +45 -0
  1100. package/skills/skills/net-080f6012/SKILL.md +45 -0
  1101. package/skills/skills/net-08a2fc88/SKILL.md +45 -0
  1102. package/skills/skills/net-0935edf1/SKILL.md +45 -0
  1103. package/skills/skills/net-0e7f91e4/SKILL.md +45 -0
  1104. package/skills/skills/net-0f2850e0/SKILL.md +45 -0
  1105. package/skills/skills/net-107ab486/SKILL.md +45 -0
  1106. package/skills/skills/net-111e79b0/SKILL.md +45 -0
  1107. package/skills/skills/net-126876c1/SKILL.md +45 -0
  1108. package/skills/skills/net-13eeb575/SKILL.md +45 -0
  1109. package/skills/skills/net-14102d54/SKILL.md +45 -0
  1110. package/skills/skills/net-14e9ad0d/SKILL.md +45 -0
  1111. package/skills/skills/net-184175d3/SKILL.md +45 -0
  1112. package/skills/skills/net-1da1c695/SKILL.md +45 -0
  1113. package/skills/skills/net-240a14ec/SKILL.md +45 -0
  1114. package/skills/skills/net-2784f98b/SKILL.md +45 -0
  1115. package/skills/skills/net-292ef917/SKILL.md +45 -0
  1116. package/skills/skills/net-3434e92f/SKILL.md +45 -0
  1117. package/skills/skills/net-35019e6b/SKILL.md +45 -0
  1118. package/skills/skills/net-3bbc6afb/SKILL.md +45 -0
  1119. package/skills/skills/net-3bdf9d9d/SKILL.md +45 -0
  1120. package/skills/skills/net-3dcb84d3/SKILL.md +45 -0
  1121. package/skills/skills/net-431cccf9/SKILL.md +45 -0
  1122. package/skills/skills/net-435a9f7f/SKILL.md +45 -0
  1123. package/skills/skills/net-4508101f/SKILL.md +45 -0
  1124. package/skills/skills/net-4585c9e7/SKILL.md +45 -0
  1125. package/skills/skills/net-479612a0/SKILL.md +45 -0
  1126. package/skills/skills/net-47a19838/SKILL.md +45 -0
  1127. package/skills/skills/net-4e36e1e3/SKILL.md +45 -0
  1128. package/skills/skills/net-509b8001/SKILL.md +45 -0
  1129. package/skills/skills/net-51930c5e/SKILL.md +45 -0
  1130. package/skills/skills/net-56dbd63f/SKILL.md +45 -0
  1131. package/skills/skills/net-57387462/SKILL.md +45 -0
  1132. package/skills/skills/net-5c115606/SKILL.md +45 -0
  1133. package/skills/skills/net-5d27f392/SKILL.md +45 -0
  1134. package/skills/skills/net-5f69c938/SKILL.md +45 -0
  1135. package/skills/skills/net-5fa6c13b/SKILL.md +45 -0
  1136. package/skills/skills/net-61580202/SKILL.md +45 -0
  1137. package/skills/skills/net-61926703/SKILL.md +45 -0
  1138. package/skills/skills/net-61f64fbc/SKILL.md +45 -0
  1139. package/skills/skills/net-6200f3b2/SKILL.md +45 -0
  1140. package/skills/skills/net-63c3eda3/SKILL.md +45 -0
  1141. package/skills/skills/net-66e6119b/SKILL.md +45 -0
  1142. package/skills/skills/net-68643014/SKILL.md +45 -0
  1143. package/skills/skills/net-686632aa/SKILL.md +45 -0
  1144. package/skills/skills/net-6967ff14/SKILL.md +45 -0
  1145. package/skills/skills/net-6996f499/SKILL.md +45 -0
  1146. package/skills/skills/net-6c3b02c2/SKILL.md +45 -0
  1147. package/skills/skills/net-6eb37f63/SKILL.md +45 -0
  1148. package/skills/skills/net-6f96c190/SKILL.md +45 -0
  1149. package/skills/skills/net-6fb27488/SKILL.md +45 -0
  1150. package/skills/skills/net-703559d0/SKILL.md +45 -0
  1151. package/skills/skills/net-706d2692/SKILL.md +45 -0
  1152. package/skills/skills/net-70a20e04/SKILL.md +45 -0
  1153. package/skills/skills/net-7376158c/SKILL.md +45 -0
  1154. package/skills/skills/net-74d647cb/SKILL.md +45 -0
  1155. package/skills/skills/net-74e8a576/SKILL.md +45 -0
  1156. package/skills/skills/net-7801c2c0/SKILL.md +45 -0
  1157. package/skills/skills/net-78cae54d/SKILL.md +45 -0
  1158. package/skills/skills/net-78ec0324/SKILL.md +45 -0
  1159. package/skills/skills/net-7998097c/SKILL.md +45 -0
  1160. package/skills/skills/net-7d81ae06/SKILL.md +45 -0
  1161. package/skills/skills/net-7eabbbc8/SKILL.md +45 -0
  1162. package/skills/skills/net-7ed4f2c5/SKILL.md +45 -0
  1163. package/skills/skills/net-80b56cd6/SKILL.md +45 -0
  1164. package/skills/skills/net-83447546/SKILL.md +45 -0
  1165. package/skills/skills/net-8361fe5b/SKILL.md +45 -0
  1166. package/skills/skills/net-85e3996c/SKILL.md +45 -0
  1167. package/skills/skills/net-8897d5cc/SKILL.md +45 -0
  1168. package/skills/skills/net-88ad93a6/SKILL.md +45 -0
  1169. package/skills/skills/net-8e6f359e/SKILL.md +45 -0
  1170. package/skills/skills/net-8edc4cdb/SKILL.md +45 -0
  1171. package/skills/skills/net-8f6169e9/SKILL.md +45 -0
  1172. package/skills/skills/net-91e00638/SKILL.md +45 -0
  1173. package/skills/skills/net-96c61a3c/SKILL.md +45 -0
  1174. package/skills/skills/net-99076a29/SKILL.md +45 -0
  1175. package/skills/skills/net-998f3641/SKILL.md +45 -0
  1176. package/skills/skills/net-a1d7228a/SKILL.md +45 -0
  1177. package/skills/skills/net-a74da501/SKILL.md +45 -0
  1178. package/skills/skills/net-ac57deb7/SKILL.md +45 -0
  1179. package/skills/skills/net-b22d2f2b/SKILL.md +45 -0
  1180. package/skills/skills/net-b2b29d8d/SKILL.md +45 -0
  1181. package/skills/skills/net-b2ddce5d/SKILL.md +45 -0
  1182. package/skills/skills/net-b4151e9a/SKILL.md +45 -0
  1183. package/skills/skills/net-b873d6f7/SKILL.md +45 -0
  1184. package/skills/skills/net-bd3d2d55/SKILL.md +45 -0
  1185. package/skills/skills/net-c2a3f019/SKILL.md +45 -0
  1186. package/skills/skills/net-c685b788/SKILL.md +45 -0
  1187. package/skills/skills/net-c6c1fd79/SKILL.md +45 -0
  1188. package/skills/skills/net-c74a1b5d/SKILL.md +45 -0
  1189. package/skills/skills/net-cdac702d/SKILL.md +45 -0
  1190. package/skills/skills/net-d12dff5c/SKILL.md +45 -0
  1191. package/skills/skills/net-d3747882/SKILL.md +45 -0
  1192. package/skills/skills/net-d5fefa59/SKILL.md +45 -0
  1193. package/skills/skills/net-d67ec725/SKILL.md +45 -0
  1194. package/skills/skills/net-d80c1c4c/SKILL.md +45 -0
  1195. package/skills/skills/net-d9cb43b0/SKILL.md +45 -0
  1196. package/skills/skills/net-da559517/SKILL.md +45 -0
  1197. package/skills/skills/net-db4f414e/SKILL.md +45 -0
  1198. package/skills/skills/net-dc09d67c/SKILL.md +45 -0
  1199. package/skills/skills/net-e2d185de/SKILL.md +45 -0
  1200. package/skills/skills/net-e2fc73f8/SKILL.md +45 -0
  1201. package/skills/skills/net-e33ef0c2/SKILL.md +45 -0
  1202. package/skills/skills/net-e346863c/SKILL.md +45 -0
  1203. package/skills/skills/net-e6b3389a/SKILL.md +45 -0
  1204. package/skills/skills/net-e9758fc0/SKILL.md +45 -0
  1205. package/skills/skills/net-e9a9747a/SKILL.md +45 -0
  1206. package/skills/skills/net-ea14aab8/SKILL.md +45 -0
  1207. package/skills/skills/net-eba92ac1/SKILL.md +45 -0
  1208. package/skills/skills/net-f29d91d2/SKILL.md +45 -0
  1209. package/skills/skills/net-f314dd0d/SKILL.md +45 -0
  1210. package/skills/skills/net-f332b629/SKILL.md +45 -0
  1211. package/skills/skills/net-f7df127c/SKILL.md +45 -0
  1212. package/skills/skills/net-fb9d8f5d/SKILL.md +45 -0
  1213. package/skills/skills/net-fdec2c86/SKILL.md +45 -0
  1214. package/skills/skills/os-0205cf9b/SKILL.md +45 -0
  1215. package/skills/skills/os-027dc9be/SKILL.md +45 -0
  1216. package/skills/skills/os-03c0d7d6/SKILL.md +45 -0
  1217. package/skills/skills/os-040b5505/SKILL.md +45 -0
  1218. package/skills/skills/os-06fa98ed/SKILL.md +45 -0
  1219. package/skills/skills/os-0854291c/SKILL.md +45 -0
  1220. package/skills/skills/os-0c7f14cb/SKILL.md +45 -0
  1221. package/skills/skills/os-0d855af2/SKILL.md +45 -0
  1222. package/skills/skills/os-0e87e997/SKILL.md +45 -0
  1223. package/skills/skills/os-0f8ed882/SKILL.md +45 -0
  1224. package/skills/skills/os-111ce1de/SKILL.md +45 -0
  1225. package/skills/skills/os-1234eb00/SKILL.md +45 -0
  1226. package/skills/skills/os-128f3820/SKILL.md +45 -0
  1227. package/skills/skills/os-15796db5/SKILL.md +45 -0
  1228. package/skills/skills/os-1898928a/SKILL.md +45 -0
  1229. package/skills/skills/os-192b8ca9/SKILL.md +45 -0
  1230. package/skills/skills/os-1d3bcf28/SKILL.md +45 -0
  1231. package/skills/skills/os-1f224514/SKILL.md +45 -0
  1232. package/skills/skills/os-26a4f86a/SKILL.md +45 -0
  1233. package/skills/skills/os-29c96147/SKILL.md +45 -0
  1234. package/skills/skills/os-2ea9a5ff/SKILL.md +45 -0
  1235. package/skills/skills/os-300ef22c/SKILL.md +45 -0
  1236. package/skills/skills/os-310dda5b/SKILL.md +45 -0
  1237. package/skills/skills/os-313ef4ed/SKILL.md +45 -0
  1238. package/skills/skills/os-329a2147/SKILL.md +45 -0
  1239. package/skills/skills/os-34ad4b62/SKILL.md +45 -0
  1240. package/skills/skills/os-350bc623/SKILL.md +45 -0
  1241. package/skills/skills/os-35ee1a30/SKILL.md +45 -0
  1242. package/skills/skills/os-3cd28220/SKILL.md +45 -0
  1243. package/skills/skills/os-3d84e0c9/SKILL.md +45 -0
  1244. package/skills/skills/os-3db42aac/SKILL.md +45 -0
  1245. package/skills/skills/os-3e0aff42/SKILL.md +45 -0
  1246. package/skills/skills/os-3e9405d2/SKILL.md +45 -0
  1247. package/skills/skills/os-41d14544/SKILL.md +45 -0
  1248. package/skills/skills/os-462f3ed4/SKILL.md +45 -0
  1249. package/skills/skills/os-485833fa/SKILL.md +45 -0
  1250. package/skills/skills/os-4a1cf781/SKILL.md +45 -0
  1251. package/skills/skills/os-4bf77933/SKILL.md +45 -0
  1252. package/skills/skills/os-4c14cec2/SKILL.md +45 -0
  1253. package/skills/skills/os-4f05d577/SKILL.md +45 -0
  1254. package/skills/skills/os-4f50ad0b/SKILL.md +45 -0
  1255. package/skills/skills/os-509a4596/SKILL.md +45 -0
  1256. package/skills/skills/os-512b1b6c/SKILL.md +45 -0
  1257. package/skills/skills/os-5192621b/SKILL.md +45 -0
  1258. package/skills/skills/os-55672763/SKILL.md +45 -0
  1259. package/skills/skills/os-5582bce6/SKILL.md +45 -0
  1260. package/skills/skills/os-5a096a1f/SKILL.md +45 -0
  1261. package/skills/skills/os-5ca15108/SKILL.md +45 -0
  1262. package/skills/skills/os-601663e1/SKILL.md +45 -0
  1263. package/skills/skills/os-607f1963/SKILL.md +45 -0
  1264. package/skills/skills/os-6158581b/SKILL.md +45 -0
  1265. package/skills/skills/os-62f9278b/SKILL.md +45 -0
  1266. package/skills/skills/os-63797b86/SKILL.md +45 -0
  1267. package/skills/skills/os-6a1fe224/SKILL.md +45 -0
  1268. package/skills/skills/os-6b0a68bf/SKILL.md +45 -0
  1269. package/skills/skills/os-6e5cee67/SKILL.md +45 -0
  1270. package/skills/skills/os-6fb1ff58/SKILL.md +45 -0
  1271. package/skills/skills/os-71389592/SKILL.md +45 -0
  1272. package/skills/skills/os-72e879a3/SKILL.md +45 -0
  1273. package/skills/skills/os-7598748a/SKILL.md +45 -0
  1274. package/skills/skills/os-80cc3283/SKILL.md +45 -0
  1275. package/skills/skills/os-819f3093/SKILL.md +45 -0
  1276. package/skills/skills/os-83670c2b/SKILL.md +45 -0
  1277. package/skills/skills/os-878c18b3/SKILL.md +45 -0
  1278. package/skills/skills/os-89ed7af1/SKILL.md +45 -0
  1279. package/skills/skills/os-8cb7279d/SKILL.md +45 -0
  1280. package/skills/skills/os-92276145/SKILL.md +45 -0
  1281. package/skills/skills/os-955c4d66/SKILL.md +45 -0
  1282. package/skills/skills/os-97aacf40/SKILL.md +45 -0
  1283. package/skills/skills/os-9b6ed02c/SKILL.md +45 -0
  1284. package/skills/skills/os-9c86a7a2/SKILL.md +45 -0
  1285. package/skills/skills/os-a13ce4aa/SKILL.md +45 -0
  1286. package/skills/skills/os-a568affe/SKILL.md +45 -0
  1287. package/skills/skills/os-abd48f17/SKILL.md +45 -0
  1288. package/skills/skills/os-b0416edc/SKILL.md +45 -0
  1289. package/skills/skills/os-b6509cac/SKILL.md +45 -0
  1290. package/skills/skills/os-b718657b/SKILL.md +45 -0
  1291. package/skills/skills/os-b776ade1/SKILL.md +45 -0
  1292. package/skills/skills/os-ba24fa08/SKILL.md +45 -0
  1293. package/skills/skills/os-bd1fc177/SKILL.md +45 -0
  1294. package/skills/skills/os-bda92711/SKILL.md +45 -0
  1295. package/skills/skills/os-c0fa71bd/SKILL.md +45 -0
  1296. package/skills/skills/os-c3d5cd44/SKILL.md +45 -0
  1297. package/skills/skills/os-c6b6a763/SKILL.md +45 -0
  1298. package/skills/skills/os-c7661eb1/SKILL.md +45 -0
  1299. package/skills/skills/os-c76b5a43/SKILL.md +45 -0
  1300. package/skills/skills/os-c7d35a30/SKILL.md +45 -0
  1301. package/skills/skills/os-c980a25d/SKILL.md +45 -0
  1302. package/skills/skills/os-c9f8df6e/SKILL.md +45 -0
  1303. package/skills/skills/os-cc49ef2f/SKILL.md +45 -0
  1304. package/skills/skills/os-cd9e686a/SKILL.md +45 -0
  1305. package/skills/skills/os-cfa66a1b/SKILL.md +45 -0
  1306. package/skills/skills/os-d237e500/SKILL.md +45 -0
  1307. package/skills/skills/os-d39ef086/SKILL.md +45 -0
  1308. package/skills/skills/os-d4f9e813/SKILL.md +45 -0
  1309. package/skills/skills/os-d97915c0/SKILL.md +45 -0
  1310. package/skills/skills/os-da0aadde/SKILL.md +45 -0
  1311. package/skills/skills/os-da482caf/SKILL.md +45 -0
  1312. package/skills/skills/os-dd4ff45e/SKILL.md +45 -0
  1313. package/skills/skills/os-de0556c5/SKILL.md +45 -0
  1314. package/skills/skills/os-e0ad3364/SKILL.md +45 -0
  1315. package/skills/skills/os-e7612c68/SKILL.md +45 -0
  1316. package/skills/skills/os-ea444e45/SKILL.md +45 -0
  1317. package/skills/skills/os-ea6e7e0b/SKILL.md +45 -0
  1318. package/skills/skills/os-ebc34d83/SKILL.md +45 -0
  1319. package/skills/skills/os-ecbebbe3/SKILL.md +45 -0
  1320. package/skills/skills/os-ecfceae7/SKILL.md +45 -0
  1321. package/skills/skills/os-ed8de3a3/SKILL.md +45 -0
  1322. package/skills/skills/os-f69c0b08/SKILL.md +45 -0
  1323. package/skills/skills/os-f6ae6205/SKILL.md +45 -0
  1324. package/skills/skills/os-f9bf8dd4/SKILL.md +45 -0
  1325. package/skills/skills/os-fcdd828d/SKILL.md +45 -0
  1326. package/skills/skills/pylang-01b23f80/SKILL.md +45 -0
  1327. package/skills/skills/pylang-074fd698/SKILL.md +45 -0
  1328. package/skills/skills/pylang-0b490bb2/SKILL.md +45 -0
  1329. package/skills/skills/pylang-0ca7f08b/SKILL.md +45 -0
  1330. package/skills/skills/pylang-10ce3e91/SKILL.md +45 -0
  1331. package/skills/skills/pylang-15f76c64/SKILL.md +45 -0
  1332. package/skills/skills/pylang-1703046f/SKILL.md +45 -0
  1333. package/skills/skills/pylang-1aa3e939/SKILL.md +45 -0
  1334. package/skills/skills/pylang-1bed54cf/SKILL.md +45 -0
  1335. package/skills/skills/pylang-1dd35612/SKILL.md +45 -0
  1336. package/skills/skills/pylang-24273d7b/SKILL.md +45 -0
  1337. package/skills/skills/pylang-2853f59f/SKILL.md +45 -0
  1338. package/skills/skills/pylang-2a6bc16e/SKILL.md +45 -0
  1339. package/skills/skills/pylang-2ae78997/SKILL.md +45 -0
  1340. package/skills/skills/pylang-2bc88f4c/SKILL.md +45 -0
  1341. package/skills/skills/pylang-31f5b8db/SKILL.md +45 -0
  1342. package/skills/skills/pylang-36d178bc/SKILL.md +45 -0
  1343. package/skills/skills/pylang-38600583/SKILL.md +45 -0
  1344. package/skills/skills/pylang-38e8f9ff/SKILL.md +45 -0
  1345. package/skills/skills/pylang-395085ca/SKILL.md +45 -0
  1346. package/skills/skills/pylang-399b317e/SKILL.md +45 -0
  1347. package/skills/skills/pylang-39c72c78/SKILL.md +45 -0
  1348. package/skills/skills/pylang-3a659480/SKILL.md +45 -0
  1349. package/skills/skills/pylang-482be62b/SKILL.md +45 -0
  1350. package/skills/skills/pylang-486a1e94/SKILL.md +45 -0
  1351. package/skills/skills/pylang-49026041/SKILL.md +45 -0
  1352. package/skills/skills/pylang-4963b28a/SKILL.md +45 -0
  1353. package/skills/skills/pylang-4af9140e/SKILL.md +45 -0
  1354. package/skills/skills/pylang-4ca283f2/SKILL.md +45 -0
  1355. package/skills/skills/pylang-4ddf31f3/SKILL.md +45 -0
  1356. package/skills/skills/pylang-50614726/SKILL.md +45 -0
  1357. package/skills/skills/pylang-5102c069/SKILL.md +45 -0
  1358. package/skills/skills/pylang-521b1bf8/SKILL.md +45 -0
  1359. package/skills/skills/pylang-5880b7a1/SKILL.md +45 -0
  1360. package/skills/skills/pylang-61a9102d/SKILL.md +45 -0
  1361. package/skills/skills/pylang-621123dd/SKILL.md +45 -0
  1362. package/skills/skills/pylang-642cd625/SKILL.md +45 -0
  1363. package/skills/skills/pylang-65ca79b7/SKILL.md +45 -0
  1364. package/skills/skills/pylang-672df225/SKILL.md +45 -0
  1365. package/skills/skills/pylang-67d3368e/SKILL.md +45 -0
  1366. package/skills/skills/pylang-6be54340/SKILL.md +45 -0
  1367. package/skills/skills/pylang-70b2006f/SKILL.md +45 -0
  1368. package/skills/skills/pylang-70b215f1/SKILL.md +45 -0
  1369. package/skills/skills/pylang-730c3fe4/SKILL.md +45 -0
  1370. package/skills/skills/pylang-733c1286/SKILL.md +45 -0
  1371. package/skills/skills/pylang-79845f4d/SKILL.md +45 -0
  1372. package/skills/skills/pylang-7c4cc6f8/SKILL.md +45 -0
  1373. package/skills/skills/pylang-7c7193ad/SKILL.md +45 -0
  1374. package/skills/skills/pylang-7d86ab5d/SKILL.md +45 -0
  1375. package/skills/skills/pylang-7df8ca78/SKILL.md +45 -0
  1376. package/skills/skills/pylang-8182681d/SKILL.md +45 -0
  1377. package/skills/skills/pylang-81ad40ee/SKILL.md +45 -0
  1378. package/skills/skills/pylang-8283d7c0/SKILL.md +45 -0
  1379. package/skills/skills/pylang-82b73f3d/SKILL.md +45 -0
  1380. package/skills/skills/pylang-8404bbde/SKILL.md +45 -0
  1381. package/skills/skills/pylang-8584040d/SKILL.md +45 -0
  1382. package/skills/skills/pylang-85d8617b/SKILL.md +45 -0
  1383. package/skills/skills/pylang-886935a3/SKILL.md +45 -0
  1384. package/skills/skills/pylang-88ab2f96/SKILL.md +45 -0
  1385. package/skills/skills/pylang-8b6f071e/SKILL.md +45 -0
  1386. package/skills/skills/pylang-8d6ec58a/SKILL.md +45 -0
  1387. package/skills/skills/pylang-8fe98252/SKILL.md +45 -0
  1388. package/skills/skills/pylang-9018c39a/SKILL.md +45 -0
  1389. package/skills/skills/pylang-91277748/SKILL.md +45 -0
  1390. package/skills/skills/pylang-943b9dcb/SKILL.md +45 -0
  1391. package/skills/skills/pylang-961e9e43/SKILL.md +45 -0
  1392. package/skills/skills/pylang-962954d9/SKILL.md +45 -0
  1393. package/skills/skills/pylang-9dbd8e2b/SKILL.md +45 -0
  1394. package/skills/skills/pylang-a02eac31/SKILL.md +45 -0
  1395. package/skills/skills/pylang-a4d3d7b1/SKILL.md +45 -0
  1396. package/skills/skills/pylang-a7c3d0e2/SKILL.md +45 -0
  1397. package/skills/skills/pylang-a88db70d/SKILL.md +45 -0
  1398. package/skills/skills/pylang-ab7dddc2/SKILL.md +45 -0
  1399. package/skills/skills/pylang-ac2a4b38/SKILL.md +45 -0
  1400. package/skills/skills/pylang-afaf67c0/SKILL.md +45 -0
  1401. package/skills/skills/pylang-b00660e6/SKILL.md +45 -0
  1402. package/skills/skills/pylang-b4d7616d/SKILL.md +45 -0
  1403. package/skills/skills/pylang-b67b1878/SKILL.md +45 -0
  1404. package/skills/skills/pylang-b8040e1c/SKILL.md +45 -0
  1405. package/skills/skills/pylang-b880c6c6/SKILL.md +45 -0
  1406. package/skills/skills/pylang-b8d45f76/SKILL.md +45 -0
  1407. package/skills/skills/pylang-ba956e52/SKILL.md +45 -0
  1408. package/skills/skills/pylang-bb18b1f9/SKILL.md +45 -0
  1409. package/skills/skills/pylang-bb46f3f2/SKILL.md +45 -0
  1410. package/skills/skills/pylang-be55a094/SKILL.md +45 -0
  1411. package/skills/skills/pylang-beb47b63/SKILL.md +45 -0
  1412. package/skills/skills/pylang-c017681a/SKILL.md +45 -0
  1413. package/skills/skills/pylang-c1317cd9/SKILL.md +45 -0
  1414. package/skills/skills/pylang-c36fabf7/SKILL.md +45 -0
  1415. package/skills/skills/pylang-c42465ec/SKILL.md +45 -0
  1416. package/skills/skills/pylang-c5c76a12/SKILL.md +45 -0
  1417. package/skills/skills/pylang-c910ad31/SKILL.md +45 -0
  1418. package/skills/skills/pylang-ca9332cf/SKILL.md +45 -0
  1419. package/skills/skills/pylang-cce90fa0/SKILL.md +45 -0
  1420. package/skills/skills/pylang-cd4234a5/SKILL.md +45 -0
  1421. package/skills/skills/pylang-cf0fca1c/SKILL.md +45 -0
  1422. package/skills/skills/pylang-d2001e1f/SKILL.md +45 -0
  1423. package/skills/skills/pylang-d616eb28/SKILL.md +45 -0
  1424. package/skills/skills/pylang-d8962e66/SKILL.md +45 -0
  1425. package/skills/skills/pylang-db6214cd/SKILL.md +45 -0
  1426. package/skills/skills/pylang-dcde3040/SKILL.md +45 -0
  1427. package/skills/skills/pylang-dfad3dba/SKILL.md +45 -0
  1428. package/skills/skills/pylang-dfd5aac2/SKILL.md +45 -0
  1429. package/skills/skills/pylang-e1aa3818/SKILL.md +45 -0
  1430. package/skills/skills/pylang-e476915b/SKILL.md +45 -0
  1431. package/skills/skills/pylang-e88e31fd/SKILL.md +45 -0
  1432. package/skills/skills/pylang-ecd569d2/SKILL.md +45 -0
  1433. package/skills/skills/pylang-ecf27e0c/SKILL.md +45 -0
  1434. package/skills/skills/pylang-f124f0e6/SKILL.md +45 -0
  1435. package/skills/skills/pylang-f127a8d1/SKILL.md +45 -0
  1436. package/skills/skills/pylang-f2d6ec27/SKILL.md +45 -0
  1437. package/skills/skills/pylang-f2f40090/SKILL.md +45 -0
  1438. package/skills/skills/pylang-f4aa9e65/SKILL.md +45 -0
  1439. package/skills/skills/pylang-f4f820d4/SKILL.md +45 -0
  1440. package/skills/skills/pylang-f5b34833/SKILL.md +45 -0
  1441. package/skills/skills/pylang-f6ebb66e/SKILL.md +45 -0
  1442. package/skills/skills/pylang-f78bdcd7/SKILL.md +45 -0
  1443. package/skills/skills/pylang-f92bc49b/SKILL.md +45 -0
  1444. package/skills/skills/pylang-fd7595f0/SKILL.md +45 -0
  1445. package/skills/skills/pylang-fda87aa1/SKILL.md +45 -0
  1446. package/skills/skills/vm-arithmetic/SKILL.md +45 -0
  1447. package/skills/skills/vm-array-ops/SKILL.md +45 -0
  1448. package/skills/skills/vm-closure-call/SKILL.md +45 -0
  1449. package/skills/skills/vm-closure-create/SKILL.md +45 -0
  1450. package/skills/skills/vm-compare/SKILL.md +45 -0
  1451. package/skills/skills/vm-cond-jump/SKILL.md +45 -0
  1452. package/skills/skills/vm-cond-space/SKILL.md +45 -0
  1453. package/skills/skills/vm-exception/SKILL.md +45 -0
  1454. package/skills/skills/vm-func-call/SKILL.md +45 -0
  1455. package/skills/skills/vm-loop-run/SKILL.md +45 -0
  1456. package/skills/skills/vm-profiling/SKILL.md +45 -0
  1457. package/skills/skills/vm-refcount/SKILL.md +45 -0
  1458. package/skills/skills/vm-run-loop/SKILL.md +45 -0
  1459. package/skills/skills/vm-short-circuit/SKILL.md +45 -0
  1460. package/skills/skills/vm-stack-guard/SKILL.md +45 -0
  1461. package/skills/skills/vm-stack-ops/SKILL.md +45 -0
  1462. package/skills/skills/vm-trust-accum/SKILL.md +45 -0
  1463. package/src/bridge.ts +7 -7
  1464. package/src/hooks.ts +78 -27
  1465. package/src/index.ts +246 -66
  1466. package/src/lib/datapath.ts +112 -0
  1467. package/src/lib/mdcg_client.ts +329 -0
  1468. package/src/lib/roleplay_web.ts +932 -0
  1469. package/src/{llm_adapter.ts → lib/whitebox_llm.ts} +13 -7
  1470. package/src/tools.ts +41 -55
  1471. /package/src/{mutual.ts → lib/mutual.ts} +0 -0
@@ -0,0 +1,1633 @@
1
+ # -*- coding: utf-8 -*-
2
+ """compose_engine.py · 白箱自举原型 v2——条件化单元 + 方向推理 + 组合生成 + 内部自校验
3
+ 理论依据:《白箱自举设计_条件化单元与组合引擎.md》(§八b v2 方向推理设计)
4
+ v1 结果(2026-08-23):组合结构成立 7/7,但暴露缺方向推理(晾干→沸腾/结霜→熔化错配)
5
+ v2 修复:
6
+ ① 单元加 direction(物态变化方向)→ 期望方向优先匹配
7
+ ② 结论生成模板:场景事实 → 因果演绎 → 生成「新答案句」(非完整答案查表)
8
+ ③ 自校验加强:方向一致性 + 因果链完整性 → 白箱自己发现 v1 的错配错误
9
+ """
10
+ import sys
11
+ sys.stdout.reconfigure(encoding='utf-8')
12
+
13
+
14
+ # ============ 一、条件化单元库(v2:带 direction + conclusion 模板) ============
15
+ # direction: 物态变化方向(组合匹配用)| conclusion: 结论生成模板({...} 为占位)
16
+
17
+ CONDITION_UNITS = {
18
+ "沸点-气压": {
19
+ "conditions": ["气压"],
20
+ "direction": "气压效应",
21
+ "rule": {"低": "沸点降低", "高": "沸点升高", "标准": "沸点=100°C"},
22
+ "default": "标准大气压下纯水沸点 100°C",
23
+ # 结论模板:气压效应 → 温度后果 → 生活影响(占位代入)
24
+ "conclusion": {
25
+ "低": "气压低 → {液体}沸点降至100°C以下 → {液体}达不到100°C就沸腾",
26
+ "高": "气压高 → {液体}沸点升至100°C以上 → {液体}能到100°C以上才沸腾",
27
+ "标准": "气压标准 → {液体}沸点=100°C → {液体}能正常烧到100°C才开",
28
+ },
29
+ "examples": ["高原(0.65atm)水沸点约88°C", "高压锅(2atm)水沸点约120°C"],
30
+ "domain": "物态变化",
31
+ "source": "沸点与气压簇蒸馏(条件化重构)",
32
+ },
33
+ "沸腾-条件": {
34
+ "conditions": ["液体", "供热"],
35
+ "direction": "液→气(剧烈)",
36
+ "rule": "达到沸点+持续供热 → 内部与表面同时剧烈汽化",
37
+ "default": "沸腾=液体内部与表面同时汽化的剧烈蒸发",
38
+ "conclusion": {"default": "{液体}达到沸点且持续供热 → 剧烈沸腾(温度保持沸点不再升)"},
39
+ "examples": ["水烧开=沸腾", "沸腾时温度不再升高"],
40
+ "domain": "物态变化",
41
+ "source": "沸腾簇蒸馏",
42
+ },
43
+ "蒸发-条件": {
44
+ "conditions": ["液体", "温度", "表面积", "通风"],
45
+ "direction": "液→气(缓慢)",
46
+ "rule": {"温度": "温度↑→蒸发越快", "表面积": "表面积↑→蒸发越快",
47
+ "通风": "通风↑→蒸发越快"},
48
+ "default": "蒸发=液体表面在任何温度下都能发生的缓慢汽化",
49
+ "conclusion": {
50
+ "温度": "{液体}温度越高 → 蒸发越快 → 干得越快",
51
+ "表面积": "{液体}摊开面积越大 → 蒸发越快 → 干得越快",
52
+ "通风": "{液体}表面风越大 → 蒸发越快 → 干得越快",
53
+ "通风差": "{液体}表面没风 → 蒸发慢 → 干得慢",
54
+ },
55
+ "examples": ["晾衣摊开干得快", "夏天干得快", "有风干得快"],
56
+ "domain": "物态变化",
57
+ "source": "蒸发簇蒸馏",
58
+ },
59
+ "液化-条件": {
60
+ "conditions": ["气体", "降温"],
61
+ "direction": "气→液",
62
+ "rule": {"降温": "气体降温 → 液化(遇冷凝结)"},
63
+ "default": "液化=气体遇冷/受压变为液体(放热)",
64
+ "conclusion": {"降温": "{气体}遇冷 → 液化成小水珠(镜片起雾=水蒸气液化)"},
65
+ "examples": ["镜片起雾", "液化石油气"],
66
+ "domain": "物态变化",
67
+ "source": "液化簇蒸馏",
68
+ },
69
+ "凝固-条件": {
70
+ "conditions": ["液体", "降温"],
71
+ "direction": "液→固",
72
+ "rule": {"降温": "液体降温到凝固点 → 凝固(放热)"},
73
+ "default": "凝固=液体变为固体,放热",
74
+ "conclusion": {
75
+ "降温": "{液体}降温到凝固点 → 凝固成{固体}(水结冰=凝固)",
76
+ "不降温": "{液体}温度不降到凝固点 → 不凝固 → {液体}不结冰",
77
+ },
78
+ "examples": ["水结冰=凝固", "北方泼水成冰"],
79
+ "domain": "物态变化",
80
+ "source": "凝固簇蒸馏",
81
+ },
82
+ "熔化-条件": {
83
+ "conditions": ["固体", "升温"],
84
+ "direction": "固→液",
85
+ "rule": {"升温": "固体升温到熔点 → 熔化(吸热)"},
86
+ "default": "熔化=固体变为液体,吸热",
87
+ "conclusion": {"升温": "{固体}升温到熔点 → 熔化成液体(冰化成水=熔化)"},
88
+ "examples": ["冰化成水", "铁在高温下熔化"],
89
+ "domain": "物态变化",
90
+ "source": "熔化簇蒸馏",
91
+ },
92
+ "升华-条件": {
93
+ "conditions": ["固体", "升温"],
94
+ "direction": "固→气",
95
+ "rule": {"升温": "固体直接变为气体 → 升华(吸热)"},
96
+ "default": "升华=固态直接变气态,不经过液态",
97
+ "conclusion": {
98
+ "升温": "{固体}直接变为气体 → 升华(吸热)",
99
+ "default": "{固体}直接变为气体 → 升华(樟脑丸放久变小=升华)",
100
+ },
101
+ "examples": ["樟脑丸变小", "干冰直接变气", "冰冻衣服晾干"],
102
+ "domain": "物态变化",
103
+ "source": "升华簇蒸馏",
104
+ },
105
+ "凝华-条件": {
106
+ "conditions": ["气体", "降温"],
107
+ "direction": "气→固",
108
+ "rule": {"降温": "气体直接变为固体 → 凝华(放热)"},
109
+ "default": "凝华=气态直接变固态,不经过液态",
110
+ "conclusion": {"降温": "{气体}遇冷直接变为固体 → 凝华(霜=水蒸气凝华)"},
111
+ "examples": ["霜=凝华", "窗花冰花=凝华"],
112
+ "domain": "物态变化",
113
+ "source": "凝华簇蒸馏",
114
+ },
115
+ # ---- 密度 × 浮力(新域 ①:浮沉由密度差决定) ----
116
+ "密度-浮沉": {
117
+ "conditions": ["物体", "液体"],
118
+ "direction": "浮沉",
119
+ "rule": {"浮": "物体密度<液体密度 → 上浮", "沉": "物体密度>液体密度 → 下沉"},
120
+ "default": "物体密度比液体小则浮,比液体大则沉",
121
+ "conclusion": {
122
+ "浮": "{物体}密度比{液体}小 → 上浮({液体}的浮力托住它)",
123
+ "沉": "{物体}密度比{液体}大 → 下沉({液体}浮力托不住它)",
124
+ "空心": "{物体}虽是钢铁(密度比水大),但内部空心 → 排水体积大 → 浮力=排开水的重力 → 浮着(阿基米德原理)",
125
+ },
126
+ "examples": ["铁块沉入水中", "木块浮在水面", "轮船浮着(空心等效密度小)", "鱼靠鱼鳔调节浮沉"],
127
+ "domain": "密度与浮力",
128
+ "source": "浮力簇蒸馏(条件化重构)",
129
+ },
130
+ # ---- 热传导快慢(新域 ②:金属导热快) ----
131
+ "导热-快慢": {
132
+ "conditions": ["物体", "温度"],
133
+ "direction": "热传递",
134
+ "rule": {"快": "金属导热快 → 热量迅速传递", "慢": "木头/塑料导热慢 → 隔热"},
135
+ "default": "金属是热的良导体(导热快),木头/塑料是热的不良导体",
136
+ "conclusion": {
137
+ "快": "{物体}导热快 → 热量迅速从{热源}传到手 → 摸起来更{感觉}",
138
+ "慢": "{物体}导热慢 → 热量传得慢 → 摸起来不太{感觉}",
139
+ },
140
+ "examples": ["金属勺把烫手(导热快)", "木筷不烫手(导热慢)", "铁锅烧热快"],
141
+ "domain": "热传递",
142
+ "source": "热传递簇蒸馏(条件化重构)",
143
+ },
144
+ # ---- 摩擦因素(新域 ③:压力/粗糙→摩擦) ----
145
+ "摩擦-因素": {
146
+ "conditions": ["物体", "表面"],
147
+ "direction": "摩擦",
148
+ "rule": {"大": "压力大/表面粗糙 → 摩擦力大", "小": "表面光滑/压力小 → 摩擦力小"},
149
+ "default": "摩擦力大小与压力和表面粗糙程度有关",
150
+ "conclusion": {
151
+ "大": "{物体}与{表面}间摩擦力大 → {效果}",
152
+ "小": "{物体}与{表面}间摩擦力小 → {效果}",
153
+ },
154
+ "examples": ["刹车靠增大摩擦力", "滑冰面光滑摩擦小", "鞋底花纹增大摩擦防滑"],
155
+ "domain": "力与运动",
156
+ "source": "摩擦簇蒸馏(条件化重构)",
157
+ },
158
+ # ---- 生活常识域(第三阶段·覆盖扩展 ①) ----
159
+ "洗涤-乳化": {
160
+ "conditions": ["油污", "洗涤剂"],
161
+ "direction": "洗涤",
162
+ "rule": {"乳化": "洗涤剂乳化油脂 → 油污随水冲走"},
163
+ "default": "洗涤剂把油污乳化成小油滴,水一冲就走",
164
+ "conclusion": {
165
+ "乳化": "{油污}被{洗涤剂}乳化 → 变成小油滴 → 水一冲就走(油不溶于水,洗涤剂让油分散)",
166
+ },
167
+ "examples": ["洗洁精去碗油污", "洗衣粉去衣服油渍"],
168
+ "domain": "生活常识",
169
+ "source": "洗涤簇蒸馏(条件化重构)",
170
+ },
171
+ "保温-隔热": {
172
+ "conditions": ["容器", "隔热"],
173
+ "direction": "保温",
174
+ "rule": {"隔热": "真空/空气/隔热层 → 减少热传导 → 保温"},
175
+ "default": "隔热层(真空/空气/棉)阻隔热传导,热量不易流失",
176
+ "conclusion": {
177
+ "隔热": "{容器}用{隔热层}隔开内外 → 热量难传导 → {内容物}长时间保温",
178
+ },
179
+ "examples": ["保温杯保温", "棉被保暖", "暖水瓶"],
180
+ "domain": "生活常识",
181
+ "source": "保温簇蒸馏(条件化重构)",
182
+ },
183
+ "盐-化雪": {
184
+ "conditions": ["冰", "盐"],
185
+ "direction": "化雪",
186
+ "rule": {"化冰": "盐降低冰点 → 冰在0°C以下也能融化"},
187
+ "default": "盐溶于水降低冰点,冰在更低温度才冻结",
188
+ "conclusion": {
189
+ "化冰": "往{冰面}撒盐 → 盐降低冰点 → {冰面}在0°C以下开始融化(化雪快)",
190
+ },
191
+ "examples": ["冬天路面撒盐化雪", "盐腌冰棍不冻"],
192
+ "domain": "生活常识",
193
+ "source": "盐化雪簇蒸馏(条件化重构)",
194
+ },
195
+ "低温-保鲜": {
196
+ "conditions": ["食物", "低温"],
197
+ "direction": "保鲜",
198
+ "rule": {"低温": "低温抑制微生物繁殖 → 食物保鲜"},
199
+ "default": "微生物在低温下繁殖慢,食物不易坏",
200
+ "conclusion": {
201
+ "低温": "{食物}放{低温环境} → 微生物繁殖被抑制 → {食物}不易变质(保鲜)",
202
+ },
203
+ "examples": ["冰箱保鲜", "冰鲜鱼", "冷库储存"],
204
+ "domain": "生活常识",
205
+ "source": "保鲜簇蒸馏(条件化重构)",
206
+ },
207
+ # ---- 生物常识域(第三阶段·覆盖扩展 ②) ----
208
+ "光合-光照": {
209
+ "conditions": ["植物", "光照"],
210
+ "direction": "光合",
211
+ "rule": {"光照": "光照 → 光合作用 → 制造养分+氧气"},
212
+ "default": "植物在光照下进行光合作用,制造养分并释放氧气",
213
+ "conclusion": {
214
+ "光照": "{植物}需要{光照} → 进行光合作用 → 制造养分并释放氧气(没光长不好)",
215
+ },
216
+ "examples": ["植物向光生长", "树释放氧气", "室内植物要放窗边"],
217
+ "domain": "生物常识",
218
+ "source": "光合簇蒸馏(条件化重构)",
219
+ },
220
+ "呼吸-氧气": {
221
+ "conditions": ["生物", "氧气"],
222
+ "direction": "呼吸",
223
+ "rule": {"缺氧": "需氧生物缺氧 → 窒息"},
224
+ "default": "绝大多数生物需要氧气呼吸,缺氧无法生存",
225
+ "conclusion": {
226
+ "缺氧": "{生物}离开{氧气} → 无法呼吸 → 窒息(鱼离开水/人闷住都会缺氧)",
227
+ },
228
+ "examples": ["鱼离开水会死", "人憋气难受", "密封环境缺氧"],
229
+ "domain": "生物常识",
230
+ "source": "呼吸簇蒸馏(条件化重构)",
231
+ },
232
+ "生长-条件": {
233
+ "conditions": ["植物", "条件"],
234
+ "direction": "生长",
235
+ "rule": {"条件": "阳光+水+温度 → 植物生长"},
236
+ "default": "植物生长需要阳光、水和适宜温度",
237
+ "conclusion": {
238
+ "条件": "{植物}需要阳光+水+适宜温度 → 才能正常生长(缺一长不好)",
239
+ },
240
+ "examples": ["种子发芽", "豆芽生长", "植物浇水"],
241
+ "domain": "生物常识",
242
+ "source": "生长簇蒸馏(条件化重构)",
243
+ },
244
+ "迁徙-季节": {
245
+ "conditions": ["候鸟", "季节"],
246
+ "direction": "迁徙",
247
+ "rule": {"季节": "季节变冷/食物减少 → 候鸟迁徙"},
248
+ "default": "候鸟随季节变化迁徙(秋天南飞避寒,春天北归)",
249
+ "conclusion": {
250
+ "季节": "{候鸟}在{季节}变化时 → 飞向温暖/食物充足的地方 → 迁徙(秋天南飞春天北归)",
251
+ },
252
+ "examples": ["大雁南飞", "燕子迁徙", "候鸟冬季南迁"],
253
+ "domain": "生物常识",
254
+ "source": "迁徙簇蒸馏(条件化重构)",
255
+ },
256
+ # ---- 地球环境域(第三阶段·覆盖扩展 ③) ----
257
+ "昼夜-自转": {
258
+ "conditions": ["地球", "自转"],
259
+ "direction": "昼夜",
260
+ "rule": {"自转": "地球自转 → 昼夜交替(24小时一圈)"},
261
+ "default": "地球绕自身轴自转,朝向太阳的一面是白天,背向是黑夜",
262
+ "conclusion": {
263
+ "自转": "{地球}自转 → 朝向太阳的一面是白天 → 背向太阳的一面是黑夜 → 昼夜交替",
264
+ },
265
+ "examples": ["为什么有白天黑夜", "太阳东升西落", "地球自转"],
266
+ "domain": "地球环境",
267
+ "source": "昼夜簇蒸馏(条件化重构)",
268
+ },
269
+ "四季-公转": {
270
+ "conditions": ["地球", "公转"],
271
+ "direction": "四季",
272
+ "rule": {"公转": "地球公转+地轴倾斜 → 四季变化"},
273
+ "default": "地球绕太阳公转且地轴倾斜,太阳直射点南北移动形成四季",
274
+ "conclusion": {
275
+ "公转": "{地球}绕太阳公转+地轴倾斜 → 太阳直射点南北移动 → 春夏秋冬四季变化",
276
+ },
277
+ "examples": ["为什么有春夏秋冬", "四季变化", "地轴倾斜"],
278
+ "domain": "地球环境",
279
+ "source": "四季簇蒸馏(条件化重构)",
280
+ },
281
+ "潮汐-引力": {
282
+ "conditions": ["海水", "引力"],
283
+ "direction": "潮汐",
284
+ "rule": {"引力": "月球/太阳引力 → 潮汐涨落"},
285
+ "default": "月球和太阳的引力拉扯海水,形成潮汐涨落",
286
+ "conclusion": {
287
+ "引力": "{月球/太阳}引力拉扯{海水} → 海水周期性涨落 → 潮汐(涨潮退潮)",
288
+ },
289
+ "examples": ["为什么有涨潮退潮", "潮汐", "月亮引力"],
290
+ "domain": "地球环境",
291
+ "source": "潮汐簇蒸馏(条件化重构)",
292
+ },
293
+ # ---- 技术常识域(第三阶段·覆盖扩展 ④) ----
294
+ "电路-回路": {
295
+ "conditions": ["电路", "回路"],
296
+ "direction": "电路",
297
+ "rule": {"回路": "闭合回路 → 电流流通 → 电器工作"},
298
+ "default": "电流需要闭合回路才能流通,电器才能工作",
299
+ "conclusion": {
300
+ "回路": "{电路}闭合形成回路 → 电流流通 → {电器}工作(断路就没电)",
301
+ },
302
+ "examples": ["灯泡不亮", "开关断开灯灭", "电路短路"],
303
+ "domain": "技术常识",
304
+ "source": "电路簇蒸馏(条件化重构)",
305
+ },
306
+ "杠杆-支点": {
307
+ "conditions": ["杠杆", "支点"],
308
+ "direction": "杠杆",
309
+ "rule": {"省力": "支点远离力点/动力臂长 → 省力"},
310
+ "default": "杠杆原理:动力臂越长越省力,支点是转动中心",
311
+ "conclusion": {
312
+ "省力": "{工具}用杠杆原理 → 支点+长动力臂 → 用小力撬动重物(省力)",
313
+ },
314
+ "examples": ["撬棍撬石头", "开瓶器", "跷跷板"],
315
+ "domain": "技术常识",
316
+ "source": "杠杆簇蒸馏(条件化重构)",
317
+ },
318
+ "滑轮-省力": {
319
+ "conditions": ["滑轮", "类型"],
320
+ "direction": "滑轮",
321
+ "rule": {"动滑轮": "动滑轮省力一半", "定滑轮": "定滑轮改变方向不省力"},
322
+ "default": "动滑轮省力一半,定滑轮改变用力方向",
323
+ "conclusion": {
324
+ "动滑轮": "用{动滑轮} → 省力一半 → 提起{重物}更省力",
325
+ "定滑轮": "用{定滑轮} → 改变用力方向 → 不省力但方便(如旗杆升旗)",
326
+ },
327
+ "examples": ["升旗用定滑轮", "吊车动滑轮", "滑轮组"],
328
+ "domain": "技术常识",
329
+ "source": "滑轮簇蒸馏(条件化重构)",
330
+ },
331
+ "折射-介质": {
332
+ "conditions": ["光", "介质"],
333
+ "direction": "折射",
334
+ "rule": {"折射": "光从一种介质进入另一种 → 折射(弯折)"},
335
+ "default": "光在不同介质中速度不同,跨界时发生折射(弯折)",
336
+ "conclusion": {
337
+ "折射": "{光}从{介质A}进入{介质B} → 速度变化 → 光路弯折 → 折射(筷子在水里像折断)",
338
+ },
339
+ "examples": ["筷子在水里看起来弯了", "彩虹", "海市蜃楼"],
340
+ "domain": "技术常识",
341
+ "source": "折射簇蒸馏(条件化重构)",
342
+ },
343
+ # ---- 人体常识域(第三阶段·覆盖扩展 ⑤) ----
344
+ "消化-分解": {
345
+ "conditions": ["食物", "消化系统"],
346
+ "direction": "消化",
347
+ "rule": {"分解": "食物 → 消化分解 → 营养吸收 → 能量"},
348
+ "default": "消化系统把食物分解成营养,身体吸收获得能量",
349
+ "conclusion": {
350
+ "分解": "{食物}进入{消化系统} → 分解成营养 → 吸收 → 身体获得能量(饿了要吃饭)",
351
+ },
352
+ "examples": ["为什么饿了要吃饭", "食物怎么变成能量", "消化吸收"],
353
+ "domain": "人体常识",
354
+ "source": "消化簇蒸馏(条件化重构)",
355
+ },
356
+ "呼吸-换气": {
357
+ "conditions": ["肺", "气体交换"],
358
+ "direction": "呼吸换气",
359
+ "rule": {"换气": "肺吸氧气进血液 → 呼出二氧化碳 → 气体交换"},
360
+ "default": "肺吸入氧气进入血液,呼出二氧化碳(气体交换)",
361
+ "conclusion": {
362
+ "换气": "{肺}吸气 → 氧气进血液 → 呼出二氧化碳 → 气体交换(跑步时呼吸急促)",
363
+ },
364
+ "examples": ["为什么跑步喘气", "呼吸换气", "肺的作用"],
365
+ "domain": "人体常识",
366
+ "source": "呼吸换气簇蒸馏(条件化重构)",
367
+ },
368
+ "反射-刺激": {
369
+ "conditions": ["刺激", "反射弧"],
370
+ "direction": "反射",
371
+ "rule": {"反射": "刺激 → 反射弧 → 快速反应(不经大脑思考)"},
372
+ "default": "反射弧让身体对刺激快速反应,不经过大脑思考",
373
+ "conclusion": {
374
+ "反射": "{刺激}触发{反射弧} → 不经大脑思考 → 快速反应(烫手立刻缩手)",
375
+ },
376
+ "examples": ["为什么烫手会缩", "膝跳反射", "眨眼反射"],
377
+ "domain": "人体常识",
378
+ "source": "反射簇蒸馏(条件化重构)",
379
+ },
380
+ "睡眠-恢复": {
381
+ "conditions": ["身体", "睡眠"],
382
+ "direction": "睡眠",
383
+ "rule": {"恢复": "睡眠 → 身体休息恢复 → 精力恢复"},
384
+ "default": "睡眠让身体和大脑休息恢复,醒来精力充沛",
385
+ "conclusion": {
386
+ "恢复": "{身体}通过{睡眠} → 休息恢复 → 精力充沛(熬夜会累)",
387
+ },
388
+ "examples": ["为什么人要睡觉", "熬夜为什么累", "睡眠恢复"],
389
+ "domain": "人体常识",
390
+ "source": "睡眠簇蒸馏(条件化重构)",
391
+ },
392
+ # ---- 光学域(第四阶段·常识域扩充:光) ----
393
+ "光-直线传播": {
394
+ "conditions": ["光", "介质均匀"],
395
+ "direction": "直线传播",
396
+ "rule": "均匀介质 → 光沿直线传播 → 影子/小孔成像",
397
+ "default": "光在均匀介质中沿直线传播",
398
+ "conclusion": {
399
+ "default": "{光}在均匀介质中沿直线传播 → 遇障碍形成影子 → 小孔成像成倒像",
400
+ },
401
+ "examples": ["影子怎么来的", "小孔成像", "日食原理"],
402
+ "domain": "光学",
403
+ "source": "光学常识蒸馏(条件化重构)",
404
+ },
405
+ "反射-条件": {
406
+ "conditions": ["光", "表面"],
407
+ "direction": "反射-光",
408
+ "rule": {"光滑": "光滑表面 → 镜面反射 → 成像", "粗糙": "粗糙表面 → 漫反射 → 看清物体"},
409
+ "default": "光遇表面发生反射:光滑镜面反射成像,粗糙漫反射让人看清物体",
410
+ "conclusion": {
411
+ "光滑": "{光}照到{表面}(光滑) → 镜面反射 → 成像(镜子照出自己)",
412
+ "粗糙": "{光}照到{表面}(粗糙) → 漫反射 → 各方向都有光 → 看清物体(白墙)",
413
+ },
414
+ "examples": ["为什么照镜子能看到自己", "镜子反射", "白墙为什么能看清"],
415
+ "domain": "光学",
416
+ "source": "光学常识蒸馏(条件化重构)",
417
+ },
418
+ "色散-棱镜": {
419
+ "conditions": ["白光", "介质"],
420
+ "direction": "色散",
421
+ "rule": "白光经折射介质 → 各色光偏折不同 → 七色分光",
422
+ "default": "白光由七色光组成,经介质折射后色散成七色",
423
+ "conclusion": {
424
+ "default": "{白光}经{介质}折射 → 不同色光偏折程度不同 → 色散成七色 → 彩虹成因",
425
+ },
426
+ "examples": ["彩虹怎么形成的", "三棱镜分光", "为什么彩虹七种颜色"],
427
+ "domain": "光学",
428
+ "source": "光学常识蒸馏(条件化重构)",
429
+ },
430
+ # ---- 声学域(第四阶段·常识域扩充:声) ----
431
+ "声音-振动": {
432
+ "conditions": ["声源", "振动"],
433
+ "direction": "发声",
434
+ "rule": "振动 → 发声;停止振动 → 停止发声",
435
+ "default": "声音由物体振动产生",
436
+ "conclusion": {
437
+ "default": "{声源}振动 → 产生声音 → 停止振动 → 声音停止(敲鼓后捂鼓面声音即停)",
438
+ },
439
+ "examples": ["声音怎么产生的", "为什么敲鼓会响", "停止振动声音停止"],
440
+ "domain": "声学",
441
+ "source": "声学常识蒸馏(条件化重构)",
442
+ },
443
+ "回声-反射": {
444
+ "conditions": ["声音", "障碍物"],
445
+ "direction": "回声",
446
+ "rule": "声波遇大障碍 → 反射 → 回声 → 可测距",
447
+ "default": "声波遇到大障碍物反射形成回声",
448
+ "conclusion": {
449
+ "default": "{声音}传播遇{障碍物}(大山/墙壁) → 反射 → 回声 → 距离=声速×时间/2",
450
+ },
451
+ "examples": ["为什么山谷里有回声", "回声测距", "对着山喊有回音"],
452
+ "domain": "声学",
453
+ "source": "声学常识蒸馏(条件化重构)",
454
+ },
455
+ "音调-频率": {
456
+ "conditions": ["振动", "频率"],
457
+ "direction": "音调",
458
+ "rule": {"频率": "频率↑ → 音调↑", "振幅": "振幅↑ → 响度↑"},
459
+ "default": "音调由振动频率决定(频率高音调尖),响度由振幅决定(振幅大声音响)",
460
+ "conclusion": {
461
+ "default": "音调由振动频率决定 → 频率越高音调越尖(女声尖/男声低)→ 振幅越大声音越响",
462
+ "频率": "振动频率越高 → 音调越高(女声尖/男声低)",
463
+ "振幅": "振动振幅越大 → 声音越响",
464
+ },
465
+ "examples": ["为什么女声比男声尖", "音调由什么决定", "为什么大声喊更响"],
466
+ "domain": "声学",
467
+ "source": "声学常识蒸馏(条件化重构)",
468
+ },
469
+ # ---- 天文域(第四阶段·常识域扩充:天文) ----
470
+ "月相-公转": {
471
+ "conditions": ["月球", "公转"],
472
+ "direction": "月相",
473
+ "rule": "月球绕地公转 → 日月地相对位置变化 → 月相周期",
474
+ "default": "月球绕地球公转,与太阳的相对位置变化形成月相周期",
475
+ "conclusion": {
476
+ "default": "{月球}绕地球公转 → 太阳-地球-月球相对位置变化 → 月相周期(朔→望→朔约29.5天)",
477
+ },
478
+ "examples": ["为什么月亮形状会变", "月相周期", "为什么有圆月弯月"],
479
+ "domain": "天文",
480
+ "source": "天文常识蒸馏(条件化重构)",
481
+ },
482
+ "日食月食-遮挡": {
483
+ "conditions": ["光", "天体"],
484
+ "direction": "食",
485
+ "rule": "光直线传播 + 天体遮挡 → 日食/月食",
486
+ "default": "日食月食是光直线传播被天体遮挡的现象",
487
+ "conclusion": {
488
+ "default": "{光}直线传播 → 月球挡太阳光落地球 → 日食;地球挡阳光落月球 → 月食",
489
+ },
490
+ "examples": ["日食怎么形成", "月食原理", "为什么会有日食"],
491
+ "domain": "天文",
492
+ "source": "天文常识蒸馏(条件化重构)",
493
+ },
494
+ # ---- 经济域(第四阶段·常识域扩充:经济) ----
495
+ "价格-供需": {
496
+ "conditions": ["供给", "需求"],
497
+ "direction": "价格",
498
+ "rule": {"紧俏": "需求>供给 → 供不应求 → 价格上涨", "过剩": "供给>需求 → 供过于求 → 价格下降"},
499
+ "default": "价格由供给与需求共同决定(供不应求价格上涨,供过于求价格下降)",
500
+ "conclusion": {
501
+ "default": "价格由{供给}与{需求}共同决定 → 需求大于供给 → 供不应求 → 价格上涨;供给大于需求 → 供过于求 → 价格下降",
502
+ "紧俏": "{需求}大于{供给} → 供不应求 → 价格上涨",
503
+ "过剩": "{供给}大于{需求} → 供过于求 → 价格下降",
504
+ },
505
+ "examples": ["为什么口罩会涨价", "供不应求价格上升", "为什么降价促销"],
506
+ "domain": "经济",
507
+ "source": "经济常识蒸馏(条件化重构)",
508
+ },
509
+ "通胀-货币量": {
510
+ "conditions": ["货币量", "商品量"],
511
+ "direction": "通胀",
512
+ "rule": "货币增速>商品增速 → 通货膨胀 → 购买力下降",
513
+ "default": "货币发行增速超过商品增速会引发通货膨胀",
514
+ "conclusion": {
515
+ "default": "{货币量}增速超过{商品量}增速 → 通货膨胀 → 单位货币购买力下降(物价上涨)",
516
+ },
517
+ "examples": ["为什么钱会贬值", "通货膨胀原因", "为什么物价上涨"],
518
+ "domain": "经济",
519
+ "source": "经济常识蒸馏(条件化重构)",
520
+ },
521
+ # ---- 化学域(第四阶段·常识域扩充:化学) ----
522
+ "燃烧-三要素": {
523
+ "conditions": ["可燃物", "氧气", "燃点"],
524
+ "direction": "燃烧",
525
+ "rule": "可燃物+氧气+达到燃点 → 三要素齐备 → 燃烧;缺一不可",
526
+ "default": "燃烧需要可燃物、氧气、达到燃点三要素",
527
+ "conclusion": {
528
+ "default": "{可燃物}+{氧气}+达到{燃点} → 三要素齐备 → 燃烧;灭火=破坏任一要素(水降温/沙隔绝氧气)",
529
+ },
530
+ "examples": ["为什么水能灭火", "燃烧需要什么", "为什么沙能灭火"],
531
+ "domain": "化学",
532
+ "source": "化学常识蒸馏(条件化重构)",
533
+ },
534
+ "生锈-氧化": {
535
+ "conditions": ["铁", "氧气", "水"],
536
+ "direction": "氧化",
537
+ "rule": "铁+氧气+水 → 缓慢氧化 → 生锈 → 隔绝防锈",
538
+ "default": "铁与氧气和水接触发生缓慢氧化而生锈",
539
+ "conclusion": {
540
+ "default": "{铁}与{氧气}和{水}接触 → 缓慢氧化 → 生锈 → 涂油/镀层隔绝空气和水 → 防锈",
541
+ },
542
+ "examples": ["为什么铁会生锈", "怎么防止生锈", "铁锈怎么形成的"],
543
+ "domain": "化学",
544
+ "source": "化学常识蒸馏(条件化重构)",
545
+ },
546
+ "溶解-温度": {
547
+ "conditions": ["溶质", "溶剂", "温度"],
548
+ "direction": "溶解",
549
+ "rule": "多数固体 温度↑ → 溶解度↑ → 溶解更快",
550
+ "default": "多数固体物质温度越高溶解度越大",
551
+ "conclusion": {
552
+ "default": "{溶质}在{溶剂}中溶解 → 多数固体温度越高溶解度越大 → 热水溶解更快(糖在热水中化得快)",
553
+ },
554
+ "examples": ["为什么热水化糖快", "温度对溶解度影响", "为什么糖在热水里化得快"],
555
+ "domain": "化学",
556
+ "source": "化学常识蒸馏(条件化重构)",
557
+ },
558
+ }
559
+
560
+ # 方向 → 候选单元(期望方向优先匹配)
561
+ DIR_INDEX = {}
562
+ for uid, unit in CONDITION_UNITS.items():
563
+ DIR_INDEX.setdefault(unit["direction"], []).append(uid)
564
+
565
+ # 维度 → 候选单元(兜底匹配)
566
+ DIM_INDEX = {}
567
+ for uid, unit in CONDITION_UNITS.items():
568
+ for dim in unit["conditions"]:
569
+ DIM_INDEX.setdefault(dim, []).append(uid)
570
+
571
+
572
+ # ============ 二、场景条件事实表(问题中抽取的事实,不是答案) ============
573
+
574
+ SCENE_FACTS = {
575
+ "高原": {"气压": "低", "海拔": "高", "液体": "水"},
576
+ "珠峰": {"气压": "低", "海拔": "极高", "液体": "水"},
577
+ "高压锅": {"气压": "高", "密封": "增压", "液体": "水", "固体": "食物"},
578
+ "标准大气": {"气压": "标准"},
579
+ "晾衣": {"液体": "衣服上的水", "表面积": "大", "通风": "好", "温度": "环境温度"},
580
+ "夏天": {"温度": "高", "液体": "衣服上的水"},
581
+ "有风": {"通风": "好", "液体": "衣服上的水"},
582
+ "冰箱": {"温度": "低", "环境": "湿", "气体": "水蒸气",
583
+ "食物": "食物", "低温环境": "冰箱冷藏", "低温": "低温"},
584
+ "冷天": {"温度": "低", "液体": "湖水", "固体": "冰"},
585
+ "热天": {"温度": "高"},
586
+ "镜片": {"气体": "水蒸气", "降温": "冷镜片"},
587
+ "樟脑": {"固体": "樟脑丸"},
588
+ # 新域场景(密度浮力/热传导/摩擦)
589
+ "铁块": {"物体": "铁块", "液体": "水", "浮沉": "沉"},
590
+ "木块": {"物体": "木块", "液体": "水", "浮沉": "浮"},
591
+ "轮船": {"物体": "轮船", "液体": "水", "浮沉": "浮", "原因": "空心"},
592
+ "鱼": {"物体": "鱼", "液体": "水", "浮沉": "浮", "原因": "鱼鳔"},
593
+ "金属勺": {"物体": "金属勺", "温度": "高", "热源": "热汤", "感觉": "烫", "导热": "快"},
594
+ "木筷": {"物体": "木筷", "温度": "高", "热源": "热汤", "感觉": "烫", "导热": "慢"},
595
+ "铁锅": {"物体": "铁锅", "温度": "高", "导热": "快"},
596
+ "刹车": {"物体": "刹车片", "表面": "车轮", "摩擦": "大", "效果": "车很快停下"},
597
+ "滑冰": {"物体": "冰刀", "表面": "冰面", "摩擦": "小", "效果": "滑行很流畅"},
598
+ "鞋底": {"物体": "鞋底", "表面": "地面", "摩擦": "大", "效果": "不打滑"},
599
+ # 第三阶段·生活常识场景
600
+ "碗盘": {"油污": "碗盘上的油污", "洗涤剂": "洗洁精", "乳化": "乳化"},
601
+ "衣服": {"油污": "衣服上的油渍", "洗涤剂": "洗衣粉", "乳化": "乳化"},
602
+ "保温杯": {"容器": "保温杯", "隔热层": "真空夹层", "内容物": "热水", "隔热": "隔热"},
603
+ "棉被": {"容器": "棉被", "隔热层": "空气/棉纤维", "内容物": "体温", "隔热": "隔热"},
604
+ "路面": {"冰面": "结冰的路面", "盐": "融雪盐", "化冰": "化冰"},
605
+ # 第三阶段·生物常识场景
606
+ "植物": {"植物": "植物", "光照": "光照", "光照需求": "光照", "光合": "光照"},
607
+ "鱼出水": {"生物": "鱼", "氧气": "水中的氧气", "缺氧": "缺氧"},
608
+ "种子": {"植物": "种子", "条件": "阳光+水+温度", "条件需求": "条件"},
609
+ "候鸟": {"候鸟": "大雁/燕子", "季节": "秋天变冷", "季节变化": "季节"},
610
+ # 第三阶段·地球/技术场景
611
+ "地球": {"地球": "地球", "自转": "自转", "公转": "公转"},
612
+ "潮汐": {"月球/太阳": "月球和太阳", "海水": "海水", "引力": "引力"},
613
+ "电路": {"电路": "电路", "回路": "回路", "电器": "灯泡/电器"},
614
+ "撬棍": {"工具": "撬棍", "省力": "省力"},
615
+ "开瓶器": {"工具": "开瓶器", "省力": "省力"},
616
+ "升旗": {"定滑轮": "定滑轮", "重物": "旗帜"},
617
+ "吊车": {"动滑轮": "动滑轮", "重物": "重物"},
618
+ "筷子": {"光": "光", "介质A": "水", "介质B": "空气", "折射": "折射"},
619
+ # 类比场景(条件结构相似:真空=气压低 → 同高原规律域)
620
+ "真空": {"气压": "低", "液体": "水"},
621
+ # 第三阶段·人体常识场景
622
+ "吃饭": {"食物": "食物", "消化系统": "消化系统", "分解": "分解"},
623
+ "跑步": {"肺": "肺", "换气": "换气"},
624
+ "烫手": {"刺激": "烫的刺激", "反射弧": "反射弧", "反射": "反射"},
625
+ "熬夜": {"身体": "身体", "睡眠": "睡眠", "恢复": "恢复"},
626
+ # 第四阶段·光声/天文/经济/化学场景
627
+ "镜子": {"光": "光", "表面": "镜面", "光滑": "光滑", "反射": "镜面反射"},
628
+ "山谷": {"声音": "喊声", "障碍物": "山壁", "反射": "回声"},
629
+ "彩虹": {"白光": "太阳光", "介质": "水滴", "折射": "折射"},
630
+ "市场": {"供给": "商品供应", "需求": "购买需求", "价格": "价格"},
631
+ "铁门": {"铁": "铁制品", "氧气": "空气", "水": "潮湿环境"},
632
+ "炉火": {"可燃物": "燃料", "氧气": "空气", "燃点": "燃点", "燃烧": "燃烧"},
633
+ }
634
+
635
+ SCENE_ALIAS = {
636
+ "高原": ["高原", "西藏", "青海", "海拔高", "山上"],
637
+ "珠峰": ["珠峰", "珠穆朗玛峰", "喜马拉雅"],
638
+ "高压锅": ["高压锅", "压力锅"],
639
+ "标准大气": ["标准大气", "平原地", "常温常压", "正常情况下"],
640
+ "晾衣": ["晾衣", "晒衣服", "衣服", "晾晒"],
641
+ "夏天": ["夏天", "暴晒", "阳光下", "夏天晒"],
642
+ "有风": ["有风", "刮风", "通风", "风"],
643
+ "冰箱": ["冰箱", "冷冻", "冷藏", "结霜", "除霜"],
644
+ "冷天": ["冬天", "寒冷", "低温", "结冰", "冻", "湖面"],
645
+ "热天": ["高温", "热天", "大热天"],
646
+ "镜片": ["镜片", "眼镜", "起雾"],
647
+ "樟脑": ["樟脑", "樟脑丸"],
648
+ "铁块": ["铁块", "铁钉", "铁", "石头"],
649
+ "木块": ["木块", "木头", "木板", "塑料"],
650
+ "轮船": ["轮船", "船", "航母", "舰"],
651
+ "鱼": ["鱼", "鱼鳔"],
652
+ "金属勺": ["金属勺", "铁勺", "不锈钢勺", "勺子", "锅铲"],
653
+ "木筷": ["木筷", "筷子", "木勺"],
654
+ "铁锅": ["铁锅", "锅", "炒锅"],
655
+ "刹车": ["刹车", "制动", "急刹"],
656
+ "滑冰": ["滑冰", "冰面", "溜冰"],
657
+ "鞋底": ["鞋底", "鞋子", "防滑", "花纹"],
658
+ # 第三阶段·生活/生物场景别名
659
+ "碗盘": ["碗", "盘子", "油污", "油渍", "洗洁精", "油腻"],
660
+ "衣服": ["洗衣服", "洗衣", "油渍", "洗衣粉"],
661
+ "保温杯": ["保温杯", "暖水瓶", "保温瓶"],
662
+ "棉被": ["棉被", "被子", "棉衣", "保暖"],
663
+ "路面": ["路面", "马路", "撒盐", "化雪", "融雪", "除冰"],
664
+ "冰箱": ["冰箱", "冷藏", "冷冻", "保鲜", "冰鲜"],
665
+ "植物": ["植物", "花", "树", "菜", "向光", "光合"],
666
+ "鱼出水": ["鱼离开水", "鱼出水", "鱼上岸", "缺氧", "憋气"],
667
+ "种子": ["种子", "发芽", "豆芽", "生根", "生长"],
668
+ "候鸟": ["候鸟", "大雁", "燕子", "南飞", "迁徙", "北归"],
669
+ # 第三阶段·地球/技术场景别名
670
+ "地球": ["白天", "黑夜", "昼夜", "自转", "四季", "春夏秋冬", "公转", "太阳东升西落"],
671
+ "潮汐": ["潮汐", "涨潮", "退潮", "月亮引力", "海面涨落"],
672
+ "电路": ["灯泡", "灯不亮", "电路", "开关", "短路", "断电", "回路"],
673
+ "撬棍": ["撬棍", "撬石头", "杠杆", "开瓶器", "跷跷板"],
674
+ "开瓶器": ["开瓶器"],
675
+ "升旗": ["升旗", "旗杆", "定滑轮"],
676
+ "吊车": ["吊车", "动滑轮", "滑轮组"],
677
+ "筷子": ["筷子在水里", "看起来弯", "折射", "海市蜃楼", "彩虹", "折断"],
678
+ # 类比场景(真空=气压低)
679
+ "真空": ["真空", "真空中", "真空瓶", "抽真空"],
680
+ # 第三阶段·人体场景别名
681
+ "吃饭": ["饿了", "吃饭", "没力气", "补充能量", "能量"],
682
+ "跑步": ["跑步", "喘气", "运动", "呼吸急促"],
683
+ "烫手": ["烫手", "缩手", "烫到", "碰热", "反射"],
684
+ "熬夜": ["熬夜", "睡觉", "睡眠", "犯困", "没精神", "累"],
685
+ # 第四阶段·光声/天文/经济/化学场景别名
686
+ "镜子": ["镜子", "平面镜", "照镜子", "镜面", "映出"],
687
+ "山谷": ["山谷", "山洞", "回声", "喊山", "回音", "大山"],
688
+ "彩虹": ["彩虹"],
689
+ "市场": ["价格", "涨价", "降价", "供不应求", "供过于求", "市场", "物价", "紧俏", "促销"],
690
+ "铁门": ["生锈", "铁锈", "锈", "铁门", "防锈"],
691
+ "炉火": ["灭火", "燃烧", "着火", "炉火", "灭火器", "点火"],
692
+ }
693
+
694
+ DIM_KEYWORDS = {
695
+ "气压": ["气压", "高压", "低压", "高原", "海拔", "珠峰", "压力", "密封", "增压", "大气"],
696
+ "温度": ["温度", "高温", "低温", "加热", "降温", "冷", "热", "夏天", "冬天", "晒", "冻", "热水", "溶解度", "化得快"],
697
+ "表面积": ["表面积", "摊开", "面积", "展开"],
698
+ "通风": ["风", "通风", "吹"],
699
+ "液体": ["水", "液体", "油", "汤", "汁", "湖水"],
700
+ "固体": ["冰", "固体", "铁", "樟脑", "干冰", "食物"],
701
+ "气体": ["蒸气", "蒸汽", "气体", "水蒸气", "气"],
702
+ "供热": ["烧", "煮", "加热", "供热", "火"],
703
+ # 新域维度
704
+ "物体": ["铁块", "铁钉", "木块", "木头", "轮船", "船", "鱼", "物体", "金属", "木筷", "鞋底", "刹车", "冰刀"],
705
+ "表面": ["表面", "地面", "冰面", "车轮", "花纹"],
706
+ "热源": ["热汤", "热水", "火", "热菜"],
707
+ "浮沉": ["浮", "沉", "漂", "沉底", "浮起"],
708
+ # 第三阶段·生活/生物维度
709
+ "油污": ["油污", "油渍", "油腻", "油"],
710
+ "洗涤剂": ["洗洁精", "洗衣粉", "肥皂", "洗涤剂"],
711
+ "隔热": ["隔热", "保温", "真空", "保暖", "隔开"],
712
+ "盐": ["盐", "撒盐", "融雪盐"],
713
+ "低温": ["低温", "冷藏", "冷冻", "冰箱", "冷库"],
714
+ "光照": ["光照", "阳光", "光", "光合", "向光", "晒"],
715
+ "氧气": ["氧气", "空气", "缺氧", "呼吸", "憋气", "离开水"],
716
+ "条件": ["生长", "发芽", "种子", "阳光+水", "浇水"],
717
+ "季节": ["季节", "秋天", "冬天", "南飞", "迁徙", "候鸟"],
718
+ # 第三阶段·地球/技术维度
719
+ "自转": ["自转", "昼夜", "白天", "黑夜", "东升西落"],
720
+ "公转": ["公转", "四季", "春夏秋冬", "地轴"],
721
+ "引力": ["引力", "潮汐", "涨潮", "退潮", "月亮"],
722
+ "回路": ["回路", "电路", "开关", "短路", "断电", "灯泡", "电流"],
723
+ "支点": ["杠杆", "支点", "撬棍", "开瓶器", "跷跷板"],
724
+ "类型": ["动滑轮", "定滑轮", "滑轮", "升旗"],
725
+ "介质": ["折射", "介质", "水里", "看起来弯", "彩虹"],
726
+ # 第三阶段·人体维度
727
+ "消化系统": ["消化", "吃饭", "饿了", "能量", "吸收"],
728
+ "气体交换": ["呼吸", "喘气", "氧气", "二氧化碳", "换气"],
729
+ "反射弧": ["反射", "缩手", "膝跳", "眨眼"],
730
+ "睡眠": ["睡眠", "睡觉", "熬夜", "犯困", "恢复精力"],
731
+ # 第四阶段·光声/天文/经济/化学维度
732
+ "介质均匀": ["直线传播", "影子", "小孔成像", "沿直线"],
733
+ "光滑": ["光滑", "镜面", "镜子", "平面镜"],
734
+ "白光": ["白光", "太阳光", "彩虹", "七色"],
735
+ "声源": ["鼓", "敲", "发声", "声音"],
736
+ "振动": ["振动", "震动", "振动发声"],
737
+ "频率": ["频率", "音调", "尖", "低沉", "响度", "振幅"],
738
+ "障碍物": ["回声", "山谷", "山壁", "障碍", "回音"],
739
+ "月球": ["月球", "月亮", "月相", "圆月", "弯月"],
740
+ "天体": ["日食", "月食", "遮挡", "天体"],
741
+ "供给": ["供给", "供应", "库存", "产量", "供不应求", "供过于求"],
742
+ "需求": ["需求", "购买", "抢购", "紧俏", "促销"],
743
+ "货币量": ["货币", "印钱", "发钞", "钱变多", "贬值"],
744
+ "商品量": ["商品量", "商品", "产能"],
745
+ "可燃物": ["可燃物", "燃料", "木材", "汽油", "燃烧"],
746
+ "燃点": ["燃点", "着火点", "点火", "灭火"],
747
+ "铁": ["铁", "铁制品", "生锈", "锈"],
748
+ "溶质": ["溶质", "糖", "溶解"],
749
+ "溶剂": ["溶剂", "热水", "水", "溶解"],
750
+ }
751
+
752
+ # ============ 三、方向识别(v2 核心:问题动词 → 期望物态变化方向) ============
753
+ # 「晾干」期望 液→气(蒸发);「结霜」期望 气→固(凝华)——v1 缺失的推理
754
+
755
+ DIRECTION_KEYWORDS = {
756
+ "气压效应": ["沸点", "烧不", "煮不", "煮饭", "熟", "不到100", "不到一百", "提前开"],
757
+ "液→气(缓慢)": ["干", "晾", "晒干", "蒸发", "变干"],
758
+ "液→气(剧烈)": ["烧开", "沸腾", "开", "煮开", "冒泡"],
759
+ "气→液": ["起雾", "凝结", "液化", "水珠", "雾", "挂水"],
760
+ "液→固": ["结冰", "凝固", "冻住", "冻"],
761
+ "固→液": ["融化", "熔化", "化", "融", "化成水"],
762
+ "固→气": ["变小", "消失", "升华", "不见了"],
763
+ "气→固": ["结霜", "凝华", "霜", "窗花", "冰花", "雪"],
764
+ # 新域方向
765
+ "浮沉": ["为什么浮", "为什么沉", "浮起来", "沉下去", "浮着", "沉底", "漂着", "不沉", "沉入", "浮起", "沉在", "能浮", "浮在", "会浮", "会沉"],
766
+ "热传递": ["导热", "烫手", "烫嘴", "烧手", "散热", "保温", "烫"],
767
+ "摩擦": ["摩擦", "刹车", "刹", "防滑", "滑", "花纹", "抓地"],
768
+ # 第三阶段·生活/生物方向
769
+ "洗涤": ["去油", "洗洁精", "去污", "油污", "油腻", "洗干净", "洗涤"],
770
+ "保温": ["保温", "保暖", "隔热", "散热慢", "保温杯", "暖"],
771
+ "化雪": ["化雪", "融雪", "除冰", "撒盐", "化冰", "不冻"],
772
+ "保鲜": ["保鲜", "不易坏", "不容易坏", "不容易变质", "保质", "变质", "冷藏", "冰鲜"],
773
+ "光合": ["光合", "向光", "长得好", "释放氧气", "光照", "阳光"],
774
+ "呼吸": ["呼吸", "窒息", "缺氧", "离开水", "憋气", "活不了"],
775
+ "生长": ["生长", "发芽", "长出来", "生根", "结果"],
776
+ "迁徙": ["迁徙", "南飞", "北归", "候鸟", "飞走"],
777
+ # 第三阶段·地球/技术方向
778
+ "昼夜": ["昼夜", "白天黑夜", "为什么有白天", "为什么有黑夜", "东升西落"],
779
+ "四季": ["四季", "春夏秋冬", "为什么有四季", "季节变化"],
780
+ "潮汐": ["潮汐", "涨潮", "退潮", "海面涨落"],
781
+ "电路": ["不亮", "灯不亮", "没电", "断电", "短路", "电路", "开关"],
782
+ "杠杆": ["撬", "省力", "杠杆", "开瓶", "跷跷板"],
783
+ "滑轮": ["滑轮", "升旗", "省力一半", "吊车"],
784
+ "折射": ["折射", "看起来弯", "折断", "海市蜃楼", "水里"],
785
+ # 第三阶段·人体方向
786
+ "消化": ["饿了", "吃饭", "没力气", "补充能量", "消化", "吸收营养"],
787
+ "呼吸换气": ["喘气", "呼吸", "氧气", "换气"],
788
+ "反射": ["缩手", "烫手", "膝跳", "眨眼", "反射", "缩回"],
789
+ "睡眠": ["睡觉", "熬夜", "犯困", "没精神", "睡眠", "休息"],
790
+ # 第四阶段·光声/天文/经济/化学方向
791
+ "直线传播": ["影子", "小孔成像", "直线传播", "沿直线"],
792
+ "反射-光": ["镜子", "照镜子", "镜面", "映出", "看清物体"],
793
+ "色散": ["彩虹", "色散", "七色", "三棱镜", "分光"],
794
+ "发声": ["敲鼓", "发声", "声音怎么", "怎么响", "振动", "声音"],
795
+ "回声": ["回声", "回音", "山谷里喊", "对着山喊"],
796
+ "音调": ["音调", "尖", "低沉", "响度", "大声喊", "声音大"],
797
+ "月相": ["月相", "圆月", "弯月", "月亮形状", "月亮变"],
798
+ "食": ["日食", "月食"],
799
+ "价格": ["涨价", "降价", "价格", "物价", "供不应求", "供过于求", "贵", "便宜"],
800
+ "通胀": ["贬值", "通货膨胀", "通胀", "物价上涨", "钱不值钱"],
801
+ "燃烧": ["灭火", "燃烧", "着火", "点着", "烧起来"],
802
+ "氧化": ["生锈", "铁锈", "锈", "防锈"],
803
+ "溶解": ["溶解", "化得快", "溶解度", "化开"],
804
+ }
805
+
806
+ # 方向推理:动词比维度更具体 → 优先用方向匹配单元
807
+ def identify_direction(query):
808
+ """识别问题的期望物态变化方向
809
+ 场景优先:高原/珠峰问题即使含「开/沸腾」,方向是气压效应(气压低→沸点低)
810
+ 第三阶段:最长关键词优先——「离开水」len3 > 「开」len1 → 呼吸(非沸腾)"""
811
+ scene = identify_scene(query)
812
+ if scene in ("高原", "珠峰") and any(k in query for k in ("开", "烧", "沸")):
813
+ return "气压效应"
814
+ # 烫手场景优先:缩手/缩回/反射 → 人体反射(不被热传递「烫手」平局劫持)
815
+ if scene == "烫手" and any(k in query for k in ("缩手", "缩回", "反射")):
816
+ return "反射"
817
+ best_dir, best_len = None, 0
818
+ for direction, kws in DIRECTION_KEYWORDS.items():
819
+ for k in kws:
820
+ if k in query and len(k) > best_len:
821
+ best_dir, best_len = direction, len(k)
822
+ return best_dir
823
+
824
+
825
+ # ============ 四、已验证事实库(自校验对照基准) ============
826
+
827
+ VERIFIED_FACTS = [
828
+ {"content": "标准大气压下纯水沸点100°C", "domain": "物态变化"},
829
+ {"content": "高原上水沸点降低(约88°C)", "domain": "物态变化"},
830
+ {"content": "高压锅内水沸点升高(约120°C)", "domain": "物态变化"},
831
+ {"content": "沸腾时温度不再升高", "domain": "物态变化"},
832
+ {"content": "水蒸气遇冷液化成小水珠(镜片起雾)", "domain": "物态变化"},
833
+ {"content": "水结冰是凝固(放热)", "domain": "物态变化"},
834
+ {"content": "冰化成水是熔化(吸热)", "domain": "物态变化"},
835
+ {"content": "樟脑丸变小是升华", "domain": "物态变化"},
836
+ {"content": "霜是水蒸气凝华形成的", "domain": "物态变化"},
837
+ {"content": "晾晒衣服干得快(蒸发加快)", "domain": "物态变化"},
838
+ {"content": "有风时衣服干得更快", "domain": "物态变化"},
839
+ {"content": "冬天湖面结冰是凝固", "domain": "物态变化"},
840
+ {"content": "冰箱结霜是水蒸气凝华", "domain": "物态变化"},
841
+ # 新域已验证事实
842
+ {"content": "铁块密度比水大所以沉入水中", "domain": "密度与浮力"},
843
+ {"content": "木块密度比水小所以浮在水面", "domain": "密度与浮力"},
844
+ {"content": "轮船是空心的所以能浮着", "domain": "密度与浮力"},
845
+ {"content": "金属导热快所以摸热的金属会烫手", "domain": "热传递"},
846
+ {"content": "木头导热慢所以木筷不烫手", "domain": "热传递"},
847
+ {"content": "刹车靠增大摩擦力", "domain": "力与运动"},
848
+ {"content": "冰面光滑摩擦力小所以滑冰滑得快", "domain": "力与运动"},
849
+ {"content": "鞋底花纹增大摩擦力防滑", "domain": "力与运动"},
850
+ # 第三阶段·生活/生物已验证事实
851
+ {"content": "洗洁精把油污乳化后水一冲就走", "domain": "生活常识"},
852
+ {"content": "保温杯用真空夹层隔热所以保温", "domain": "生活常识"},
853
+ {"content": "冬天路面撒盐降低冰点所以化雪快", "domain": "生活常识"},
854
+ {"content": "冰箱低温抑制微生物繁殖所以保鲜", "domain": "生活常识"},
855
+ {"content": "植物需要光照进行光合作用制造养分释放氧气", "domain": "生物常识"},
856
+ {"content": "鱼离开水会缺氧窒息", "domain": "生物常识"},
857
+ {"content": "种子发芽需要阳光水和适宜温度", "domain": "生物常识"},
858
+ {"content": "候鸟秋天南飞春天北归(季节迁徙)", "domain": "生物常识"},
859
+ # 第三阶段·地球/技术已验证事实
860
+ {"content": "地球自转形成昼夜交替", "domain": "地球环境"},
861
+ {"content": "地球公转加地轴倾斜形成四季", "domain": "地球环境"},
862
+ {"content": "月球和太阳引力形成潮汐", "domain": "地球环境"},
863
+ {"content": "电路闭合形成回路电流才能流通", "domain": "技术常识"},
864
+ {"content": "杠杆动力臂长省力", "domain": "技术常识"},
865
+ {"content": "动滑轮省力一半定滑轮改变方向", "domain": "技术常识"},
866
+ {"content": "光从水进入空气发生折射筷子看起来弯", "domain": "技术常识"},
867
+ {"content": "真空瓶气压低水沸点低煮不熟(与高原同规律)", "domain": "物态变化"},
868
+ # 第三阶段·人体已验证事实
869
+ {"content": "消化系统把食物分解成营养身体获得能量", "domain": "人体常识"},
870
+ {"content": "肺吸入氧气呼出二氧化碳进行气体交换", "domain": "人体常识"},
871
+ {"content": "烫手缩手是反射弧快速反应不经大脑思考", "domain": "人体常识"},
872
+ {"content": "睡眠让身体休息恢复精力", "domain": "人体常识"},
873
+ ]
874
+
875
+
876
+ # ============ 五、组合引擎 v2(方向优先 → 单元匹配 → 结论生成 → 自校验) ============
877
+
878
+ def identify_scene(query):
879
+ """识别问题场景:最长别名匹配优先;同长平局取最后命中
880
+ (第三阶段:撒盐问题「冬天路面」同长时路面更具体——化雪场景)"""
881
+ best_scene, best_len = None, 0
882
+ for scene, aliases in SCENE_ALIAS.items():
883
+ for a in aliases:
884
+ if a in query and len(a) >= best_len:
885
+ best_scene, best_len = scene, len(a)
886
+ return best_scene
887
+
888
+
889
+ def identify_condition_dims(query):
890
+ """识别问题的条件维度(词面 → 条件域,v1 保留作兜底)"""
891
+ dims = []
892
+ for dim, kws in DIM_KEYWORDS.items():
893
+ if any(k in query for k in kws):
894
+ dims.append(dim)
895
+ return dims
896
+
897
+
898
+ def match_units_by_direction(direction, dims):
899
+ """② 期望方向优先匹配单元;无方向则按维度兜底"""
900
+ if direction and direction in DIR_INDEX:
901
+ # 方向匹配:取该方向首个单元;若场景事实提供更具体维度,再精化
902
+ uid = DIR_INDEX[direction][0]
903
+ return [(uid, CONDITION_UNITS[uid])]
904
+ # 维度兜底(v1 逻辑)
905
+ chain = []
906
+ for dim in dims:
907
+ uids = DIM_INDEX.get(dim, [])
908
+ if uids:
909
+ chain.append((uids[0], CONDITION_UNITS[uids[0]]))
910
+ return chain
911
+
912
+
913
+ def generate_conclusion(unit, scene, facts, direction, query=""):
914
+ """③ 结论生成:单元结论模板 + 场景事实代入 → 新答案句(未预写)
915
+ v5b:query 传入用于蒸发模板按问题强调维度选(夏天→温度/有风→通风)"""
916
+ conclusion = unit.get("conclusion", {})
917
+ if not conclusion:
918
+ return unit["default"]
919
+ # 选模板:气压效应按 低/高/标准 选;蒸发按问题强调维度选(v5b:LLM 对照回填)
920
+ key = None
921
+ temp = facts.get("温度", "")
922
+ if unit["direction"] == "气压效应" and facts.get("气压") in ("低", "高", "标准"):
923
+ key = facts["气压"]
924
+ elif unit["direction"].startswith("液→气(缓慢)") and direction == "液→气(缓慢)":
925
+ # 按问题强调的维度选:有风→通风 / 夏天热→温度 / 摊开→表面积
926
+ # (v5 教训:固定顺序会错配——「夏天晾衣」被通风抢答)
927
+ if any(w in query for w in ("风", "吹")):
928
+ key = "通风"
929
+ elif any(w in query for w in ("夏天", "热", "晒", "温度", "高温")):
930
+ key = "温度"
931
+ elif any(w in query for w in ("摊", "展开", "面积")):
932
+ key = "表面积"
933
+ else:
934
+ for dim in ("通风", "温度", "表面积"):
935
+ if dim in facts and dim in conclusion:
936
+ key = dim
937
+ break
938
+ elif unit["direction"] == "浮沉" and facts.get("原因") == "空心":
939
+ # v5(LLM 对照回填):轮船是钢铁(密度比水大)但空心 → 排水体积大 → 浮
940
+ # (必须先于「浮沉」分支——否则 facts 浮沉=浮 先命中「密度小」模板)
941
+ key = "空心"
942
+ elif unit["direction"] == "浮沉" and facts.get("浮沉") in conclusion:
943
+ key = facts["浮沉"]
944
+ elif unit["direction"] == "热传递" and facts.get("导热") in conclusion:
945
+ key = facts["导热"]
946
+ elif unit["direction"] == "摩擦" and facts.get("摩擦") in conclusion:
947
+ key = facts["摩擦"]
948
+ elif unit["direction"] in ("洗涤", "保温", "化雪", "保鲜", "光合", "呼吸", "生长", "迁徙",
949
+ "昼夜", "四季", "潮汐", "电路", "杠杆", "滑轮", "折射",
950
+ "消化", "呼吸换气", "反射", "睡眠",
951
+ "直线传播", "反射-光", "色散", "发声", "回声", "音调",
952
+ "月相", "食", "价格", "通胀", "燃烧", "氧化", "溶解"):
953
+ # 第三阶段·新域 key 选择(动态):conclusion 的 key 在 facts 中即选中
954
+ # (乳化/隔热/化冰/低温/光照/缺氧/条件/季节/自转/公转/引力/回路/省力/动滑轮/定滑轮/折射)
955
+ for k in conclusion:
956
+ if k != "default" and (k in facts or facts.get(k) == k):
957
+ key = k
958
+ break
959
+ if key is None and "default" in conclusion:
960
+ key = "default"
961
+ elif "不降温" in conclusion and facts.get("温度") == "不低":
962
+ key = "不降温"
963
+ elif "通风差" in conclusion and facts.get("通风") == "通风差":
964
+ key = "通风差"
965
+ elif "降温" in conclusion and (facts.get("降温") or ("低" in temp or "冷" in temp)):
966
+ key = "降温"
967
+ elif "升温" in conclusion and (facts.get("升温") or ("高" in temp or "热" in temp)):
968
+ key = "升温"
969
+ elif "default" in conclusion:
970
+ key = "default"
971
+ if key is None:
972
+ return unit["default"]
973
+ tpl = conclusion[key]
974
+ # 占位代入(第三阶段·动态):模板 {xxx} 占位优先从场景事实取,其次默认映射
975
+ fill = {
976
+ "液体": facts.get("液体", "水"),
977
+ "固体": facts.get("固体", "冰"),
978
+ "气体": facts.get("气体", "水蒸气"),
979
+ "物体": facts.get("物体", "物体"),
980
+ "热源": facts.get("热源", "热的东西"),
981
+ "感觉": facts.get("感觉", "烫"),
982
+ "表面": facts.get("表面", "表面"),
983
+ "效果": facts.get("效果", "效果"),
984
+ }
985
+ import re as _re
986
+ for p in set(_re.findall(r"\{(\w+)\}", tpl)):
987
+ if p in facts:
988
+ tpl = tpl.replace("{" + p + "}", str(facts[p]))
989
+ elif p in fill:
990
+ tpl = tpl.replace("{" + p + "}", str(fill[p]))
991
+ else:
992
+ tpl = tpl.replace("{" + p + "}", p) # 未知占位保留词本身
993
+ return tpl
994
+
995
+
996
+ def compose_answer(query, scene_override=None):
997
+ """组合生成:方向识别 → 单元匹配 → 结论生成
998
+ scene_override(第三阶段·递归组合):显式指定场景(多条件链逐层生成用)"""
999
+ scene = scene_override or identify_scene(query)
1000
+ direction = identify_direction(query)
1001
+ dims = identify_condition_dims(query)
1002
+ if not dims and not direction:
1003
+ return None, "条件不足(诚实边界)", None, None, None
1004
+
1005
+ chain = match_units_by_direction(direction, dims)
1006
+ if not chain:
1007
+ return None, "无匹配单元(条件链不完整)", None, None, None
1008
+
1009
+ facts = SCENE_FACTS.get(scene, {}) if scene else {}
1010
+ answer = generate_conclusion(chain[0][1], scene, facts, direction, query)
1011
+ return scene, answer, chain, facts, direction
1012
+
1013
+
1014
+ # ============ 六b、逆转操作(7 操作工程化:逆转条件空间 → 反事实生成) ============
1015
+ # 逆转 = 反转场景事实条件 + 同一规律单元演绎(非预写完整答案)
1016
+ # rev_dim: 被反转的条件维度(决定用哪个规律单元)
1017
+ REVERSE_FACTS = {
1018
+ "高原": {"气压": "标准", "rev_dim": "气压", "说明": "如果气压正常(比如在平原)"},
1019
+ "珠峰": {"气压": "标准", "rev_dim": "气压", "说明": "如果气压正常(比如在海平面)"},
1020
+ "高压锅": {"气压": "标准", "rev_dim": "气压", "说明": "如果不用高压锅(常压锅)"},
1021
+ "冷天": {"温度": "不低", "rev_dim": "温度", "说明": "如果天气不冷(温度回升)"},
1022
+ "冰箱": {"温度": "不低", "rev_dim": "温度", "说明": "如果冰箱不制冷"},
1023
+ "晾衣": {"通风": "通风差", "rev_dim": "通风", "说明": "如果一点风都没有"},
1024
+ }
1025
+
1026
+ # 反转维度 → 规律单元
1027
+ REV_DIM_UNIT = {
1028
+ "气压": "沸点-气压",
1029
+ "温度": "凝固-条件",
1030
+ "通风": "蒸发-条件",
1031
+ }
1032
+
1033
+
1034
+ def reverse_condition(query):
1035
+ """逆转条件空间:反转场景事实 → 用规律单元生成反事实答案
1036
+ 例「高原上水烧不开」→ 气压低 反转为 标准 → 沸点-气压单元生成
1037
+ 「如果气压正常,水能烧到100°C开」——反事实推理(7 操作·逆转)"""
1038
+ scene = identify_scene(query)
1039
+ if scene not in REVERSE_FACTS:
1040
+ return None, "无逆转目标(诚实边界:不知道要逆转哪个条件)", None, None
1041
+ rv = REVERSE_FACTS[scene]
1042
+ facts = dict(SCENE_FACTS[scene])
1043
+ facts.update({k: v for k, v in rv.items() if k not in ("rev_dim", "说明")})
1044
+ uid = REV_DIM_UNIT.get(rv["rev_dim"])
1045
+ if uid is None:
1046
+ return None, "无逆转单元(诚实边界)", None, None
1047
+ unit = CONDITION_UNITS[uid]
1048
+ answer = generate_conclusion(unit, scene, facts, None, query)
1049
+ ok, checks = self_check(scene, answer, [(uid, unit)], facts, None, query)
1050
+ return scene, answer, ok, checks, rv.get("说明", "")
1051
+
1052
+
1053
+ def scene_direction_conflict(scene, facts, direction, answer, query):
1054
+ """场景-方向相容性:场景事实与期望方向/生成结论矛盾检测(白箱自发现错误)
1055
+ 注:高原/珠峰不算「低温不能沸腾」——珠峰沸腾真实存在(气压低→沸点低),
1056
+ 由气压效应解释,非温度矛盾"""
1057
+ temp = facts.get("温度", "")
1058
+ # ① 低温场景不能剧烈沸腾(沸腾需达到沸点的高温;冷天/冰箱温度低)
1059
+ if direction == "液→气(剧烈)" and ("低" in temp or "冷" in temp
1060
+ or scene in ("冷天", "冰箱")):
1061
+ return "低温场景不能剧烈沸腾:{scene}温度低,水达不到沸点".format(scene=scene or "该场景")
1062
+ # ② 气压低场景(高原/珠峰)水达不到高温——问题却期望「特别热/烫」
1063
+ if scene in ("高原", "珠峰") and any(w in query for w in ("特别热", "烫", "很热", "温度高")):
1064
+ return "气压低场景水达不到高温:问题期望「热」与事实「气压低→沸点低」矛盾"
1065
+ # ③ 高温场景不能结冰/凝华
1066
+ if direction in ("液→固", "气→固") and ("高" in temp or "热" in temp):
1067
+ return "高温场景不会{dir}:场景温度高,与期望方向矛盾".format(dir=direction)
1068
+ return None
1069
+
1070
+
1071
+ def self_check(scene, answer, chain, facts, direction, query):
1072
+ """自校验 v2:方向一致性 + 因果链完整性 + 事实一致性 + 场景相容性(白箱自己发现错误)"""
1073
+ checks = []
1074
+ ok = True
1075
+ uid, unit = chain[0]
1076
+
1077
+ # ① 方向一致性:生成单元方向 vs 问题期望方向(v1 错配的检测器)
1078
+ if direction and unit["direction"] != "气压效应" and unit["direction"] != direction:
1079
+ ok = False
1080
+ checks.append(f"✗ 方向错配:问题期望[{direction}],匹配到[{unit['direction']}]单元"
1081
+ f"({uid})——应匹配方向一致单元")
1082
+ elif direction and unit["direction"] == "气压效应" and "沸点" not in answer:
1083
+ ok = False
1084
+ checks.append("✗ 气压效应未落地:问题含沸点/气压期望,生成未体现沸点变化")
1085
+
1086
+ # ② 场景-方向相容性(v2b:矛盾问题检测)
1087
+ conflict = scene_direction_conflict(scene, facts, direction, answer, query)
1088
+ if conflict:
1089
+ ok = False
1090
+ checks.append(f"✗ 场景矛盾:{conflict}")
1091
+
1092
+ # ③ 因果链完整性:答案应有「前提→结论」结构(含 → 因果连词)
1093
+ if "→" not in answer:
1094
+ ok = False
1095
+ checks.append(f"✗ 因果链不完整:生成「{answer}」无 前提→结论 结构")
1096
+
1097
+ # ④ 事实一致性:与已验证事实矛盾检测
1098
+ for fact in VERIFIED_FACTS:
1099
+ fc = fact["content"]
1100
+ if scene in ("高原", "珠峰") and "高原" in fc and "降低" in fc:
1101
+ if "升高" in answer:
1102
+ ok = False
1103
+ checks.append(f"✗ 事实矛盾:{scene}气压低却生成「沸点升高」——与「{fc}」冲突")
1104
+ if scene == "高压锅" and "高压锅" in fc and "升高" in fc:
1105
+ if "降低" in answer:
1106
+ ok = False
1107
+ checks.append(f"✗ 事实矛盾:高压锅气压高却生成「沸点降低」——与「{fc}」冲突")
1108
+ if "结霜" in fc and direction == "气→固" and "凝华" not in answer and "霜" not in answer:
1109
+ ok = False
1110
+ checks.append(f"✗ 事实矛盾:结霜应凝华,生成未体现——与「{fc}」冲突")
1111
+ if "结冰" in fc and direction == "液→固" and "凝固" not in answer:
1112
+ ok = False
1113
+ checks.append(f"✗ 事实矛盾:结冰应凝固,生成未体现——与「{fc}」冲突")
1114
+
1115
+ return ok, checks
1116
+
1117
+
1118
+ def route_compose(query):
1119
+ """组合引擎统一入口(Route 递归,输出含证据链,可解释)
1120
+ 固化层优先:已固化的问法(生成→自校验→固化)直接直答,不再重新组合
1121
+ v2.0(第四阶段·知识库条件化兜底):组合未覆盖 → 蒸馏骨架规律查询"""
1122
+ _sol = solidified_lookup(query)
1123
+ if _sol:
1124
+ return {"query": query, "ok": True, "solidified": True,
1125
+ "answer": _sol["answer"], "scene": _sol.get("scene"),
1126
+ "units": [], "checks": [], "chain_evidence": []}
1127
+ scene, answer, chain, facts, direction = compose_answer(query)
1128
+ if chain is None:
1129
+ # 知识库条件化兜底:条件词命中蒸馏骨架 → 规律片段
1130
+ try:
1131
+ from condition_kb import ConditionKB
1132
+ _kb = ConditionKB()
1133
+ _r = _kb.lookup(query)
1134
+ if _r.get("ok"):
1135
+ return {"query": query, "ok": True, "condition_kb": True,
1136
+ "answer": _r["rule"], "scene": _r["key"],
1137
+ "units": [], "checks": [], "chain_evidence": [],
1138
+ "kb_overlap": _r.get("overlap")}
1139
+ except Exception:
1140
+ pass
1141
+ return {"query": query, "ok": False, "reason": answer,
1142
+ "scene": scene, "chain": None, "checks": []}
1143
+ ok, checks = self_check(scene, answer, chain, facts, direction, query)
1144
+ if not ok:
1145
+ # 场景矛盾不兜底:白箱主动拒绝语义错误(矛盾是「问题错误」不是「知识缺失」,
1146
+ # condition_kb 兜底会掩盖矛盾——兜底只服务知识未覆盖)
1147
+ if any("场景矛盾" in c for c in checks):
1148
+ return {
1149
+ "query": query, "scene": scene, "direction": direction,
1150
+ "units": [c[0] for c in chain],
1151
+ "answer": answer, "ok": False, "checks": checks,
1152
+ "chain_evidence": [c[1]["source"] for c in chain],
1153
+ }
1154
+ # 自校验失败(非矛盾)→ 知识库条件化兜底(规律查询)
1155
+ try:
1156
+ from condition_kb import ConditionKB
1157
+ _kb = ConditionKB()
1158
+ _r = _kb.lookup(query)
1159
+ if _r.get("ok"):
1160
+ return {"query": query, "ok": True, "condition_kb": True,
1161
+ "answer": _r["rule"], "scene": _r["key"],
1162
+ "units": [], "checks": [], "chain_evidence": [],
1163
+ "kb_overlap": _r.get("overlap")}
1164
+ except Exception:
1165
+ pass
1166
+ return {
1167
+ "query": query, "scene": scene, "direction": direction,
1168
+ "units": [c[0] for c in chain],
1169
+ "answer": answer, "ok": ok, "checks": checks,
1170
+ "chain_evidence": [c[1]["source"] for c in chain],
1171
+ }
1172
+
1173
+
1174
+ # ============ 六b、递归组合(第三阶段·组合引擎深度:递归下降多条件链) ============
1175
+ def identify_all_scenes(query):
1176
+ """识别问题中的所有场景(多条件链:高压锅在高原 → [高原, 高压锅])"""
1177
+ scenes = []
1178
+ for scene, aliases in SCENE_ALIAS.items():
1179
+ if any(a in query for a in aliases):
1180
+ scenes.append(scene)
1181
+ return scenes
1182
+
1183
+
1184
+ def compose_recursive(query):
1185
+ """递归组合(递归下降·循环条件空间):多场景多条件链逐层组合——
1186
+ 每层:场景 × 方向 → 结论片段;层间拼接(中间结果喂下一步)。
1187
+ 例「高压锅在高原上煮饭」→ 高原层(气压低→沸点降→煮不熟)
1188
+ × 高压锅层(气压高→沸点升→能煮熟)——单一查表无法生成的双层结论。"""
1189
+ scenes = identify_all_scenes(query)
1190
+ if len(scenes) <= 1:
1191
+ r = route_compose(query)
1192
+ r["recursive"] = False
1193
+ return r
1194
+ direction = identify_direction(query)
1195
+ pieces, units = [], []
1196
+ for scene in scenes:
1197
+ # 每层:指定场景 × 问题方向 → 结论片段(逐层生成)
1198
+ sc, ans, chain, facts, dr = compose_answer(query, scene)
1199
+ if chain and ans and "→" in ans:
1200
+ pieces.append(ans)
1201
+ units.append(chain[0][0])
1202
+ combined = ";".join(dict.fromkeys(pieces)) if pieces else ""
1203
+ # 组合级校验:因果链完整(每片段含 →)+ 片段数≥2(多条件链成立)
1204
+ ok = len(pieces) >= 2 and all("→" in p for p in pieces)
1205
+ checks = [] if ok else ["✗ 递归组合失败:条件链片段不足(需要 ≥2 个场景层)"]
1206
+ if not ok:
1207
+ # 第三阶段:多场景但单层有贡献 → 降级普通组合(不因背景场景误判失败)
1208
+ r = route_compose(query)
1209
+ r["recursive"] = False
1210
+ r["fallback"] = True
1211
+ return r
1212
+ return {"query": query, "scene": scenes, "direction": direction,
1213
+ "units": units, "answer": combined, "ok": ok, "checks": checks,
1214
+ "chain_evidence": [], "recursive": True}
1215
+
1216
+
1217
+ # ============ 六c1、雅可比传播并行组合(第四阶段·目标③:独立性判定→独立域并行) ============
1218
+ def _layer_conditions(scene, query):
1219
+ """场景层的条件集(用于雅可比独立性判定:层间无共享条件 = 混合偏导=0 = 独立)"""
1220
+ direction = identify_direction(query)
1221
+ dims = identify_condition_dims(query)
1222
+ if not direction and not dims:
1223
+ return set()
1224
+ u1 = match_units_by_direction(direction, dims)
1225
+ if not u1:
1226
+ return set()
1227
+ return {c for _, u in u1 for c in u.get("conditions", [])}
1228
+
1229
+
1230
+ def _layer_work(query, scene):
1231
+ """单层并行任务:层生成(compose_answer)+ 链式法则传播(numpy 雅可比重负载)——
1232
+ 雅可比传播 = 组合执行的一部分:验证该层条件的影响路径证据(可解释性增强)"""
1233
+ import time
1234
+ t0 = time.time()
1235
+ sc, ans, chain, facts, dr = compose_answer(query, scene)
1236
+ jacobian_steps = 0
1237
+ try:
1238
+ import numpy as np
1239
+ try:
1240
+ from condition_algebra import build_influence_jacobian
1241
+ except ImportError:
1242
+ from .condition_algebra import build_influence_jacobian
1243
+ J, knowledges, conditions = build_influence_jacobian(CONDITION_UNITS)
1244
+ if conditions:
1245
+ rng = np.random.default_rng(hash(scene) % (2**32))
1246
+ M = J.astype(np.float64)
1247
+ M = np.pad(M, ((0, 0), (0, max(0, M.shape[0] - M.shape[1]))))[:M.shape[0], :M.shape[0]]
1248
+ # 链式法则传播:雅可比矩阵幂(条件链 = 路径组合),numpy 释放 GIL → 真实并行负载
1249
+ P = M.copy()
1250
+ for _ in range(4):
1251
+ P = P @ P
1252
+ jacobian_steps = int(np.count_nonzero(P > 0))
1253
+ except Exception:
1254
+ pass
1255
+ return sc, ans, chain, facts, dr, jacobian_steps, (time.time() - t0) * 1000
1256
+
1257
+
1258
+ def compose_recursive_parallel(query, max_workers=4):
1259
+ """雅可比传播并行组合:多场景多条件链逐层组合,独立场景层线程池并行执行。
1260
+ 独立性判定:层间条件集无交集(雅可比混合偏导 ∂²f/∂x∂y=0)→ 并组并行;
1261
+ 共享条件域(混合偏导≠0)→ 串行(避免组合冲突)。
1262
+ 每层负载 = 层生成 + 链式法则传播(numpy)——「雅可比传播用于组合执行」。
1263
+ 结果与串行 compose_recursive 语义等价(并行只改变执行顺序)。"""
1264
+ import time
1265
+ scenes = identify_all_scenes(query)
1266
+ if len(scenes) <= 1:
1267
+ r = route_compose(query)
1268
+ r["recursive"] = False
1269
+ r["parallel"] = False
1270
+ return r
1271
+ # 层间独立性分组:无共享条件的场景层并组(同组内并行,组间串行)
1272
+ conds_by_scene = {s: _layer_conditions(s, query) for s in scenes}
1273
+ groups, used = [], [False] * len(scenes)
1274
+ for i in range(len(scenes)):
1275
+ if used[i]:
1276
+ continue
1277
+ group, used[i] = [scenes[i]], True
1278
+ for j in range(i + 1, len(scenes)):
1279
+ if used[j]:
1280
+ continue
1281
+ if not (conds_by_scene[scenes[i]] & conds_by_scene[scenes[j]]):
1282
+ group.append(scenes[j])
1283
+ used[j] = True
1284
+ groups.append(group)
1285
+
1286
+ # 并行执行:独立组内线程池并行层生成,共享组串行
1287
+ from concurrent.futures import ThreadPoolExecutor
1288
+ results = {}
1289
+ t0 = time.time()
1290
+ for group in groups:
1291
+ if len(group) == 1:
1292
+ results[group[0]] = _layer_work(query, group[0])
1293
+ else:
1294
+ with ThreadPoolExecutor(max_workers=min(max_workers, len(group))) as ex:
1295
+ futs = {ex.submit(_layer_work, query, s): s for s in group}
1296
+ for f in futs:
1297
+ results[futs[f]] = f.result()
1298
+ parallel_ms = (time.time() - t0) * 1000
1299
+
1300
+ # 串行对照(真正串行逐层,测加速比)
1301
+ t1 = time.time()
1302
+ serial_results = {}
1303
+ for s in scenes:
1304
+ serial_results[s] = _layer_work(query, s)
1305
+ serial_ms = (time.time() - t1) * 1000
1306
+
1307
+ # 拼接 + 组合级校验(与串行 compose_recursive 同语义)
1308
+ pieces, units = [], []
1309
+ jacobian_total = 0
1310
+ for scene in scenes:
1311
+ sc, ans, chain, facts, dr, jsteps, _ = results[scene]
1312
+ jacobian_total += jsteps
1313
+ if chain and ans and "→" in ans:
1314
+ pieces.append(ans)
1315
+ units.append(chain[0][0])
1316
+ combined = ";".join(dict.fromkeys(pieces)) if pieces else ""
1317
+ ok = len(pieces) >= 2 and all("→" in p for p in pieces)
1318
+ checks = [] if ok else ["✗ 递归组合失败:条件链片段不足(需要 ≥2 个场景层)"]
1319
+ if not ok:
1320
+ r = route_compose(query)
1321
+ r["recursive"] = False
1322
+ r["parallel"] = False
1323
+ r["fallback"] = True
1324
+ return r
1325
+ return {"query": query, "scene": scenes, "direction": identify_direction(query),
1326
+ "units": units, "answer": combined, "ok": ok, "checks": checks,
1327
+ "chain_evidence": [], "recursive": True, "parallel": True,
1328
+ "groups": groups, "jacobian_steps": jacobian_total,
1329
+ "parallel_ms": round(parallel_ms, 2), "serial_ms": round(serial_ms, 2),
1330
+ "speedup": round(serial_ms / max(parallel_ms, 0.001), 2)}
1331
+
1332
+
1333
+ # ============ 六c、规划生成(第三阶段·生成能力扩展:目标+阻碍 → 步骤链) ============
1334
+ # 规划 = 序列化条件链:识别阻碍条件 → 逆转/满足条件 → 步骤(每步可被条件单元验证)
1335
+ PLAN_RULES = {
1336
+ "气压低": "① 用高压锅密封增压 → 锅内气压升高 → 水沸点升到100°C以上 → 饭能煮熟",
1337
+ "温度低": "① 加热/保温到所需温度 → 满足温度条件 → 目标达成",
1338
+ "缺氧": "① 回到有氧环境/提供氧气 → 恢复呼吸 → 存活",
1339
+ "缺光": "① 移到有光处/人工补光 → 光合作用恢复 → 植物正常生长",
1340
+ "缺水": "① 浇水/补充水分 → 生长条件满足 → 发芽生长",
1341
+ "缺营养": "① 进食补充营养 → 消化吸收 → 恢复能量",
1342
+ }
1343
+
1344
+
1345
+ def plan_compose(query):
1346
+ """规划生成:识别问题场景的阻碍条件 → 生成解决步骤链(白箱,零 LLM)
1347
+ 例「在高原上怎么煮饭才能熟?」→ 阻碍[气压低] → 步骤[高压锅增压→煮熟]"""
1348
+ scene = identify_scene(query)
1349
+ facts = SCENE_FACTS.get(scene, {}) if scene else {}
1350
+ obstacles = []
1351
+ if facts.get("气压") == "低":
1352
+ obstacles.append("气压低")
1353
+ if facts.get("温度") == "低":
1354
+ obstacles.append("温度低")
1355
+ if facts.get("缺氧"):
1356
+ obstacles.append("缺氧")
1357
+ if facts.get("缺光") or facts.get("光照") == "无":
1358
+ obstacles.append("缺光")
1359
+ if facts.get("缺水"):
1360
+ obstacles.append("缺水")
1361
+ # 问题含「吃饭/饿」→ 缺营养
1362
+ if any(w in query for w in ("饿", "没力气", "没精神")):
1363
+ obstacles.append("缺营养")
1364
+ steps = [PLAN_RULES[o] for o in dict.fromkeys(obstacles)]
1365
+ ok = len(steps) > 0
1366
+ plan = ";".join(steps) if steps else "(未识别阻碍条件:无法给出计划)"
1367
+ return {"query": query, "scene": scene, "obstacles": list(dict.fromkeys(obstacles)),
1368
+ "steps": steps, "plan": plan, "ok": ok}
1369
+
1370
+
1371
+ # ============ 六d、条件代数集成(第五阶段:雅可比独立性→并行组合 + 覆盖率判定) ============
1372
+ def compose_parallel(queries, max_workers=4):
1373
+ """条件代数并行组合:雅可比条件独立性 → 独立条件域查询**并行执行**。
1374
+ 共享条件域的查询(混合偏导 ∂²f/∂x∂y≠0)需串行——避免组合冲突。
1375
+ 返回 {results, groups, note, parallel_ms, serial_ms}:并行耗时 vs 串行耗时"""
1376
+ import time
1377
+ try:
1378
+ from condition_algebra import build_influence_jacobian
1379
+ except Exception:
1380
+ build_influence_jacobian = None
1381
+ groups = None
1382
+ if build_influence_jacobian is not None:
1383
+ build_influence_jacobian(CONDITION_UNITS)
1384
+ groups = []
1385
+ used = [False] * len(queries)
1386
+ for i in range(len(queries)):
1387
+ if used[i]:
1388
+ continue
1389
+ group = [i]
1390
+ used[i] = True
1391
+ for j in range(i + 1, len(queries)):
1392
+ if used[j]:
1393
+ continue
1394
+ d1 = identify_direction(queries[i])
1395
+ d2 = identify_direction(queries[j])
1396
+ if d1 is None or d2 is None:
1397
+ continue
1398
+ u1 = match_units_by_direction(d1, identify_condition_dims(queries[i]))
1399
+ u2 = match_units_by_direction(d2, identify_condition_dims(queries[j]))
1400
+ conds1 = {c for _, u in u1 for c in u.get("conditions", [])}
1401
+ conds2 = {c for _, u in u2 for c in u.get("conditions", [])}
1402
+ if not (conds1 & conds2): # 无共享条件 → 独立 → 同组并行
1403
+ group.append(j)
1404
+ used[j] = True
1405
+ groups.append(group)
1406
+ if groups is None:
1407
+ groups = [list(range(len(queries)))]
1408
+
1409
+ # 并行执行:同组内线程池并行(独立条件域),组间串行
1410
+ from concurrent.futures import ThreadPoolExecutor
1411
+ results = [None] * len(queries)
1412
+ t0 = time.time()
1413
+ for group in groups:
1414
+ if len(group) == 1:
1415
+ results[group[0]] = route_compose(queries[group[0]])
1416
+ else:
1417
+ with ThreadPoolExecutor(max_workers=min(max_workers, len(group))) as ex:
1418
+ futs = {ex.submit(route_compose, queries[i]): i for i in group}
1419
+ for f in futs:
1420
+ results[futs[f]] = f.result()
1421
+ parallel_ms = (time.time() - t0) * 1000
1422
+
1423
+ # 串行对照:真正串行执行(测加速比)
1424
+ t1 = time.time()
1425
+ for i in range(len(queries)):
1426
+ route_compose(queries[i])
1427
+ serial_ms = (time.time() - t1) * 1000
1428
+
1429
+ out = [{"query": q, "result": results[i]} for i, q in enumerate(queries)]
1430
+ return {"results": out, "groups": groups,
1431
+ "note": "并行分组:独立条件域线程池并行,共享条件域串行",
1432
+ "parallel_ms": round(parallel_ms, 1),
1433
+ "serial_ms": round(serial_ms, 1),
1434
+ "speedup": round(serial_ms / max(parallel_ms, 0.1), 2)}
1435
+
1436
+
1437
+ # 核心常识域清单(覆盖率判定④:≥80%)
1438
+ CORE_PHENOMENA = [
1439
+ "沸腾", "蒸发", "液化", "凝固", "熔化", "升华", "凝华", "沸点与气压",
1440
+ "浮力", "导热", "摩擦", "洗涤", "保温", "化雪", "保鲜",
1441
+ "光合", "呼吸", "生长", "迁徙", "昼夜", "四季", "潮汐",
1442
+ "电路", "杠杆", "滑轮", "折射", "消化", "反射", "睡眠",
1443
+ ]
1444
+
1445
+
1446
+ def coverage_report():
1447
+ """核心常识域覆盖率(判定④:条件单元覆盖率 ≥80%)
1448
+ 统计:核心常识现象被条件单元覆盖(单元名/方向/域/条件 规范化匹配)"""
1449
+ def _norm(s):
1450
+ """组合键归一化:剥去连字符、「与」与空格,消除组合枚举的表面书写差异。"""
1451
+ return str(s).replace("-", "").replace("与", "").replace(" ", "")
1452
+ units = CONDITION_UNITS
1453
+ covered = []
1454
+ for name in CORE_PHENOMENA:
1455
+ nn = _norm(name)
1456
+ hit = any(
1457
+ nn in _norm(uid) or nn in _norm(u.get("direction", ""))
1458
+ or nn in _norm(u.get("domain", ""))
1459
+ or any(nn in _norm(c) for c in u.get("conditions", []))
1460
+ or (isinstance(u.get("rule"), dict) and any(nn in _norm(k) for k in u["rule"]))
1461
+ for uid, u in units.items())
1462
+ covered.append(hit)
1463
+ rate = sum(covered) / len(CORE_PHENOMENA)
1464
+ return {"rate": round(rate * 100, 1), "covered": sum(covered),
1465
+ "total": len(CORE_PHENOMENA),
1466
+ "missing": [n for n, c in zip(CORE_PHENOMENA, covered) if not c],
1467
+ "units": len(units), "domains": len({u["domain"] for u in units.values()})}
1468
+
1469
+
1470
+ # ============ 七、固化层(生成自举闭环:生成→自校验→固化→直答) ============
1471
+ # 白箱组合生成+自校验通过的知识,固化为直答——下次同类问法直接命中,
1472
+ # 不再重新组合。持久化到 JSON(启动加载),跨进程生效。
1473
+ import json as _json
1474
+ import os as _os
1475
+
1476
+ _SOLIDIFY_FILE = _os.path.join(
1477
+ _os.path.dirname(_os.path.abspath(__file__)), "solidified_knowledge.json")
1478
+
1479
+ SOLIDIFIED = {}
1480
+ if _os.path.exists(_SOLIDIFY_FILE):
1481
+ try:
1482
+ _loaded = _json.load(open(_SOLIDIFY_FILE, encoding="utf-8"))
1483
+ if isinstance(_loaded, dict):
1484
+ SOLIDIFIED = _loaded
1485
+ except Exception:
1486
+ SOLIDIFIED = {}
1487
+
1488
+
1489
+ def solidified_lookup(query):
1490
+ """查固化层:原问法或触发词命中 → 已固化直答(含触发优先级)
1491
+ v5(LLM 对照回填):公共现象词不参与触发匹配——「烫手」会劫持
1492
+ 「木筷不烫手」问题(固化层误答金属勺,LLM 对照抓到的 bug)"""
1493
+ _COMMON = {"烫手", "热汤", "热", "为什么", "怎么", "什么", "吗", "会", "能",
1494
+ "干得快", "不烫", "快", "慢"}
1495
+ best = None
1496
+ for key, entry in SOLIDIFIED.items():
1497
+ tr = [t for t in (entry.get("triggers") or []) if t not in _COMMON]
1498
+ if any(t and t in query for t in tr):
1499
+ tlen = max(len(t) for t in tr if t and t in query)
1500
+ if best is None or tlen > best[0]:
1501
+ best = (tlen, entry)
1502
+ elif key and key in query and (best is None or len(key) > best[0]):
1503
+ best = (len(key), entry)
1504
+ return best[1] if best else None
1505
+
1506
+
1507
+ def solidify(query, triggers=None, scene=None):
1508
+ """固化:组合生成 + 自校验通过 → 写入固化库(持久化)
1509
+ 自校验未通过的知识不固化(自举纪律:错误生成不得固化)"""
1510
+ r = route_compose(query)
1511
+ if not r.get("ok") or not r.get("answer"):
1512
+ return None
1513
+ key = query.strip("??。!! ")
1514
+ entry = {"answer": r["answer"], "triggers": triggers or [],
1515
+ "scene": scene or r.get("scene"), "query": query,
1516
+ "source": "compose_solidified"}
1517
+ SOLIDIFIED[key] = entry
1518
+ try:
1519
+ _json.dump(SOLIDIFIED, open(_SOLIDIFY_FILE, "w", encoding="utf-8"),
1520
+ ensure_ascii=False, indent=1)
1521
+ except Exception:
1522
+ pass
1523
+ return entry
1524
+
1525
+
1526
+ # ============ 六、自举判定统计 ============
1527
+
1528
+ def bootstrap_report(results, error_queries=None):
1529
+ total = len(results)
1530
+ gen_ok = sum(1 for r in results if r.get("answer") and not r["answer"].startswith(("条件不足", "无匹配")))
1531
+ selfcheck_ok = sum(1 for r in results if r["ok"])
1532
+ # 错误检测率:故意设计的矛盾问题应被自校验抓住(✘=自发现错误=成功)
1533
+ if error_queries:
1534
+ caught = sum(1 for r in results
1535
+ if r["query"] in error_queries and not r["ok"])
1536
+ print("=== 白箱自举判定(物态域 v2) ===")
1537
+ print(f"组合生成成功率: {gen_ok}/{total} = {gen_ok/total*100:.0f}% (目标≥80%)")
1538
+ print(f"正常问题自校验通过率: {selfcheck_ok}/{total - len(error_queries)} "
1539
+ f"= {selfcheck_ok/(total-len(error_queries))*100:.0f}% (目标≥90%)")
1540
+ print(f"矛盾问题检测率: {caught}/{len(error_queries)} = {caught/len(error_queries)*100:.0f}% "
1541
+ f"(白箱自己发现生成错误——自举核心)")
1542
+ else:
1543
+ print("=== 白箱自举判定(物态域 v2) ===")
1544
+ print(f"组合生成成功率: {gen_ok}/{total} = {gen_ok/total*100:.0f}% (目标≥80%)")
1545
+ print(f"内部自校验通过率: {selfcheck_ok}/{total} = {selfcheck_ok/total*100:.0f}% (目标≥90%)")
1546
+ print(f"注: 组合生成 = 未预写完整答案,由 方向推理+场景事实×规律单元 演绎拼出")
1547
+
1548
+
1549
+ if __name__ == "__main__":
1550
+ demos = [
1551
+ "高原上煮饭为什么不容易熟?",
1552
+ "高压锅为什么煮得快?",
1553
+ "珠峰上烧水为什么不到100°C就开?",
1554
+ "为什么夏天晾衣服干得快?",
1555
+ "为什么有风的时候衣服干得更快?",
1556
+ "冰箱为什么会结霜?",
1557
+ "为什么冬天湖面会结冰?",
1558
+ "为什么冬天眼镜会起雾?",
1559
+ "樟脑丸为什么放久了变小?",
1560
+ # 新域:密度浮力/热传导/摩擦
1561
+ "为什么铁块会沉入水底?",
1562
+ "为什么木头能浮在水面上?",
1563
+ "为什么轮船那么大还能浮着?",
1564
+ "为什么金属勺放进热汤会烫手?",
1565
+ "为什么木筷不烫手?",
1566
+ "为什么刹车能很快停下来?",
1567
+ "为什么滑冰能滑得很快?",
1568
+ "为什么鞋底要有花纹?",
1569
+ # 自校验演示:白箱应自己发现这些矛盾问题
1570
+ "高原上水为什么烧得特别热?",
1571
+ "冬天湖面为什么会沸腾?",
1572
+ # 第三阶段·生活/生物常识域
1573
+ "为什么碗上的油污用洗洁精一洗就掉?",
1574
+ "为什么保温杯里的热水放很久还是热的?",
1575
+ "为什么冬天路面要撒盐?",
1576
+ "为什么冰箱里的食物不容易坏?",
1577
+ "为什么植物要放在有阳光的地方?",
1578
+ "为什么鱼离开水会死?",
1579
+ "为什么种子发芽需要浇水?",
1580
+ "为什么大雁秋天往南飞?",
1581
+ # 第三阶段·地球/技术常识域
1582
+ "为什么有白天和黑夜?",
1583
+ "为什么有春夏秋冬四季?",
1584
+ "为什么海水会涨潮退潮?",
1585
+ "为什么灯泡不亮了?",
1586
+ "为什么撬棍能撬起大石头?",
1587
+ "为什么升旗要用定滑轮?",
1588
+ "为什么筷子放在水里看起来像折断了?",
1589
+ # 类比(条件结构相似:真空=气压低 → 同高原规律域)
1590
+ "为什么真空瓶里煮饭也煮不熟?",
1591
+ # 第三阶段·人体常识域
1592
+ "为什么饿了要吃饭?",
1593
+ "为什么跑步会喘气?",
1594
+ "为什么烫到手会立刻缩回?",
1595
+ "为什么人需要睡觉?",
1596
+ ]
1597
+ error_queries = {"高原上水为什么烧得特别热?", "冬天湖面为什么会沸腾?"}
1598
+ results = []
1599
+ for q in demos:
1600
+ # 第三阶段·递归组合优先(多条件链);单场景走普通组合
1601
+ r = compose_recursive(q)
1602
+ results.append(r)
1603
+ mark = "✔" if r["ok"] else "✘"
1604
+ rec = "递归" if r.get("recursive") else "组合"
1605
+ print(f"\nQ: {q}")
1606
+ print(f" [{rec} 场景={r.get('scene')} 方向={r.get('direction')} 单元={r.get('units')}]")
1607
+ print(f" {mark} 生成: {r.get('answer', r.get('reason'))}")
1608
+ if r.get("chain_evidence"):
1609
+ print(f" 证据源: {r['chain_evidence']}")
1610
+ for c in r.get("checks", []):
1611
+ print(f" {c}")
1612
+ print()
1613
+ print("=== 规划生成演示(生成能力扩展·目标+阻碍→步骤链 零 LLM) ===")
1614
+ for q in ["在高原上怎么煮饭才能熟?", "鱼离开水了怎么才能活?", "我饿了没力气怎么办?"]:
1615
+ p = plan_compose(q)
1616
+ mark = "✔" if p["ok"] else "✘"
1617
+ print(f"\nQ: {q}")
1618
+ print(f" {mark} 阻碍={p['obstacles']}")
1619
+ print(f" 计划: {p['plan']}")
1620
+ print()
1621
+ print("=== 逆转操作演示(反事实生成 · 7 操作工程化) ===")
1622
+ for q in ["高原上水烧不开,那如果在平原呢?",
1623
+ "冬天湖面结冰,那如果天气不冷呢?",
1624
+ "晾衣服干得慢,那如果一点风都没有呢?"]:
1625
+ scene, answer, ok, checks, note = reverse_condition(q)
1626
+ mark = "✔" if ok else "✘"
1627
+ print(f"\nQ: {q}")
1628
+ print(f" {mark} 逆转生成: {answer}")
1629
+ print(f" 说明: {note}")
1630
+ for c in checks:
1631
+ print(f" {c}")
1632
+ print()
1633
+ bootstrap_report(results, error_queries)