@furongjun1999/dsh-memory 0.4.11 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -16
- package/codebuddy/CODEBUDDY.md +11 -3
- package/codebuddy/README.md +92 -90
- package/codebuddy/mcp.json +27 -27
- package/docs/GBrain/345/217/257/345/200/237/351/211/264/347/202/271_/347/201/265/346/236/242/350/220/275/347/202/271/344/272/244/346/216/245_20260919.md +169 -169
- package/docs/Pi/345/217/257/345/255/246/344/271/240/344/274/230/347/202/271_/347/201/265/346/236/242/345/244/247/350/204/221/346/224/271/350/277/233/344/272/244/346/216/245_20260915.md +144 -144
- package/docs/README.md +142 -111
- package/docs/discipline/harnesses.yaml +244 -226
- package/docs/discipline/templates/full.md.tmpl +61 -61
- package/docs/discipline/templates/rules.mdc.tmpl +68 -0
- package/docs/discipline/templates/skill.md.tmpl +23 -23
- package/docs/eval/AGI/344/270/203/347/273/264/350/257/204/345/210/206/346/212/245/345/221/212_md_cg_v1.0.md +299 -299
- package/docs/eval/AGI/344/270/203/347/273/264/350/257/204/345/210/206/346/212/245/345/221/212_md_cg_v2.0.md +239 -239
- package/docs/eval//345/256/236/351/252/214/346/226/271/346/241/210_/345/255/246/344/271/240/351/227/255/347/216/257AB/344/270/216/346/250/252/350/257/204_v1.0.md +174 -174
- package/docs/eval//346/250/252/350/257/204_/345/205/255/345/256/266100/351/242/230/344/270/255/350/213/261/345/217/214/346/237/245_v1.0.md +223 -223
- package/docs/{mdcg → hive}//344/273/244/347/211/214/344/270/216/350/247/222/350/211/262/346/235/203/350/201/214/345/210/206/347/246/273_v0.1.md +165 -160
- package/docs/hive//344/273/244/347/211/214/350/257/255/344/271/211/344/277/256/346/255/243_/344/273/262/350/243/201/344/275/215_v0.1.md +76 -0
- package/docs/{mdcg → hive}//345/255/220/344/273/243/347/220/206/351/205/215/347/275/256/346/240/207/345/207/206_v0.5.md +236 -236
- package/docs/hive//346/243/200/347/264/242/346/224/266/346/225/233/345/256/236/346/265/213/344/270/216S1b/350/256/276/350/256/241_v0.1.md +43 -43
- package/docs/hive//346/243/200/347/264/242/347/256/227/346/263/225/345/217/243/345/276/204/345/257/271/347/205/247_v0.1.md +85 -0
- package/docs/hive//346/243/200/347/264/242/350/267/257/345/276/204/344/270/216/350/256/244/347/237/245/347/273/223/346/236/204/345/245/221/347/272/246_v0.1.md +102 -102
- package/docs/hive//350/234/202/345/267/242M6_ingest/345/256/236/346/226/275/350/256/241/345/210/222_v0.1.md +47 -0
- package/docs/hive//350/234/202/345/267/242/345/217/214/345/256/236/344/276/213/344/272/222/351/252/214_/350/256/276/350/256/241/345/256/232/347/250/277.md +503 -503
- package/docs/hive//350/234/202/345/267/242/345/267/245/344/275/234/350/256/260/345/277/206_/351/241/271/347/233/256/350/256/241/345/210/222.md +85 -85
- package/docs/hive//350/234/202/345/267/242/350/256/276/350/256/241_/347/220/206/350/256/272/345/257/271/351/275/220_v0.1.md +191 -0
- package/docs/hive//350/234/202/345/267/242/350/277/255/344/273/243_/345/256/217/350/247/202/344/270/216/347/276/244/344/275/223/350/260/203/345/272/246_v0.1.md +90 -0
- package/docs/mdcg/D_meta_/345/267/245/347/250/213/345/214/226/346/226/271/346/241/210_v0.2.md +216 -216
- package/docs/mdcg/README/350/257/246/347/273/206/347/211/210_v0.4.10.md +646 -646
- package/docs/mdcg/lingshu_tutorial.html +14449 -14449
- package/docs/mdcg/release_v0.4.11.md +49 -0
- package/docs/mdcg/release_v0.4.5.md +55 -55
- package/docs/mdcg/tool_table_v0.3.0.md +117 -117
- package/docs/mdcg//345/205/250/345/272/223/344/273/243/347/240/201/350/257/204/345/256/241/344/270/216/346/235/241/344/273/266/345/214/226/346/263/250/351/207/212_/350/256/241/345/210/222_v0.1.md +600 -600
- package/docs/mdcg//345/212/237/350/203/275/350/260/203/347/224/250/346/230/240/345/260/204/350/241/250_v0.1.md +40 -40
- package/docs/mdcg//345/215/225/345/205/203/350/207/252/346/210/221/351/224/232/347/202/271_/347/263/273/347/273/237/346/217/220/347/244/272/350/257/215/346/240/207/345/207/206_v0.3.md +275 -275
- package/docs/mdcg//345/217/221/345/270/203/351/227/250/347/246/201/351/223/276_v0.1.md +54 -0
- package/docs/mdcg//346/272/220/347/240/201/347/272/247/346/236/266/346/236/204/345/256/241/350/256/241_GPT/346/211/271/350/257/204/345/257/271/347/205/247_v1.0.md +130 -130
- package/docs/mdcg//347/201/265/346/236/24282/345/267/245/345/205/267_/345/212/237/350/203/275/346/225/264/347/220/206/344/270/216/350/277/201/347/247/273/346/230/240/345/260/204_v0.1.md +278 -278
- package/docs/mdcg//347/201/265/346/236/242/350/256/260/345/277/206/345/212/250/350/257/215/345/215/217/350/256/256_v1.0-draft.md +172 -172
- package/docs/mdcg//347/274/272/345/217/243/345/215/225_P0/346/224/266/345/217/243_v0.1.md +270 -270
- package/docs/mdcg//350/256/244/347/237/245/345/233/276_G4-G8/347/274/272/345/217/243/350/243/201/345/256/232/345/215/225_v0.1.md +491 -491
- package/docs/mdcg//350/256/244/347/237/245/345/233/276_/346/235/241/344/273/266/347/251/272/351/227/264/345/220/210/346/210/220/344/270/216/347/224/237/346/225/210/346/235/241/344/273/266/345/217/243/345/276/204_v0.1.md +340 -340
- package/docs/mdcg//350/256/244/347/237/245/345/233/276_/347/264/242/345/274/225/344/270/216/345/267/245/347/250/213/350/247/204/350/214/203/345/214/226_/350/256/241/345/210/222_v0.1.md +588 -588
- package/docs/plans/GridWorld/346/234/200/345/260/217/351/227/255/347/216/257/350/247/204/346/240/274_v0.1.md +176 -176
- package/docs/plans//345/221/275/345/220/215/346/262/273/347/220/206_/351/241/271/347/233/256/350/256/241/345/210/222.md +81 -81
- package/docs/swarm//350/234/202/347/276/244/344/272/222/350/201/224_v0.1.md +704 -704
- package/docs/swarm//350/234/202/347/276/244/345/220/214/351/224/231/346/243/200/346/265/213/345/256/236/351/252/214/345/215/217/350/256/256_v0.1.md +242 -242
- package/docs/theory//345/215/225/347/272/277/347/250/213/344/270/216/346/263/250/346/204/217/345/212/233/351/233/206/344/270/255_/346/227/240/344/272/211/350/256/256/347/220/206/350/256/272/346/226/207/346/241/243_v1.0.md +129 -129
- package/docs/theory//345/271/266/345/217/221/345/277/205/347/204/266/346/200/247/347/220/206/350/256/272_v0.2.md +134 -134
- package/docs/theory//346/231/272/350/203/275/350/256/2723.4.md +5260 -5260
- package/docs/theory//346/246/202/345/277/265/345/210/206/345/261/202/345/257/271/351/275/220/350/241/250_v0.1.md +145 -145
- package/docs/theory//347/220/206/350/256/272_/346/234/272/345/210/266_/344/273/243/347/240/201_/345/256/236/351/252/214_/347/274/272/345/217/243/347/237/251/351/230/265_v0.1.md +144 -144
- package/docs/theory//347/220/206/350/256/272/344/273/223/346/213/206/345/210/206/344/270/216/347/231/275/347/256/261/347/237/245/350/257/206/345/272/223/345/206/205/350/277/201_v0.1.md +198 -198
- package/docs/theory//350/256/244/347/237/245/344/273/243/347/220/206/344/270/216/346/224/266/346/225/233/347/273/223/346/236/204_/346/235/241/344/273/266/350/256/272/351/207/215/346/236/204_v0.1.md +221 -221
- package/docs/world_model//344/270/226/347/225/214/346/250/241/345/236/213_/347/245/236/347/273/217/347/275/221/347/273/234/345/272/225/345/261/202/346/236/266/346/236/204_v1.0.md +237 -237
- package/docs//345/217/221/345/270/203/344/273/266/345/233/236/346/272/257/350/257/264/346/230/216_v0.1.md +82 -82
- package/docs//345/267/245/344/275/234/347/272/252/345/276/213_/350/256/244/347/237/245/345/233/276/346/235/241/347/233/256_v1.1.json +28 -2
- package/dsh/README.md +82 -82
- package/dsh/cordis.yml.example +139 -139
- package/dsh/update-lingshu.bat +11 -11
- package/lib/hooks.js +36 -2
- package/lib/lib/roleplay_web.js +427 -427
- package/md_cg/__init__.py +7 -7
- package/md_cg/audit.py +368 -368
- package/md_cg/autonomy.py +287 -287
- package/md_cg/backfill.py +1327 -1327
- package/md_cg/backfill_bigdomain.py +34 -34
- package/md_cg/bench6_arms.py +410 -410
- package/md_cg/bench6_common.py +230 -230
- package/md_cg/bench6_competitors.py +212 -212
- package/md_cg/bench_axis_domain.py +257 -257
- package/md_cg/bench_blind_comp.py +308 -308
- package/md_cg/bench_en_atoms_public.py +230 -230
- package/md_cg/bench_governance.py +348 -348
- package/md_cg/bench_lme_zh.py +410 -410
- package/md_cg/bench_locomo.py +121 -121
- package/md_cg/bench_locomo_zh.py +450 -450
- package/md_cg/bench_locomo_zh_public.py +147 -147
- package/md_cg/bench_longmem.py +112 -112
- package/md_cg/bench_membench.py +632 -632
- package/md_cg/bench_p0.py +149 -149
- package/md_cg/bench_progressive.py +287 -287
- package/md_cg/bench_role_views.py +238 -238
- package/md_cg/bench_task_ab.py +243 -243
- package/md_cg/bench_task_ab_llm.py +408 -408
- package/md_cg/bench_unified_en.py +204 -204
- package/md_cg/bench_zh_mad.py +601 -601
- package/md_cg/blindspot_tickets.py +123 -123
- package/md_cg/branches.py +285 -285
- package/md_cg/build_postings.py +73 -73
- package/md_cg/ccgc.py +1005 -948
- package/md_cg/census.py +132 -132
- package/md_cg/chain.py +300 -300
- package/md_cg/codeindex.py +531 -531
- package/md_cg/coldverify.py +292 -292
- package/md_cg/comment_gate.py +337 -337
- package/md_cg/cond_compose.py +190 -190
- package/md_cg/cond_facts.py +154 -154
- package/md_cg/cond_template.json +106 -106
- package/md_cg/condition_anchor.py +142 -142
- package/md_cg/conformance.py +726 -726
- package/md_cg/consistency.py +717 -717
- package/md_cg/consolidate.py +1536 -1439
- package/md_cg/corpus.py +110 -110
- package/md_cg/crosscheck.py +1097 -1097
- package/md_cg/crypto.py +437 -437
- package/md_cg/d_meta.py +310 -310
- package/md_cg/datapath.py +334 -334
- package/md_cg/docindex.py +473 -473
- package/md_cg/eval_common.py +575 -575
- package/md_cg/evidence.py +580 -580
- package/md_cg/evolution.py +477 -477
- package/md_cg/export.py +220 -220
- package/md_cg/forgetting.py +581 -581
- package/md_cg/fsutil.py +329 -329
- package/md_cg/hotcache.py +238 -214
- package/md_cg/hyperedge.py +251 -251
- package/md_cg/identity.py +390 -390
- package/md_cg/insight.py +500 -500
- package/md_cg/interop.py +199 -0
- package/md_cg/lexicon/build_cedict_en_zh.py +329 -329
- package/md_cg/lexicon/build_standard_en.py +171 -171
- package/md_cg/lexicon/expand_en_zh.py +211 -211
- package/md_cg/lifecycle.py +272 -272
- package/md_cg/linkref.py +280 -280
- package/md_cg/links.py +622 -622
- package/md_cg/mcp_server.py +129 -32
- package/md_cg/md_whitebox.py +345 -345
- package/md_cg/mdcg.py +176 -117
- package/md_cg/mdcos.py +79 -13
- package/md_cg/metacognition.py +591 -591
- package/md_cg/migrate.py +119 -119
- package/md_cg/migrate_aeis.py +221 -221
- package/md_cg/migrate_roleplay.py +293 -293
- package/md_cg/migrate_wisdom_graph.py +360 -360
- package/md_cg/mreview/__init__.py +25 -25
- package/md_cg/mreview/__main__.py +110 -110
- package/md_cg/mreview/bundle.py +178 -178
- package/md_cg/mreview/candidates.py +262 -262
- package/md_cg/mreview/govern.py +693 -693
- package/md_cg/mreview/locate.py +939 -939
- package/md_cg/mreview/pipeline.py +728 -728
- package/md_cg/mreview/rules/duplication.json +21 -21
- package/md_cg/mreview/rules/field_coverage.json +54 -54
- package/md_cg/mreview/rules/source_license.json +21 -21
- package/md_cg/mreview/rules/template_flow.json +21 -21
- package/md_cg/mreview/ruleset.py +252 -252
- package/md_cg/nodefile.py +575 -575
- package/md_cg/pooling.py +484 -472
- package/md_cg/postings.py +298 -298
- package/md_cg/predict.py +1100 -1100
- package/md_cg/progressive.py +123 -123
- package/md_cg/protect.py +272 -272
- package/md_cg/protocol/md_cg_gate.proto +33 -33
- package/md_cg/protocol.py +372 -372
- package/md_cg/provenance.py +582 -582
- package/md_cg/reach.py +453 -453
- package/md_cg/readcache.py +85 -0
- package/md_cg/refindex.py +833 -833
- package/md_cg/refine.py +604 -604
- package/md_cg/roleviews.py +89 -89
- package/md_cg/routing.py +365 -365
- package/md_cg/scrub.py +852 -852
- package/md_cg/security.py +274 -274
- package/md_cg/self_state.py +1029 -1029
- package/md_cg/selfreport.py +151 -151
- package/md_cg/semantic/__init__.py +10 -10
- package/md_cg/semantic/canonical.py +122 -122
- package/md_cg/semantic/en_normalizer.py +364 -364
- package/md_cg/semantic/en_zh_map.json +28694 -0
- package/md_cg/semantic/export_en_zh_map.py +64 -0
- package/md_cg/semantic/unify.py +45 -0
- package/md_cg/semantic/zh_en_atoms.py +139 -139
- package/md_cg/signer.py +562 -562
- package/md_cg/sources.py +815 -582
- package/md_cg/statushdr.py +179 -179
- package/md_cg/stg.py +48 -37
- package/md_cg/subgraph.py +729 -729
- package/md_cg/sustain.py +1138 -1138
- package/md_cg/tasks.py +470 -470
- package/md_cg/test_action_derive.py +203 -203
- package/md_cg/test_audit_rotate.py +270 -270
- package/md_cg/test_autonomy.py +143 -143
- package/md_cg/test_bench_governance.py +102 -102
- package/md_cg/test_blindspot_tickets.py +166 -166
- package/md_cg/test_branches.py +249 -249
- package/md_cg/test_ccg_perturb.py +184 -184
- package/md_cg/test_ccgc.py +433 -433
- package/md_cg/test_census_prune.py +81 -81
- package/md_cg/test_cond_compose_anchors.py +76 -76
- package/md_cg/test_cond_match.py +165 -165
- package/md_cg/test_condition_anchor.py +81 -81
- package/md_cg/test_d_meta.py +412 -412
- package/md_cg/test_datapath_root.py +199 -199
- package/md_cg/test_en_pipeline.py +166 -166
- package/md_cg/test_gain_gate.py +212 -212
- package/md_cg/test_health_scale.py +173 -173
- package/md_cg/test_hive_ingest.py +285 -0
- package/md_cg/test_hot_cold.py +215 -215
- package/md_cg/test_hyperedge.py +245 -245
- package/md_cg/test_i26_empty_first_write.py +116 -0
- package/md_cg/test_i27_e041_identity.py +128 -0
- package/md_cg/test_i28_hotcache_prodpath.py +122 -0
- package/md_cg/test_identity_attribution.py +147 -147
- package/md_cg/test_index_durability.py +224 -224
- package/md_cg/test_interop.py +93 -0
- package/md_cg/test_lifecycle.py +309 -309
- package/md_cg/test_linkref.py +306 -306
- package/md_cg/test_lock.py +43 -43
- package/md_cg/test_md_access_parity.py +255 -255
- package/md_cg/test_md_writepath.py +345 -345
- package/md_cg/test_mdstore_search_parity.py +160 -0
- package/md_cg/test_mr_m2.py +587 -587
- package/md_cg/test_mr_m3.py +710 -710
- package/md_cg/test_mr_m4.py +485 -485
- package/md_cg/test_p0.py +250 -250
- package/md_cg/test_p1.py +316 -316
- package/md_cg/test_p10_identity.py +173 -173
- package/md_cg/test_p11_consistency.py +233 -233
- package/md_cg/test_p12_metacognition.py +212 -212
- package/md_cg/test_p13_encryption.py +241 -241
- package/md_cg/test_p14_sustain.py +249 -249
- package/md_cg/test_p15_scrub.py +280 -280
- package/md_cg/test_p16_self_state.py +301 -301
- package/md_cg/test_p17_predict.py +354 -354
- package/md_cg/test_p18_whitebox.py +171 -171
- package/md_cg/test_p19_migrate_roleplay.py +149 -149
- package/md_cg/test_p20_evolution.py +315 -315
- package/md_cg/test_p21_tokens.py +293 -270
- package/md_cg/test_p22_theory.py +175 -175
- package/md_cg/test_p23_links.py +311 -311
- package/md_cg/test_p24_evidence.py +227 -227
- package/md_cg/test_p25_weights.py +156 -156
- package/md_cg/test_p26_refindex.py +416 -416
- package/md_cg/test_p27_docindex.py +765 -765
- package/md_cg/test_p28_refcheck.py +305 -305
- package/md_cg/test_p29_session_ingest_export.py +354 -333
- package/md_cg/test_p3.py +11 -2
- package/md_cg/test_p30_maintain.py +330 -330
- package/md_cg/test_p31_insight.py +534 -534
- package/md_cg/test_p32_backfill.py +298 -298
- package/md_cg/test_p33_ccg_wiring.py +293 -293
- package/md_cg/test_p34_crosscheck.py +331 -331
- package/md_cg/test_p35_conditioned_claim.py +252 -252
- package/md_cg/test_p36_kp_align.py +230 -230
- package/md_cg/test_p37_condition_space.py +248 -248
- package/md_cg/test_p38_concurrent_flush.py +102 -0
- package/md_cg/test_p38_contextualize.py +273 -273
- package/md_cg/test_p39_verify_flow.py +113 -0
- package/md_cg/test_p39_vision_evidence.py +369 -369
- package/md_cg/test_p40_refine_worklist.py +241 -241
- package/md_cg/test_p41_evolve_patrol.py +224 -224
- package/md_cg/test_p42_provenance.py +269 -269
- package/md_cg/test_p43_pooling.py +412 -398
- package/md_cg/test_p44_md_whitebox.py +231 -231
- package/md_cg/test_p45_session_identity.py +219 -219
- package/md_cg/test_p46_unit_scope.py +272 -272
- package/md_cg/test_p47_session_view.py +281 -0
- package/md_cg/test_p4_fuzzy.py +223 -223
- package/md_cg/test_p5_semantic.py +226 -226
- package/md_cg/test_p6_consolidate.py +440 -387
- package/md_cg/test_p7_goals_recent.py +202 -202
- package/md_cg/test_p8_subgraph_chain.py +200 -200
- package/md_cg/test_p9_forget_protect.py +231 -231
- package/md_cg/test_predict_beta.py +135 -135
- package/md_cg/test_preflight_failclosed.py +100 -100
- package/md_cg/test_progressive.py +146 -146
- package/md_cg/test_protocol.py +243 -243
- package/md_cg/test_reach.py +378 -378
- package/md_cg/test_reach_keys.py +201 -201
- package/md_cg/test_read_clip.py +141 -141
- package/md_cg/test_readcache_prodpath.py +155 -0
- package/md_cg/test_retr_gates_prodpath.py +140 -0
- package/md_cg/test_retr_s1.py +340 -340
- package/md_cg/test_retr_s1b.py +209 -209
- package/md_cg/test_retr_s3.py +194 -194
- package/md_cg/test_retr_s4.py +163 -163
- package/md_cg/test_retr_s5.py +200 -200
- package/md_cg/test_retr_s6.py +157 -157
- package/md_cg/test_retr_s7.py +384 -384
- package/md_cg/test_retr_s8_time.py +369 -316
- package/md_cg/test_retr_s9_edges.py +286 -286
- package/md_cg/test_retr_s9_entity_ctx.py +175 -175
- package/md_cg/test_review_conformance.py +367 -367
- package/md_cg/test_role_views.py +354 -354
- package/md_cg/test_sem_noise.py +242 -242
- package/md_cg/test_semantic_canonical.py +241 -241
- package/md_cg/test_subproc_encoding.py +192 -192
- package/md_cg/test_sustain_mutual.py +153 -153
- package/md_cg/test_tasks.py +409 -409
- package/md_cg/test_tool_face.py +189 -189
- package/md_cg/test_transfer.py +180 -180
- package/md_cg/test_trust.py +361 -361
- package/md_cg/test_twophase.py +286 -286
- package/md_cg/test_v14_fixes.py +397 -397
- package/md_cg/test_validity_filter.py +280 -280
- package/md_cg/test_verify_answer.py +138 -138
- package/md_cg/test_wisdom_md_store.py +292 -292
- package/md_cg/test_writelimit.py +197 -197
- package/md_cg/test_writepipe.py +214 -214
- package/md_cg/theory.py +273 -273
- package/md_cg/tokens.py +677 -663
- package/md_cg/tool_face.py +260 -260
- package/md_cg/trust.py +986 -950
- package/md_cg/twophase.py +231 -231
- package/md_cg/units.py +667 -667
- package/md_cg/vision_evidence.py +666 -666
- package/md_cg/weights.py +624 -624
- package/md_cg/whitebox.py +527 -527
- package/md_cg/whitebox_kb/__init__.py +37 -37
- package/md_cg/whitebox_kb/aeis_core/__init__.py +42 -42
- package/md_cg/whitebox_kb/aeis_core/semantic.py +280 -280
- package/md_cg/whitebox_kb/aeis_core/textutil.py +13 -13
- package/md_cg/whitebox_kb/engine.py +310 -310
- package/md_cg/whitebox_kb/seed_knowledge//346/231/272/350/203/275/350/256/2723.4.md +5260 -5260
- package/md_cg/whitebox_kb/wisdom/browser_units.py +2631 -2631
- package/md_cg/whitebox_kb/wisdom/causal_discover.py +432 -432
- package/md_cg/whitebox_kb/wisdom/chat_engine.py +1506 -1506
- package/md_cg/whitebox_kb/wisdom/code_solidified.json +6195 -6195
- package/md_cg/whitebox_kb/wisdom/compiler_code_units.py +3033 -3033
- package/md_cg/whitebox_kb/wisdom/condition_algebra.py +112 -112
- package/md_cg/whitebox_kb/wisdom/condition_frame.py +315 -315
- package/md_cg/whitebox_kb/wisdom/condition_kb.py +108 -108
- package/md_cg/whitebox_kb/wisdom/conflict_map.json +4445 -4445
- package/md_cg/whitebox_kb/wisdom/core/lexer.py +512 -512
- package/md_cg/whitebox_kb/wisdom/core/name_checker.py +1023 -1023
- package/md_cg/whitebox_kb/wisdom/cspmn.py +258 -258
- package/md_cg/whitebox_kb/wisdom/csre.py +264 -264
- package/md_cg/whitebox_kb/wisdom/danmaku_audit.py +252 -252
- package/md_cg/whitebox_kb/wisdom/distilled_condition_units.json +6417 -6417
- package/md_cg/whitebox_kb/wisdom/docs/WB-EVAL-20260902b.json +1950 -1950
- package/md_cg/whitebox_kb/wisdom/docs/WB-EVAL-20260902c.json +1296 -1296
- package/md_cg/whitebox_kb/wisdom/docs/whitebox_capability_graph_demo.json +59 -59
- package/md_cg/whitebox_kb/wisdom/graph_db_units.py +3089 -3089
- package/md_cg/whitebox_kb/wisdom/knowledge_points.py +318 -318
- package/md_cg/whitebox_kb/wisdom/md_access.py +470 -470
- package/md_cg/whitebox_kb/wisdom/md_store.py +276 -251
- package/md_cg/whitebox_kb/wisdom/migrate_wisdom.py +476 -476
- package/md_cg/whitebox_kb/wisdom/navigate.py +248 -248
- package/md_cg/whitebox_kb/wisdom/neural_retrieve.py +224 -224
- package/md_cg/whitebox_kb/wisdom/os_units.py +2735 -2735
- package/md_cg/whitebox_kb/wisdom/pattern_separation.py +376 -376
- package/md_cg/whitebox_kb/wisdom/prereq_map.json +364 -364
- package/md_cg/whitebox_kb/wisdom/python_code_units.py +2766 -2766
- package/md_cg/whitebox_kb/wisdom/role_solidified.json +7 -7
- package/md_cg/whitebox_kb/wisdom/route_memory.py +244 -244
- package/md_cg/whitebox_kb/wisdom/scene_reconstruction.py +148 -148
- package/md_cg/whitebox_kb/wisdom/snr_report.json +40 -40
- package/md_cg/whitebox_kb/wisdom/test_code_compose_domains.py +7541 -7541
- package/md_cg/whitebox_kb/wisdom/test_compiler_self_bootstrap.py +354 -354
- package/md_cg/whitebox_kb/wisdom/test_ecosystem_assembly.py +158 -158
- package/md_cg/whitebox_kb/wisdom/test_ecosystem_demos.py +193 -193
- package/md_cg/whitebox_kb/wisdom/test_graph_db.py +292 -292
- package/md_cg/whitebox_kb/wisdom/test_python_self_bootstrap.py +160 -160
- package/md_cg/whitebox_kb/wisdom/trigger_words_index.json +4366 -4366
- package/md_cg/whitebox_kb/wisdom/verifier.py +1297 -1297
- package/md_cg/writelimit.py +356 -356
- package/md_cg/writepipe.py +550 -542
- package/package.json +97 -96
- package/skills/plugin.json +54 -54
- package/skills/skills/designer-perspective/SKILL.md +158 -158
- package/skills/skills/designer-perspective/references/01-observation-position.md +66 -66
- package/skills/skills/designer-perspective/references/02-structure-recognition.md +62 -62
- package/skills/skills/designer-perspective/references/03-direction-judgment.md +55 -55
- package/skills/skills/designer-perspective/references/04-qualification-verdict.md +72 -72
- package/skills/skills/designer-perspective/references/05-condition-attribution.md +74 -74
- package/skills/skills/designer-perspective/scripts/designer.py +545 -545
- package/skills/skills/designer-perspective/tests/cases.jsonl +17 -17
- package/skills/skills/designer-perspective/tests/selftest.py +61 -61
- package/skills/skills/lingshu-browser/SKILL.md +60 -60
- package/skills/skills/lingshu-compiler/SKILL.md +56 -56
- package/skills/skills/lingshu-compiler/units/analyze-type-infer/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/check-name-real/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-assign/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-expr-tree/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-full-pipeline/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-func-def/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-if-then/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-logic-expr/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-recursive/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-scope/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-type-check/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compile-while/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0010c4bf/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0355bffb/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0361708a/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-054a0414/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-05a1691a/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-05eeed1e/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0622a1f6/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-08b54217/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0a62b70c/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0ab24d00/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0e093688/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0e82b966/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0ee9b9b9/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-0f3787e6/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-1028685f/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-11897630/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-16661b9b/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-1f722303/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-25be1262/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-2a76ba07/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-2dbea54a/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-2df52f16/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-2ec2c9d2/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-2f8c8f39/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-38378ac7/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-39457d2e/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-39fb5926/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-47f4fbfa/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-4a8cd1f1/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-4b230b6b/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-4cbbda95/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-4d5a68ff/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-56dc9bdd/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-57e76ebe/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-61ff016b/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-63eae588/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-64c4224b/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-66377955/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-674ab4f6/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-6af76fd6/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-6d979db2/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-6de326c0/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-6f1c0eea/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-724d6c9b/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-7690177f/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-7b229a7d/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-7f471b3a/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-815cad08/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-83c61634/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-8c798c81/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-8dd747ac/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-90324d0a/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-94b8d72d/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-94f12231/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-95937c16/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-98a5625b/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-98b4c42f/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-98e3894a/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-9bdfe4b8/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-9d9b4e83/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-9f7be5ad/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-a6daf076/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-a7995a0c/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-a8399248/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-aabbd099/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-afe169d8/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-b0678bda/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-b09bd196/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-b1396e23/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-b9b31ce0/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-c10264a7/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-cb1e8e4b/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-ccafd438/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-cda9c262/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-ce648068/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-cf5776a4/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-d974e5d3/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-e3979fd3/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-eb1cf2b5/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-ecb30d5b/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-f8c8b24b/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-f99fedbe/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-fa8ff5f7/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/compiler-fe1b058d/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/lex-chinese-program/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/lex-dao-de-jing/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/lex-nine-chapters/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-arithmetic/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-array-ops/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-closure-call/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-closure-create/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-compare/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-cond-jump/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-cond-space/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-exception/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-func-call/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-loop-run/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-profiling/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-refcount/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-run-loop/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-short-circuit/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-stack-guard/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-stack-ops/SKILL.md +45 -45
- package/skills/skills/lingshu-compiler/units/vm-trust-accum/SKILL.md +45 -45
- package/skills/skills/lingshu-graph/SKILL.md +63 -63
- package/skills/skills/lingshu-net/SKILL.md +48 -48
- package/skills/skills/lingshu-os/SKILL.md +64 -64
- package/skills/skills/lingshu-pylang/SKILL.md +71 -71
- package/src/bridge.ts +401 -401
- package/src/hooks.ts +38 -2
- package/src/lib/datapath.ts +326 -326
- package/src/lib/mdcg_client.ts +413 -413
- package/src/lib/mutual.ts +428 -428
- package/src/lib/prompt_safety.ts +62 -62
- package/src/lib/python_path.ts +71 -71
- package/src/lib/roleplay_web.ts +932 -932
- package/src/lib/token_store.ts +192 -192
- package/src/tools.ts +212 -212
- package/zcode/AGENTS.md +11 -3
- package/zcode/README.md +41 -41
- /package/docs/{mdcg → hive}//344/270/273/344/273/243/347/220/206/345/255/220/344/273/243/347/220/206/350/256/260/345/277/206/346/236/266/346/236/204/350/256/276/350/256/241.md" +0 -0
|
@@ -1,242 +1,242 @@
|
|
|
1
|
-
# 蜂群同错检测实验协议 v0.1(CTP 核心命题「多数≠真」验证设计)
|
|
2
|
-
|
|
3
|
-
> **性质**:实验协议设计文档,非实现。启动任何实现(注入器代码、聚合补丁、测试脚本)须使用者批准。
|
|
4
|
-
> **任务来源**:外部评审要求验证 CTP(共同信任协议)核心命题——3 个 agent 同时犯同一种错误(系统性误观测)时,系统能否识别「共识不等于真相」。
|
|
5
|
-
> **对象**:`swarm/`(蜂群多智能体,第五件套)信任聚合与证据面现状;理论参照 `CommonTrustProtocol/docs/`(仓外理论仓,只读引用)。
|
|
6
|
-
> **取证基线**:本仓 main 分支当前工作区(2026-09-15)。行号以当日文件为准。
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## 一、目的与理论命题
|
|
11
|
-
|
|
12
|
-
CTP 理论主张:**共识 ≠ 真相**。多个协作者给出一致结论,不构成该结论正确的证据——只有外部可观测的验证基底(编译/测试/测量/形式化证明等独立裁决来源)才能约束输出(`CommonTrustProtocol/docs/theory/智能的认知过程.md` L233-263:「系统不能自己编故事说"我觉得对了",它需要一个外部可观测的验证基底」;`智能的公理化基石.md` L408:「信任可以度量、可以更新、可以被否决(验证基底裁决后失效)」)。
|
|
13
|
-
|
|
14
|
-
本协议设计一个最小故障注入实验:让 N 个实例**同时观测到同一份伪证据**(系统性误观测),检验蜂群现有信任聚合面在 3/3 同错输入下的行为,并给出「真伪判据=证据基底分离」的退化判准与机制缺口清单。
|
|
15
|
-
|
|
16
|
-
**平台形态诚实边界**:蜂群实例是确定性 VM 子进程(术数程序,非 LLM agent)。「误观测」在本平台形态下 = 污染的输入(初始符号)或污染的程序逻辑,而非模型幻觉。注入器据此设计(§三)。
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## 二、现状调研:蜂群信任与证据面
|
|
21
|
-
|
|
22
|
-
### 2.1 信任的产生——自报制(核心事实)
|
|
23
|
-
|
|
24
|
-
| 机制 | 位置 | 当前语义 |
|
|
25
|
-
|---|---|---|
|
|
26
|
-
| 信任值寄存器 | `swarm/rust_runtime/src/vm.rs` L21 | `信任值` 是 VM 内建符号(BUILTIN_TRUST_VALUE),程序内可读写 |
|
|
27
|
-
| 程序内修改 | `vm.rs` L408-415 | `德(DE)` 指令直接修改 trust_value(加 delta)——信任升降由**实例自身程序逻辑**决定 |
|
|
28
|
-
| 信任阈值路由 | `vm.rs` L24, L430 | 内建 `信任阈值` 缺省 0.7,程序可据 trust 值分支(仅实例内部决策用) |
|
|
29
|
-
| 终态输出 | `vm.rs` L595-596 | 实例终态 JSON 携带 trust 字段(千分位舍入) |
|
|
30
|
-
| 协调器信任提交 | `swarm/rust_runtime/src/swarm.rs` L929-940 | 实例终态 trust 字段**直接采信**为该实例信任值;仅做 0-1 夹取;error 终态无 trust 字段时沿用上一轮值(L930 注释:实例故障不推平信任曲线) |
|
|
31
|
-
|
|
32
|
-
**关键结论**:信任是**自报值**。协调器不验证实例为何自报该值,不存在「证据→信任」的裁决链。实例程序写「德 +0.5」信任即升,写「德 -0.3」信任即降——升降的全部依据在实例自身代码里,协调器零否决权。
|
|
33
|
-
|
|
34
|
-
### 2.2 信任聚合
|
|
35
|
-
|
|
36
|
-
| 机制 | 位置 | 当前语义 |
|
|
37
|
-
|---|---|---|
|
|
38
|
-
| 聚合公式 | `swarm.rs` L1247-1271 | 从各实例最后终态收集 trust(夹取 0-1),计算 T_avg / T_min / T_variance / T_alignment |
|
|
39
|
-
| T_alignment 定义 | `swarm.rs` L1267-1271 | T_alignment = 1 - T_variance / T_avg(avg>0 时);Python 参照 `swarm/rust_swarm.py` L129-139(对齐 aeis.swarm.trust_aggregator.snapshot 操作化定义) |
|
|
40
|
-
| 报告透出 | `swarm.rs` L1313-1318(report_json) | trust 四元组以 6 位小数进报告;`swarm/swarm_cli.py` L99 摘要透出 |
|
|
41
|
-
|
|
42
|
-
**语义要点**:T_alignment 度量的是「实例间信任值的离散程度」,**不是**结论正确性。全部实例信任值一致(无论对错)时 T_variance=0 → T_alignment=1.0(理论最大值)。
|
|
43
|
-
|
|
44
|
-
### 2.3 健康分(health)
|
|
45
|
-
|
|
46
|
-
| 机制 | 位置 | 当前语义 |
|
|
47
|
-
|---|---|---|
|
|
48
|
-
| 四因子公式 | `swarm/rust_runtime/src/health.rs` L5-7, L51-84 | score = 0.4×成功率 + 0.2×在线率 + 0.2×(1-威胁率) + 0.2×integrity;integrity = 验签通过事件占比 × gossip 覆盖率 |
|
|
49
|
-
| error 判定 | `swarm.rs` L879-884 | 终态含 error 键 = 该轮失败(威胁事件);`serve.rs` L278-283 VM 执行异常产出 error 终态 |
|
|
50
|
-
| integrity 数据通路 | `swarm.rs` L1203-1207 | 单机在线自签自验恒过、重放事件已过坏尾守卫 → verify_fail 恒 0(代码注释原文);区分度在跨机场景启用 |
|
|
51
|
-
| 与信任的关系 | 全文检索确认 | **无**。health 只进报告(`swarm.rs` L1322-1340),不回馈 trust 计算,不参与任何路由/晋升/降级决策 |
|
|
52
|
-
|
|
53
|
-
### 2.4 反例 / 修正通道
|
|
54
|
-
|
|
55
|
-
| 机制 | 位置 | 当前语义 |
|
|
56
|
-
|---|---|---|
|
|
57
|
-
| G-R3 复算修正信号 | `swarm.rs` L893-927 | protocol 拓扑下 verifier 子进程重放 primary 完整输入逐位复算;不一致时产出「修正信号」事件(level=1,P1),终态仍以 primary 为准(verifier 仅复核) |
|
|
58
|
-
| G-R1 反思触发器 | `swarm.rs` L1024-1063 | 四触发:每 100 轮(L1027-1029);error 终态连续 2 轮(L1030-1041);T_avg 连续 3 轮下降(L1048-1057);实例退场(L1059-1063)。命中产出「修正信号」事件(level=2,P2) |
|
|
59
|
-
| 维生边界 | `swarm.rs` L693-695 | 修正信号**仅记录+透出(P2 观察级),不自动改路由**;P0/P1 介入留待真实重大分歧场景(盲区登记 BS-6,`docs/swarm/蜂群盲区标记_v1.0.md` L47-52) |
|
|
60
|
-
|
|
61
|
-
**关键结论**:修正信号是当前唯一的反例通道,但它(a)由「复算不一致」或「信任值下降趋势」触发,而非由「证据被否决」触发;(b)触发后无任何信任/路由后果(纯观察级)。
|
|
62
|
-
|
|
63
|
-
### 2.5 证据存储(WAL)
|
|
64
|
-
|
|
65
|
-
| 机制 | 位置 | 当前语义 |
|
|
66
|
-
|---|---|---|
|
|
67
|
-
| WAL 事件行 | `swarm.rs` L1005-1023 | append-only events.jsonl,每行 HMAC-SHA256 签名(签名串 v0.7.1:seq/type/from/to/round/ts/payload,L373-382) |
|
|
68
|
-
| 轮末快照 | `swarm.rs` L1100-1165 | 快照行存 trusts+states(条件空间 space_id 随快照持久,L1126-1130);sync_all 提交点,恢复语义见 L436-528 |
|
|
69
|
-
| 独立验签 | `swarm/rust_swarm.py` L88-126 | Python hashlib/hmac 交叉复核 Rust 手写 SHA256;快照行验签但不计入事件口径 |
|
|
70
|
-
|
|
71
|
-
**语义要点**:WAL 存的是**事件流**(谁在何时给谁发了什么),不是**证据**。事件 payload 无来源标注、无验证基底字段、无真伪属性——WAL 能证明「某实例在某轮说了某话」(不可篡改),不能证明「某话为真」。
|
|
72
|
-
|
|
73
|
-
### 2.6 promote/degrade 判据
|
|
74
|
-
|
|
75
|
-
**不存在**。全仓检索确认:信任无分级体系(无晋升/降级阈值)、健康分不影响信任(§2.3)、修正信号不改信任(§2.4)。信任值的全部变化来源 = 实例程序自身的德指令 + 实例故障时沿用上轮。跨实例信任传播仅有一种形式:路由 payload 的 `@trust` 占位符(`swarm.rs` L964;`swarm/rust_swarm.py` L32)把源实例终态信任值作为消息内容发给目标实例——目标实例如何使用完全由其程序决定,协调器不做任何交叉校验。
|
|
76
|
-
|
|
77
|
-
### 2.7 实例间对账面(现有的「一致」语义)
|
|
78
|
-
|
|
79
|
-
| 机制 | 位置 | 当前语义 |
|
|
80
|
-
|---|---|---|
|
|
81
|
-
| gossip 对账 | `swarm.rs` L1272-1278 | 全部 gossip 目标实收水位相等 = gossip_consistent——**投递一致性**,非内容一致性 |
|
|
82
|
-
| 复算对账 | `swarm.rs` L893-927 | verifier 与 primary **同输入同程序**(确定性 VM)→ 复算一致是结构性必然 |
|
|
83
|
-
| 消息内容对账 | — | **无**。没有任何机制比较不同实例对同一观测的结论是否一致(更无真伪裁决) |
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## 三、故障注入形态:最小可行注入器
|
|
88
|
-
|
|
89
|
-
### 3.1 伪证据三属性(设计约束)
|
|
90
|
-
|
|
91
|
-
| 属性 | 含义 | 本协议的实现判据 |
|
|
92
|
-
|---|---|---|
|
|
93
|
-
| 可构造 | 注入路径确定、零代码改动可达 | 经 swarm.json 初始符号注入(§3.2),一行配置完成 |
|
|
94
|
-
| 可重复 | 确定性 VM 下同输入必同终态,N 轮可复现 | 同 config+同 WAL 重入逐位一致(既有 B1 幂等语义,`swarm.rs` L710-727) |
|
|
95
|
-
| 可检测基底缺失 | 伪证据**在结构上**缺失可验证基底,而非靠真值对照才能识别 | 伪证据不携带 verification_basis 字段(对照:大脑端 `md_cg/nodefile.py` L58-64 已有八档枚举——蜂群端无对应物,这正是被测缺口) |
|
|
96
|
-
|
|
97
|
-
### 3.2 注入点选择
|
|
98
|
-
|
|
99
|
-
| 候选注入点 | 判定 | 理由 |
|
|
100
|
-
|---|---|---|
|
|
101
|
-
| **A. 初始符号注入(选定)** | 可行,零代码改动 | `make_swarm_config` 接受每实例 symbols(`swarm/rust_swarm.py` L27-47);每轮完整环境注入实例(`swarm.rs` L584-603)——向全部实例 symbols 写入同一伪观测值即构成「系统性误观测」。这是平台形态下「所有 agent 观测到同一伪证据」的忠实映射:共享同一(被污染的)观测通道 |
|
|
102
|
-
| B. WAL 直接注入 | 不可行(守卫正常拒绝) | 事件行须过 HMAC 验签(`swarm.rs` L468, L490),外部注入必被坏尾守卫截断——恰证明完整性面无缺口,不构成「系统性误观测」注入面 |
|
|
103
|
-
| C. 路由 payload 注入 | 备选(第二轮变体) | 经 routes payload 携带伪观测跨实例传播(`swarm.rs` L962-1003),可模拟「污染经 gossip 扩散」——留作扩展臂 E3(§六) |
|
|
104
|
-
| D. 术数程序注入 | 备选(对照解释用) | 污染程序逻辑(如把判定阈值写错)同样产生 3/3 同错,但它测的是「程序缺陷」而非「观测缺陷」,只作对照解释,不作主实验 |
|
|
105
|
-
|
|
106
|
-
### 3.3 注入器规格(最小实现)
|
|
107
|
-
|
|
108
|
-
```text
|
|
109
|
-
输入:swarm.json(既有格式,swarm_cli.py L13-16)
|
|
110
|
-
注入器 = 配置预处理脚本(协议层,不改 swarm/ 源码):
|
|
111
|
-
1) 读基础 config(实例表/术数源码/路由表)
|
|
112
|
-
2) 对实验组:向全部实例 symbols 追加伪观测键值对
|
|
113
|
-
如 {"传感器X读数": 99, "观测轮次": R}(真值 50;伪证据无 basis 字段)
|
|
114
|
-
3) 对照组:symbols 注入真观测 {"传感器X读数": 50, ...} 或不注入
|
|
115
|
-
4) 输出 inject_swarm.json → 交既有 python -m swarm.swarm_cli run 执行
|
|
116
|
-
伪证据形态:与实例术数程序判定条件严格对齐(程序「若 传感器X读数 大于 80
|
|
117
|
-
则 德 0.5」——伪值 99 必触发信任上升,真值 50 不触发)
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
**示例术数程序**(全部实例共用同一 pbc——BS-4 异构程序未实现,`docs/swarm/蜂群盲区标记_v1.0.md` L33-38,单字节码恰是「同构观测」的现成条件):
|
|
121
|
-
|
|
122
|
-
```text
|
|
123
|
-
问曰:如何处理观测?
|
|
124
|
-
答曰:读数超阈值则采信并提升信任。
|
|
125
|
-
术曰:
|
|
126
|
-
1。若 传感器X读数 大于 80,则 德 0.5;
|
|
127
|
-
2。止。
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
## 四、共识判据:3/3 同错输入下的推演(基于代码现状)
|
|
133
|
-
|
|
134
|
-
设 3 实例(初始 trust=0.1)共用上例程序,实验组注入伪读数 99、对照组真读数 50,运行 1 轮:
|
|
135
|
-
|
|
136
|
-
### 4.1 逐字段推演
|
|
137
|
-
|
|
138
|
-
| 报告字段 | 实验组(3/3 同错) | 对照组(3/3 正确) | 行号依据 |
|
|
139
|
-
|---|---|---|---|
|
|
140
|
-
| 各实例终态 trust | 0.6(0.1+0.5,德指令触发) | 0.1(不触发) | `vm.rs` L408-415, L929-940 |
|
|
141
|
-
| T_avg | 0.6 | 0.1 | `swarm.rs` L1256 |
|
|
142
|
-
| T_variance | 0(三值相等) | 0 | `swarm.rs` L1262-1266 |
|
|
143
|
-
| **T_alignment** | **1.0(理论满分)** | **1.0(理论满分)** | `swarm.rs` L1267-1271 |
|
|
144
|
-
| health.score | 1.0 满分(无 error 轮、在线满、integrity 恒 1) | 1.0 满分 | `health.rs` L51-84 + `swarm.rs` L1203-1207 |
|
|
145
|
-
| recalc_mismatches | 0(verifier 同输入重放,确定性 VM 同终态) | 0 | `swarm.rs` L893-927 |
|
|
146
|
-
| 修正信号 | 无(无 error、T_avg 上升不触发任何触发器) | 无 | `swarm.rs` L1024-1063 |
|
|
147
|
-
| gossip_consistent | true(投递对账与内容无关) | true | `swarm.rs` L1272-1278 |
|
|
148
|
-
|
|
149
|
-
### 4.2 推演结论(核心)
|
|
150
|
-
|
|
151
|
-
1. **3/3 同错在现有聚合面上与 3/3 全对不可区分**:两组 T_alignment 均为 1.0、health 均满分、零修正信号。同错场景下系统输出的是「最高对齐+最健康」读数——T_alignment 把系统性误观测**奖励**为完美一致。
|
|
152
|
-
2. **伪证据晋升结果**:当前系统无信任分级,晋升即「信任值本身上升」——伪证据使全群信任从 0.1 升至 0.6,且该上升在报告面呈现为健康状态。若存在下游消费方按 T_avg/T_alignment 做决策(如 `@trust` 路由传播),伪信任将带着 1.0 的对齐背书向外扩散(`swarm.rs` L964)。
|
|
153
|
-
3. **多轮无自愈**:T_avg 连续 3 轮下降触发器(L1048-1057)只对「信任下降」敏感;同错升信任永不触发。error 触发器(L1030-1041)对「终态含 error 键」敏感;同错是成功终态,不触发。**全部四个反思触发器对系统性误观测均盲**。
|
|
154
|
-
4. **唯一可能检出异见的机制也不在本平台**:N=4(3 同错+1 异见者)时,异见者终态 trust=0.1、同错者 0.6 → T_avg≈0.475、T_alignment≈0.901——异见者在现有语义下的效果是**拉低对齐度**:「说真话的少数派」表现为对齐破坏者,而非伪共识的暴露者。该反直觉读数本身就是实验的重要产出。
|
|
155
|
-
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
## 五、退化判准:证据基底分离(CTP)与机制缺失清单
|
|
159
|
-
|
|
160
|
-
### 5.1 应有行为(理论判准)
|
|
161
|
-
|
|
162
|
-
CTP 判据:伪证据缺失可验证基底时,**不因多数派采信而晋升**。对应到灵枢四态语义(大脑端 judge 既有语义),蜂群层应有:
|
|
163
|
-
|
|
164
|
-
| 检测结果 | 应触发行为 |
|
|
165
|
-
|---|---|
|
|
166
|
-
| 证据无 basis 字段 / basis 不可追溯 | 该断言**不参与信任晋升**(最多维持现值,只降不升)——对齐大脑端「拿不出证据的节点绝不写 verification_basis」(`md_cg/crosscheck.py` L11-14)纪律 |
|
|
167
|
-
| 实例间结论一致但全体无 basis | 群级 **BLINDSPOT**:透出「共识无基底」修正信号,T_alignment 另行标注「无基底对齐」,不作为健康证据 |
|
|
168
|
-
| 有 basis 且基底独立可验证(互验证) | 才允许晋升——对齐 T12 互验证语义:「VERDICT 由接收方用己方验证基底裁决(自验证不采信)」(`CommonTrustProtocol/docs/T12_M1两节点互联详细设计_v0.1.md` L26-33) |
|
|
169
|
-
| 伪证据被基底否决 | 实例信任**降级**(反例击穿通路,`智能的公理化基石.md` L408),修正信号升级 P1(限制敏感操作)/P0(隔离退场,BS-6 预留面) |
|
|
170
|
-
|
|
171
|
-
### 5.2 机制缺失清单(如实标注)
|
|
172
|
-
|
|
173
|
-
| # | 缺失机制 | 现状证据 | 对应 §5.1 行为 |
|
|
174
|
-
|---|---|---|---|
|
|
175
|
-
| M1 | 证据基底字段:WAL 事件与实例终态无 basis 概念 | `swarm.rs` L1005-1023 行格式、终态仅 halt/stack/symbols/trust/condition_space(`vm.rs` L568-608) | 判准 1 |
|
|
176
|
-
| M2 | 互验证裁决:verifier 是「同输入逐位复算」非「独立基底裁决」 | `swarm.rs` L809-815(replay envelope:verifier 用 primary 完整输入)、L893-927;同错必复算一致 | 判准 3 |
|
|
177
|
-
| M3 | 反例→降级通路:修正信号无任何信任/路由后果 | `swarm.rs` L693-695 维生边界 + BS-6(盲区清单 L47-52) | 判准 4 |
|
|
178
|
-
| M4 | 健康→信任回馈:health 单向透出,不参与聚合 | §2.3 末行 | 判准 1/4 的输入面 |
|
|
179
|
-
| M5 | 同错检测统计量:T_alignment 对同错完全盲且为正奖励 | §4.2 结论 1 | 判准 2 |
|
|
180
|
-
|
|
181
|
-
### 5.3 最小补丁面建议(本协议只建议,不改代码)
|
|
182
|
-
|
|
183
|
-
| # | 补丁面 | 内容 | 侵入度 |
|
|
184
|
-
|---|---|---|---|
|
|
185
|
-
| P1 | 事件 schema 扩展 | WAL 事件行/终态增加可选 basis 字段(枚举复用大脑端 `nodefile.py` L58-64 八档);缺省缺省不破坏既有验签(basis 不入签名串或版本化入签,需二选一裁决) | 低(增量字段) |
|
|
186
|
-
| P2 | 聚合层基底覆盖门 | aggregate_report 新增无基底断言计数:无 basis 的信任上升不计入 T_avg 晋升(只降不升门);报告透出 basis_coverage | 中(聚合逻辑) |
|
|
187
|
-
| P3 | 互验证升级 | protocol 拓扑 verifier 改持独立观测通道(per-instance symbols 差异化,依赖 BS-4 异构程序/异构输入先行)→ 复算不一致才获得真实检出力 | 高(依赖 BS-4) |
|
|
188
|
-
| P4 | 对齐度语义分离 | 报告区分「有基底对齐」与「无基底对齐」两个 T_alignment;新增异见存活率指标(少数派终态未被多数派吞没的比例) | 中(报告层) |
|
|
189
|
-
| P5 | 修正信号分级 | 「共识无基底」触发 P2 信号;「基底否决的多数派断言」触发 P1(信任降级)——沿 BS-6 预留的 §3.16 介入面 | 中(沿既有信号通道) |
|
|
190
|
-
|
|
191
|
-
**建议实施序**:P1→P2→P4 可独立落地且零破坏(缺省行为不变);P3 依赖 BS-4;P5 留真实场景。实验协议(§六)在 P1/P2 落地前后各跑一轮,即可量化「基底覆盖门」的净效应。
|
|
192
|
-
|
|
193
|
-
---
|
|
194
|
-
|
|
195
|
-
## 六、实验步骤(双组设计)
|
|
196
|
-
|
|
197
|
-
### 6.1 构型矩阵
|
|
198
|
-
|
|
199
|
-
| 臂 | N | 注入 | 目的 |
|
|
200
|
-
|---|---|---|---|
|
|
201
|
-
| C0 对照 | 3 | 真观测(读数 50) | 基线:全对场景全字段读数 |
|
|
202
|
-
| E1 主实验 | 3 | 伪观测 99(3/3 同错) | 检验 §四推演:T_alignment=1.0 与 C0 不可区分 |
|
|
203
|
-
| E2 异见 | 4 | 3 实例伪观测 99 + 1 实例真观测 50 | 检验异见者被现有语义标记为「对齐破坏者」(§4.2 结论 4) |
|
|
204
|
-
| E3 扩散(可选) | 3 | 第 1 轮仅实例甲收伪观测,经路由/gossip 传播 | 测伪证据跨实例扩散后的对账面表现 |
|
|
205
|
-
| V1 验证(补丁后复跑) | 3 | 同 E1 | P2 基底覆盖门生效后:无 basis 信任上升不被晋升 |
|
|
206
|
-
|
|
207
|
-
### 6.2 轮次与执行
|
|
208
|
-
|
|
209
|
-
- M=5 轮(足以观察多轮趋势触发器均不触发,§4.2 结论 3);每臂独立 WAL/project 目录;确定性 VM 下每臂重复 3 次校验逐位一致(可重复性属性验证)。
|
|
210
|
-
- 执行入口:`python -m swarm.swarm_cli run --config <臂配置> --out report.json`(`swarm_cli.py` L113);配置经 §3.3 注入器预处理生成。
|
|
211
|
-
- 双实现交叉核对:Rust 聚合报告 vs `aggregate_trust_python`/`aggregate_health_python`(`rust_swarm.py` L129-178),1e-6 容差(`rust_swarm.py` L62-63 口径契约)。
|
|
212
|
-
|
|
213
|
-
### 6.3 指标表
|
|
214
|
-
|
|
215
|
-
| 指标 | 来源字段 | C0 预期 | E1 预期(§四推演) | 判定意义 |
|
|
216
|
-
|---|---|---|---|---|
|
|
217
|
-
| T_alignment | report.trust | 1.0 | 1.0 | 两臂相等 = 同错不可区分(命题「系统无法识别共识≠真相」在现状下成立) |
|
|
218
|
-
| T_avg | report.trust | 0.1 | 0.6 | 伪证据推动信任晋升的幅度 |
|
|
219
|
-
| health.score(逐实例) | report.health | 1.0 | 1.0 | 同错实例满健康 = 健康面无检出力 |
|
|
220
|
-
| recalc_mismatches | report.recalc | 0 | 0 | 复算通道对同构同错盲(M2 实证) |
|
|
221
|
-
| 修正信号计数 | WAL type=修正信号 行数 | 0 | 0 | 反例通道未触发(M3 实证) |
|
|
222
|
-
| 伪信任外溢 | 路由 @trust 载荷值 | 0.1 | 0.6 | 伪信任向外扩散量 |
|
|
223
|
-
| E2 专属:异见者读数 | T_alignment / roles | — | ≈0.901(下降) | 少数派真话拉低对齐度的反直觉量化 |
|
|
224
|
-
| V1 专属:晋升拦截 | T_avg | — | 0.1(不再升至 0.6) | 基底覆盖门净效应 |
|
|
225
|
-
|
|
226
|
-
### 6.4 验收断言(协议级,可执行判定)
|
|
227
|
-
|
|
228
|
-
1. E1 与 C0 的 trust 四元组中 T_alignment 逐位相等(<1e-6)→ 证实「现状不可区分」。
|
|
229
|
-
2. E1 全部修正信号计数=0 且 health=1.0 → 证实「反例通道与健康面对同错盲」。
|
|
230
|
-
3. E2 的 T_alignment < E1 的 T_alignment → 证实「异见者表现为对齐破坏者」。
|
|
231
|
-
4. (V1,补丁批准后)E1 构型在 V1 下 T_avg 不高于 C0 → 证实「基底覆盖门拦截伪晋升」。
|
|
232
|
-
5. 全臂 WAL 验签 all_valid=true(`rust_swarm.py` L88-126)→ 注入未破坏完整性面。
|
|
233
|
-
|
|
234
|
-
---
|
|
235
|
-
|
|
236
|
-
## 七、边界声明
|
|
237
|
-
|
|
238
|
-
1. **本文件是实验协议**:不含任何实现。注入器脚本、聚合补丁(P1-P5)、测试用例的编写均须使用者批准后另立任务。
|
|
239
|
-
2. **平台形态边界**:实验结论的适用域是「确定性 VM 实例 + 自报信任 + 聚合透出」的蜂群形态;LLM agent 形态下的同错(模型共因幻觉)需经 harness 层接入(`swarm_cli.py` 统一入口),结论外推须另行论证。
|
|
240
|
-
3. **理论引用边界**:CTP 文档行号引自仓外 `CommonTrustProtocol/docs/`(理论仓),其版本演进不受本仓控制;本仓内可信的理论落点为大脑端 `md_cg/nodefile.py` L58-64(verification_basis 八档)与 `md_cg/crosscheck.py` L11-14(无证据不写基底纪律)。
|
|
241
|
-
4. **不做 git 操作、不改源文件**:本任务全部产出即本文件。
|
|
242
|
-
5. **诚实预期**:§四推演若被实验证实(E1 与 C0 不可区分),结论是「现状不能识别同错」——这是机制缺口的实证而非系统缺陷的遮掩;修复面已在 §5.3 如实列出,是否实施由使用者裁决。
|
|
1
|
+
# 蜂群同错检测实验协议 v0.1(CTP 核心命题「多数≠真」验证设计)
|
|
2
|
+
|
|
3
|
+
> **性质**:实验协议设计文档,非实现。启动任何实现(注入器代码、聚合补丁、测试脚本)须使用者批准。
|
|
4
|
+
> **任务来源**:外部评审要求验证 CTP(共同信任协议)核心命题——3 个 agent 同时犯同一种错误(系统性误观测)时,系统能否识别「共识不等于真相」。
|
|
5
|
+
> **对象**:`swarm/`(蜂群多智能体,第五件套)信任聚合与证据面现状;理论参照 `CommonTrustProtocol/docs/`(仓外理论仓,只读引用)。
|
|
6
|
+
> **取证基线**:本仓 main 分支当前工作区(2026-09-15)。行号以当日文件为准。
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 一、目的与理论命题
|
|
11
|
+
|
|
12
|
+
CTP 理论主张:**共识 ≠ 真相**。多个协作者给出一致结论,不构成该结论正确的证据——只有外部可观测的验证基底(编译/测试/测量/形式化证明等独立裁决来源)才能约束输出(`CommonTrustProtocol/docs/theory/智能的认知过程.md` L233-263:「系统不能自己编故事说"我觉得对了",它需要一个外部可观测的验证基底」;`智能的公理化基石.md` L408:「信任可以度量、可以更新、可以被否决(验证基底裁决后失效)」)。
|
|
13
|
+
|
|
14
|
+
本协议设计一个最小故障注入实验:让 N 个实例**同时观测到同一份伪证据**(系统性误观测),检验蜂群现有信任聚合面在 3/3 同错输入下的行为,并给出「真伪判据=证据基底分离」的退化判准与机制缺口清单。
|
|
15
|
+
|
|
16
|
+
**平台形态诚实边界**:蜂群实例是确定性 VM 子进程(术数程序,非 LLM agent)。「误观测」在本平台形态下 = 污染的输入(初始符号)或污染的程序逻辑,而非模型幻觉。注入器据此设计(§三)。
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 二、现状调研:蜂群信任与证据面
|
|
21
|
+
|
|
22
|
+
### 2.1 信任的产生——自报制(核心事实)
|
|
23
|
+
|
|
24
|
+
| 机制 | 位置 | 当前语义 |
|
|
25
|
+
|---|---|---|
|
|
26
|
+
| 信任值寄存器 | `swarm/rust_runtime/src/vm.rs` L21 | `信任值` 是 VM 内建符号(BUILTIN_TRUST_VALUE),程序内可读写 |
|
|
27
|
+
| 程序内修改 | `vm.rs` L408-415 | `德(DE)` 指令直接修改 trust_value(加 delta)——信任升降由**实例自身程序逻辑**决定 |
|
|
28
|
+
| 信任阈值路由 | `vm.rs` L24, L430 | 内建 `信任阈值` 缺省 0.7,程序可据 trust 值分支(仅实例内部决策用) |
|
|
29
|
+
| 终态输出 | `vm.rs` L595-596 | 实例终态 JSON 携带 trust 字段(千分位舍入) |
|
|
30
|
+
| 协调器信任提交 | `swarm/rust_runtime/src/swarm.rs` L929-940 | 实例终态 trust 字段**直接采信**为该实例信任值;仅做 0-1 夹取;error 终态无 trust 字段时沿用上一轮值(L930 注释:实例故障不推平信任曲线) |
|
|
31
|
+
|
|
32
|
+
**关键结论**:信任是**自报值**。协调器不验证实例为何自报该值,不存在「证据→信任」的裁决链。实例程序写「德 +0.5」信任即升,写「德 -0.3」信任即降——升降的全部依据在实例自身代码里,协调器零否决权。
|
|
33
|
+
|
|
34
|
+
### 2.2 信任聚合
|
|
35
|
+
|
|
36
|
+
| 机制 | 位置 | 当前语义 |
|
|
37
|
+
|---|---|---|
|
|
38
|
+
| 聚合公式 | `swarm.rs` L1247-1271 | 从各实例最后终态收集 trust(夹取 0-1),计算 T_avg / T_min / T_variance / T_alignment |
|
|
39
|
+
| T_alignment 定义 | `swarm.rs` L1267-1271 | T_alignment = 1 - T_variance / T_avg(avg>0 时);Python 参照 `swarm/rust_swarm.py` L129-139(对齐 aeis.swarm.trust_aggregator.snapshot 操作化定义) |
|
|
40
|
+
| 报告透出 | `swarm.rs` L1313-1318(report_json) | trust 四元组以 6 位小数进报告;`swarm/swarm_cli.py` L99 摘要透出 |
|
|
41
|
+
|
|
42
|
+
**语义要点**:T_alignment 度量的是「实例间信任值的离散程度」,**不是**结论正确性。全部实例信任值一致(无论对错)时 T_variance=0 → T_alignment=1.0(理论最大值)。
|
|
43
|
+
|
|
44
|
+
### 2.3 健康分(health)
|
|
45
|
+
|
|
46
|
+
| 机制 | 位置 | 当前语义 |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| 四因子公式 | `swarm/rust_runtime/src/health.rs` L5-7, L51-84 | score = 0.4×成功率 + 0.2×在线率 + 0.2×(1-威胁率) + 0.2×integrity;integrity = 验签通过事件占比 × gossip 覆盖率 |
|
|
49
|
+
| error 判定 | `swarm.rs` L879-884 | 终态含 error 键 = 该轮失败(威胁事件);`serve.rs` L278-283 VM 执行异常产出 error 终态 |
|
|
50
|
+
| integrity 数据通路 | `swarm.rs` L1203-1207 | 单机在线自签自验恒过、重放事件已过坏尾守卫 → verify_fail 恒 0(代码注释原文);区分度在跨机场景启用 |
|
|
51
|
+
| 与信任的关系 | 全文检索确认 | **无**。health 只进报告(`swarm.rs` L1322-1340),不回馈 trust 计算,不参与任何路由/晋升/降级决策 |
|
|
52
|
+
|
|
53
|
+
### 2.4 反例 / 修正通道
|
|
54
|
+
|
|
55
|
+
| 机制 | 位置 | 当前语义 |
|
|
56
|
+
|---|---|---|
|
|
57
|
+
| G-R3 复算修正信号 | `swarm.rs` L893-927 | protocol 拓扑下 verifier 子进程重放 primary 完整输入逐位复算;不一致时产出「修正信号」事件(level=1,P1),终态仍以 primary 为准(verifier 仅复核) |
|
|
58
|
+
| G-R1 反思触发器 | `swarm.rs` L1024-1063 | 四触发:每 100 轮(L1027-1029);error 终态连续 2 轮(L1030-1041);T_avg 连续 3 轮下降(L1048-1057);实例退场(L1059-1063)。命中产出「修正信号」事件(level=2,P2) |
|
|
59
|
+
| 维生边界 | `swarm.rs` L693-695 | 修正信号**仅记录+透出(P2 观察级),不自动改路由**;P0/P1 介入留待真实重大分歧场景(盲区登记 BS-6,`docs/swarm/蜂群盲区标记_v1.0.md` L47-52) |
|
|
60
|
+
|
|
61
|
+
**关键结论**:修正信号是当前唯一的反例通道,但它(a)由「复算不一致」或「信任值下降趋势」触发,而非由「证据被否决」触发;(b)触发后无任何信任/路由后果(纯观察级)。
|
|
62
|
+
|
|
63
|
+
### 2.5 证据存储(WAL)
|
|
64
|
+
|
|
65
|
+
| 机制 | 位置 | 当前语义 |
|
|
66
|
+
|---|---|---|
|
|
67
|
+
| WAL 事件行 | `swarm.rs` L1005-1023 | append-only events.jsonl,每行 HMAC-SHA256 签名(签名串 v0.7.1:seq/type/from/to/round/ts/payload,L373-382) |
|
|
68
|
+
| 轮末快照 | `swarm.rs` L1100-1165 | 快照行存 trusts+states(条件空间 space_id 随快照持久,L1126-1130);sync_all 提交点,恢复语义见 L436-528 |
|
|
69
|
+
| 独立验签 | `swarm/rust_swarm.py` L88-126 | Python hashlib/hmac 交叉复核 Rust 手写 SHA256;快照行验签但不计入事件口径 |
|
|
70
|
+
|
|
71
|
+
**语义要点**:WAL 存的是**事件流**(谁在何时给谁发了什么),不是**证据**。事件 payload 无来源标注、无验证基底字段、无真伪属性——WAL 能证明「某实例在某轮说了某话」(不可篡改),不能证明「某话为真」。
|
|
72
|
+
|
|
73
|
+
### 2.6 promote/degrade 判据
|
|
74
|
+
|
|
75
|
+
**不存在**。全仓检索确认:信任无分级体系(无晋升/降级阈值)、健康分不影响信任(§2.3)、修正信号不改信任(§2.4)。信任值的全部变化来源 = 实例程序自身的德指令 + 实例故障时沿用上轮。跨实例信任传播仅有一种形式:路由 payload 的 `@trust` 占位符(`swarm.rs` L964;`swarm/rust_swarm.py` L32)把源实例终态信任值作为消息内容发给目标实例——目标实例如何使用完全由其程序决定,协调器不做任何交叉校验。
|
|
76
|
+
|
|
77
|
+
### 2.7 实例间对账面(现有的「一致」语义)
|
|
78
|
+
|
|
79
|
+
| 机制 | 位置 | 当前语义 |
|
|
80
|
+
|---|---|---|
|
|
81
|
+
| gossip 对账 | `swarm.rs` L1272-1278 | 全部 gossip 目标实收水位相等 = gossip_consistent——**投递一致性**,非内容一致性 |
|
|
82
|
+
| 复算对账 | `swarm.rs` L893-927 | verifier 与 primary **同输入同程序**(确定性 VM)→ 复算一致是结构性必然 |
|
|
83
|
+
| 消息内容对账 | — | **无**。没有任何机制比较不同实例对同一观测的结论是否一致(更无真伪裁决) |
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 三、故障注入形态:最小可行注入器
|
|
88
|
+
|
|
89
|
+
### 3.1 伪证据三属性(设计约束)
|
|
90
|
+
|
|
91
|
+
| 属性 | 含义 | 本协议的实现判据 |
|
|
92
|
+
|---|---|---|
|
|
93
|
+
| 可构造 | 注入路径确定、零代码改动可达 | 经 swarm.json 初始符号注入(§3.2),一行配置完成 |
|
|
94
|
+
| 可重复 | 确定性 VM 下同输入必同终态,N 轮可复现 | 同 config+同 WAL 重入逐位一致(既有 B1 幂等语义,`swarm.rs` L710-727) |
|
|
95
|
+
| 可检测基底缺失 | 伪证据**在结构上**缺失可验证基底,而非靠真值对照才能识别 | 伪证据不携带 verification_basis 字段(对照:大脑端 `md_cg/nodefile.py` L58-64 已有八档枚举——蜂群端无对应物,这正是被测缺口) |
|
|
96
|
+
|
|
97
|
+
### 3.2 注入点选择
|
|
98
|
+
|
|
99
|
+
| 候选注入点 | 判定 | 理由 |
|
|
100
|
+
|---|---|---|
|
|
101
|
+
| **A. 初始符号注入(选定)** | 可行,零代码改动 | `make_swarm_config` 接受每实例 symbols(`swarm/rust_swarm.py` L27-47);每轮完整环境注入实例(`swarm.rs` L584-603)——向全部实例 symbols 写入同一伪观测值即构成「系统性误观测」。这是平台形态下「所有 agent 观测到同一伪证据」的忠实映射:共享同一(被污染的)观测通道 |
|
|
102
|
+
| B. WAL 直接注入 | 不可行(守卫正常拒绝) | 事件行须过 HMAC 验签(`swarm.rs` L468, L490),外部注入必被坏尾守卫截断——恰证明完整性面无缺口,不构成「系统性误观测」注入面 |
|
|
103
|
+
| C. 路由 payload 注入 | 备选(第二轮变体) | 经 routes payload 携带伪观测跨实例传播(`swarm.rs` L962-1003),可模拟「污染经 gossip 扩散」——留作扩展臂 E3(§六) |
|
|
104
|
+
| D. 术数程序注入 | 备选(对照解释用) | 污染程序逻辑(如把判定阈值写错)同样产生 3/3 同错,但它测的是「程序缺陷」而非「观测缺陷」,只作对照解释,不作主实验 |
|
|
105
|
+
|
|
106
|
+
### 3.3 注入器规格(最小实现)
|
|
107
|
+
|
|
108
|
+
```text
|
|
109
|
+
输入:swarm.json(既有格式,swarm_cli.py L13-16)
|
|
110
|
+
注入器 = 配置预处理脚本(协议层,不改 swarm/ 源码):
|
|
111
|
+
1) 读基础 config(实例表/术数源码/路由表)
|
|
112
|
+
2) 对实验组:向全部实例 symbols 追加伪观测键值对
|
|
113
|
+
如 {"传感器X读数": 99, "观测轮次": R}(真值 50;伪证据无 basis 字段)
|
|
114
|
+
3) 对照组:symbols 注入真观测 {"传感器X读数": 50, ...} 或不注入
|
|
115
|
+
4) 输出 inject_swarm.json → 交既有 python -m swarm.swarm_cli run 执行
|
|
116
|
+
伪证据形态:与实例术数程序判定条件严格对齐(程序「若 传感器X读数 大于 80
|
|
117
|
+
则 德 0.5」——伪值 99 必触发信任上升,真值 50 不触发)
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**示例术数程序**(全部实例共用同一 pbc——BS-4 异构程序未实现,`docs/swarm/蜂群盲区标记_v1.0.md` L33-38,单字节码恰是「同构观测」的现成条件):
|
|
121
|
+
|
|
122
|
+
```text
|
|
123
|
+
问曰:如何处理观测?
|
|
124
|
+
答曰:读数超阈值则采信并提升信任。
|
|
125
|
+
术曰:
|
|
126
|
+
1。若 传感器X读数 大于 80,则 德 0.5;
|
|
127
|
+
2。止。
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## 四、共识判据:3/3 同错输入下的推演(基于代码现状)
|
|
133
|
+
|
|
134
|
+
设 3 实例(初始 trust=0.1)共用上例程序,实验组注入伪读数 99、对照组真读数 50,运行 1 轮:
|
|
135
|
+
|
|
136
|
+
### 4.1 逐字段推演
|
|
137
|
+
|
|
138
|
+
| 报告字段 | 实验组(3/3 同错) | 对照组(3/3 正确) | 行号依据 |
|
|
139
|
+
|---|---|---|---|
|
|
140
|
+
| 各实例终态 trust | 0.6(0.1+0.5,德指令触发) | 0.1(不触发) | `vm.rs` L408-415, L929-940 |
|
|
141
|
+
| T_avg | 0.6 | 0.1 | `swarm.rs` L1256 |
|
|
142
|
+
| T_variance | 0(三值相等) | 0 | `swarm.rs` L1262-1266 |
|
|
143
|
+
| **T_alignment** | **1.0(理论满分)** | **1.0(理论满分)** | `swarm.rs` L1267-1271 |
|
|
144
|
+
| health.score | 1.0 满分(无 error 轮、在线满、integrity 恒 1) | 1.0 满分 | `health.rs` L51-84 + `swarm.rs` L1203-1207 |
|
|
145
|
+
| recalc_mismatches | 0(verifier 同输入重放,确定性 VM 同终态) | 0 | `swarm.rs` L893-927 |
|
|
146
|
+
| 修正信号 | 无(无 error、T_avg 上升不触发任何触发器) | 无 | `swarm.rs` L1024-1063 |
|
|
147
|
+
| gossip_consistent | true(投递对账与内容无关) | true | `swarm.rs` L1272-1278 |
|
|
148
|
+
|
|
149
|
+
### 4.2 推演结论(核心)
|
|
150
|
+
|
|
151
|
+
1. **3/3 同错在现有聚合面上与 3/3 全对不可区分**:两组 T_alignment 均为 1.0、health 均满分、零修正信号。同错场景下系统输出的是「最高对齐+最健康」读数——T_alignment 把系统性误观测**奖励**为完美一致。
|
|
152
|
+
2. **伪证据晋升结果**:当前系统无信任分级,晋升即「信任值本身上升」——伪证据使全群信任从 0.1 升至 0.6,且该上升在报告面呈现为健康状态。若存在下游消费方按 T_avg/T_alignment 做决策(如 `@trust` 路由传播),伪信任将带着 1.0 的对齐背书向外扩散(`swarm.rs` L964)。
|
|
153
|
+
3. **多轮无自愈**:T_avg 连续 3 轮下降触发器(L1048-1057)只对「信任下降」敏感;同错升信任永不触发。error 触发器(L1030-1041)对「终态含 error 键」敏感;同错是成功终态,不触发。**全部四个反思触发器对系统性误观测均盲**。
|
|
154
|
+
4. **唯一可能检出异见的机制也不在本平台**:N=4(3 同错+1 异见者)时,异见者终态 trust=0.1、同错者 0.6 → T_avg≈0.475、T_alignment≈0.901——异见者在现有语义下的效果是**拉低对齐度**:「说真话的少数派」表现为对齐破坏者,而非伪共识的暴露者。该反直觉读数本身就是实验的重要产出。
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## 五、退化判准:证据基底分离(CTP)与机制缺失清单
|
|
159
|
+
|
|
160
|
+
### 5.1 应有行为(理论判准)
|
|
161
|
+
|
|
162
|
+
CTP 判据:伪证据缺失可验证基底时,**不因多数派采信而晋升**。对应到灵枢四态语义(大脑端 judge 既有语义),蜂群层应有:
|
|
163
|
+
|
|
164
|
+
| 检测结果 | 应触发行为 |
|
|
165
|
+
|---|---|
|
|
166
|
+
| 证据无 basis 字段 / basis 不可追溯 | 该断言**不参与信任晋升**(最多维持现值,只降不升)——对齐大脑端「拿不出证据的节点绝不写 verification_basis」(`md_cg/crosscheck.py` L11-14)纪律 |
|
|
167
|
+
| 实例间结论一致但全体无 basis | 群级 **BLINDSPOT**:透出「共识无基底」修正信号,T_alignment 另行标注「无基底对齐」,不作为健康证据 |
|
|
168
|
+
| 有 basis 且基底独立可验证(互验证) | 才允许晋升——对齐 T12 互验证语义:「VERDICT 由接收方用己方验证基底裁决(自验证不采信)」(`CommonTrustProtocol/docs/T12_M1两节点互联详细设计_v0.1.md` L26-33) |
|
|
169
|
+
| 伪证据被基底否决 | 实例信任**降级**(反例击穿通路,`智能的公理化基石.md` L408),修正信号升级 P1(限制敏感操作)/P0(隔离退场,BS-6 预留面) |
|
|
170
|
+
|
|
171
|
+
### 5.2 机制缺失清单(如实标注)
|
|
172
|
+
|
|
173
|
+
| # | 缺失机制 | 现状证据 | 对应 §5.1 行为 |
|
|
174
|
+
|---|---|---|---|
|
|
175
|
+
| M1 | 证据基底字段:WAL 事件与实例终态无 basis 概念 | `swarm.rs` L1005-1023 行格式、终态仅 halt/stack/symbols/trust/condition_space(`vm.rs` L568-608) | 判准 1 |
|
|
176
|
+
| M2 | 互验证裁决:verifier 是「同输入逐位复算」非「独立基底裁决」 | `swarm.rs` L809-815(replay envelope:verifier 用 primary 完整输入)、L893-927;同错必复算一致 | 判准 3 |
|
|
177
|
+
| M3 | 反例→降级通路:修正信号无任何信任/路由后果 | `swarm.rs` L693-695 维生边界 + BS-6(盲区清单 L47-52) | 判准 4 |
|
|
178
|
+
| M4 | 健康→信任回馈:health 单向透出,不参与聚合 | §2.3 末行 | 判准 1/4 的输入面 |
|
|
179
|
+
| M5 | 同错检测统计量:T_alignment 对同错完全盲且为正奖励 | §4.2 结论 1 | 判准 2 |
|
|
180
|
+
|
|
181
|
+
### 5.3 最小补丁面建议(本协议只建议,不改代码)
|
|
182
|
+
|
|
183
|
+
| # | 补丁面 | 内容 | 侵入度 |
|
|
184
|
+
|---|---|---|---|
|
|
185
|
+
| P1 | 事件 schema 扩展 | WAL 事件行/终态增加可选 basis 字段(枚举复用大脑端 `nodefile.py` L58-64 八档);缺省缺省不破坏既有验签(basis 不入签名串或版本化入签,需二选一裁决) | 低(增量字段) |
|
|
186
|
+
| P2 | 聚合层基底覆盖门 | aggregate_report 新增无基底断言计数:无 basis 的信任上升不计入 T_avg 晋升(只降不升门);报告透出 basis_coverage | 中(聚合逻辑) |
|
|
187
|
+
| P3 | 互验证升级 | protocol 拓扑 verifier 改持独立观测通道(per-instance symbols 差异化,依赖 BS-4 异构程序/异构输入先行)→ 复算不一致才获得真实检出力 | 高(依赖 BS-4) |
|
|
188
|
+
| P4 | 对齐度语义分离 | 报告区分「有基底对齐」与「无基底对齐」两个 T_alignment;新增异见存活率指标(少数派终态未被多数派吞没的比例) | 中(报告层) |
|
|
189
|
+
| P5 | 修正信号分级 | 「共识无基底」触发 P2 信号;「基底否决的多数派断言」触发 P1(信任降级)——沿 BS-6 预留的 §3.16 介入面 | 中(沿既有信号通道) |
|
|
190
|
+
|
|
191
|
+
**建议实施序**:P1→P2→P4 可独立落地且零破坏(缺省行为不变);P3 依赖 BS-4;P5 留真实场景。实验协议(§六)在 P1/P2 落地前后各跑一轮,即可量化「基底覆盖门」的净效应。
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## 六、实验步骤(双组设计)
|
|
196
|
+
|
|
197
|
+
### 6.1 构型矩阵
|
|
198
|
+
|
|
199
|
+
| 臂 | N | 注入 | 目的 |
|
|
200
|
+
|---|---|---|---|
|
|
201
|
+
| C0 对照 | 3 | 真观测(读数 50) | 基线:全对场景全字段读数 |
|
|
202
|
+
| E1 主实验 | 3 | 伪观测 99(3/3 同错) | 检验 §四推演:T_alignment=1.0 与 C0 不可区分 |
|
|
203
|
+
| E2 异见 | 4 | 3 实例伪观测 99 + 1 实例真观测 50 | 检验异见者被现有语义标记为「对齐破坏者」(§4.2 结论 4) |
|
|
204
|
+
| E3 扩散(可选) | 3 | 第 1 轮仅实例甲收伪观测,经路由/gossip 传播 | 测伪证据跨实例扩散后的对账面表现 |
|
|
205
|
+
| V1 验证(补丁后复跑) | 3 | 同 E1 | P2 基底覆盖门生效后:无 basis 信任上升不被晋升 |
|
|
206
|
+
|
|
207
|
+
### 6.2 轮次与执行
|
|
208
|
+
|
|
209
|
+
- M=5 轮(足以观察多轮趋势触发器均不触发,§4.2 结论 3);每臂独立 WAL/project 目录;确定性 VM 下每臂重复 3 次校验逐位一致(可重复性属性验证)。
|
|
210
|
+
- 执行入口:`python -m swarm.swarm_cli run --config <臂配置> --out report.json`(`swarm_cli.py` L113);配置经 §3.3 注入器预处理生成。
|
|
211
|
+
- 双实现交叉核对:Rust 聚合报告 vs `aggregate_trust_python`/`aggregate_health_python`(`rust_swarm.py` L129-178),1e-6 容差(`rust_swarm.py` L62-63 口径契约)。
|
|
212
|
+
|
|
213
|
+
### 6.3 指标表
|
|
214
|
+
|
|
215
|
+
| 指标 | 来源字段 | C0 预期 | E1 预期(§四推演) | 判定意义 |
|
|
216
|
+
|---|---|---|---|---|
|
|
217
|
+
| T_alignment | report.trust | 1.0 | 1.0 | 两臂相等 = 同错不可区分(命题「系统无法识别共识≠真相」在现状下成立) |
|
|
218
|
+
| T_avg | report.trust | 0.1 | 0.6 | 伪证据推动信任晋升的幅度 |
|
|
219
|
+
| health.score(逐实例) | report.health | 1.0 | 1.0 | 同错实例满健康 = 健康面无检出力 |
|
|
220
|
+
| recalc_mismatches | report.recalc | 0 | 0 | 复算通道对同构同错盲(M2 实证) |
|
|
221
|
+
| 修正信号计数 | WAL type=修正信号 行数 | 0 | 0 | 反例通道未触发(M3 实证) |
|
|
222
|
+
| 伪信任外溢 | 路由 @trust 载荷值 | 0.1 | 0.6 | 伪信任向外扩散量 |
|
|
223
|
+
| E2 专属:异见者读数 | T_alignment / roles | — | ≈0.901(下降) | 少数派真话拉低对齐度的反直觉量化 |
|
|
224
|
+
| V1 专属:晋升拦截 | T_avg | — | 0.1(不再升至 0.6) | 基底覆盖门净效应 |
|
|
225
|
+
|
|
226
|
+
### 6.4 验收断言(协议级,可执行判定)
|
|
227
|
+
|
|
228
|
+
1. E1 与 C0 的 trust 四元组中 T_alignment 逐位相等(<1e-6)→ 证实「现状不可区分」。
|
|
229
|
+
2. E1 全部修正信号计数=0 且 health=1.0 → 证实「反例通道与健康面对同错盲」。
|
|
230
|
+
3. E2 的 T_alignment < E1 的 T_alignment → 证实「异见者表现为对齐破坏者」。
|
|
231
|
+
4. (V1,补丁批准后)E1 构型在 V1 下 T_avg 不高于 C0 → 证实「基底覆盖门拦截伪晋升」。
|
|
232
|
+
5. 全臂 WAL 验签 all_valid=true(`rust_swarm.py` L88-126)→ 注入未破坏完整性面。
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## 七、边界声明
|
|
237
|
+
|
|
238
|
+
1. **本文件是实验协议**:不含任何实现。注入器脚本、聚合补丁(P1-P5)、测试用例的编写均须使用者批准后另立任务。
|
|
239
|
+
2. **平台形态边界**:实验结论的适用域是「确定性 VM 实例 + 自报信任 + 聚合透出」的蜂群形态;LLM agent 形态下的同错(模型共因幻觉)需经 harness 层接入(`swarm_cli.py` 统一入口),结论外推须另行论证。
|
|
240
|
+
3. **理论引用边界**:CTP 文档行号引自仓外 `CommonTrustProtocol/docs/`(理论仓),其版本演进不受本仓控制;本仓内可信的理论落点为大脑端 `md_cg/nodefile.py` L58-64(verification_basis 八档)与 `md_cg/crosscheck.py` L11-14(无证据不写基底纪律)。
|
|
241
|
+
4. **不做 git 操作、不改源文件**:本任务全部产出即本文件。
|
|
242
|
+
5. **诚实预期**:§四推演若被实验证实(E1 与 C0 不可区分),结论是「现状不能识别同错」——这是机制缺口的实证而非系统缺陷的遮掩;修复面已在 §5.3 如实列出,是否实施由使用者裁决。
|