@furongjun1999/dsh-memory 0.4.7 → 0.4.9
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 +130 -47
- package/codebuddy/CODEBUDDY.md +21 -10
- package/codebuddy/README.md +13 -1
- package/codebuddy/mcp.json +9 -0
- 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 -0
- package/docs/Pi/345/217/257/345/255/246/344/271/240/344/274/230/347/202/271_/347/201/265/346/236/242/345/244/247/350/204/221/346/224/271/350/277/233/344/272/244/346/216/245_20260915.md +144 -0
- package/docs/README.md +111 -0
- package/docs/discipline/harnesses.yaml +226 -152
- package/docs/discipline/templates/full.md.tmpl +61 -58
- package/docs/eval//347/254/254/344/270/211/346/226/271/351/252/214/350/257/201/346/212/245/345/221/212_LoCoMo_/347/201/265/346/236/242_.md +127 -0
- package/docs/eval//347/254/254/344/270/211/346/226/271/351/252/214/350/257/201/346/212/245/345/221/212_LoCoMo_/347/201/265/346/236/242_.png +0 -0
- package/docs/eval//347/254/254/344/270/211/346/226/271/351/252/214/350/257/201/346/212/245/345/221/212_/347/201/265/346/236/242_vs_dejavu_/347/273/237/344/270/200/350/257/204/345/210/206_v7.md +202 -0
- package/docs/experiments/linkref_backfill/candidates_20260917.json +726 -0
- package/docs/experiments/linkref_backfill/candidates_internal_20260917.json +602 -0
- package/docs/experiments/linkref_backfill/candidates_internal_v2.json +603 -0
- package/docs/experiments/linkref_backfill/candidates_secret_20260917.json +884 -0
- package/docs/experiments/linkref_backfill/candidates_secret_v2.json +789 -0
- package/docs/experiments/m4-role-probe/census.py +86 -0
- package/docs/experiments/m4-role-probe/probe.py +89 -0
- package/docs/experiments/mapped_confidence/bench_mapped_conf.py +216 -0
- package/docs/experiments/mapped_confidence/post_check.py +75 -0
- package/docs/experiments/mapped_confidence/repro_thirdparty_tol.py +83 -0
- package/docs/experiments/mapped_confidence/result_mapped_conf.json +215 -0
- package/docs/hive//345/244/232/347/253/257harness/351/200/232/344/277/241/345/245/221/347/272/246_v0.1.md +42 -0
- 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 -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 -0
- package/docs/hive//347/234/237/345/256/236/345/272/223/347/253/257/345/210/260/347/253/257/345/256/236/346/265/213_S1b/344/270/216/345/217/254/345/233/236/346/235/203/350/241/241_v0.1.md +57 -0
- package/docs/hive//347/234/237/345/256/236/345/272/223/347/253/257/345/210/260/347/253/257/345/256/236/346/265/213_S7/345/200/222/346/216/222/345/200/231/351/200/211/345/261/202_v0.1.md +126 -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 -0
- package/docs/{ → hive/}/350/234/202/345/267/242/345/267/245/344/275/234/350/256/260/345/277/206_/351/241/271/347/233/256/350/256/241/345/210/222.md +14 -2
- package/docs/mdcg/D_meta_/345/267/245/347/250/213/345/214/226/346/226/271/346/241/210_v0.2.md +216 -0
- package/docs/{README → mdcg/README}/350/257/246/347/273/206/347/211/210_v0.4.5.md +631 -625
- package/docs/{ → mdcg/}/344/270/273/344/273/243/347/220/206/345/255/220/344/273/243/347/220/206/350/256/260/345/277/206/346/236/266/346/236/204/350/256/276/350/256/241.md +1 -1
- package/docs/mdcg//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_/345/245/221/347/272/246_v0.1.md +82 -0
- 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 -0
- 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 +263 -0
- package/docs/{ → mdcg/}/345/215/225/345/205/203/350/207/252/346/210/221/351/224/232/347/202/271_/347/263/273/347/273/237/346/217/220/347/244/272/350/257/215/346/240/207/345/207/206_v0.3.md +1 -1
- package/docs/mdcg//345/255/220/344/273/243/347/220/206/351/205/215/347/275/256/346/240/207/345/207/206_v0.5.md +236 -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 +2 -2
- package/docs/{ → mdcg/}/347/201/265/346/236/242/344/270/211/345/261/202/346/213/206/345/210/206/350/247/204/345/210/222_v0.1.md +181 -181
- 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 -0
- package/docs/mdcg//347/216/257/344/272/214_/347/231/275/347/256/261/345/241/253/345/205/205/346/265/201/346/260/264/347/272/277_v0.1.md +31 -0
- package/docs/{ → mdcg/}/347/274/272/345/217/243/345/215/225_P0/346/224/266/345/217/243_v0.1.md +2 -2
- package/docs/{ → mdcg/}/350/256/244/347/237/245/345/233/276_G4-G8/347/274/272/345/217/243/350/243/201/345/256/232/345/215/225_v0.1.md +1 -1
- package/docs/{ → mdcg/}/350/256/244/347/237/245/345/233/276_/347/264/242/345/274/225/344/270/216/345/267/245/347/250/213/350/247/204/350/214/203/345/214/226_/350/256/241/345/210/222_v0.1.md +4 -4
- package/docs/{ → mdcg/}/350/256/260/345/277/206/346/223/215/344/275/234/347/263/273/347/273/237_MdCGOS/344/270/216MCP/346/216/245/345/205/245_v0.1.md +2 -2
- package/docs/mdcg//350/267/250/347/253/257/351/252/214/350/257/201/344/270/216/345/220/214/346/255/245/345/215/217/350/256/256_v0.1.md +93 -0
- package/docs/plans/GridWorld/346/234/200/345/260/217/351/227/255/347/216/257/350/247/204/346/240/274_v0.1.md +176 -0
- package/docs/{ → swarm/}/350/234/202/347/276/244/344/272/222/350/201/224_v0.1.md +3 -3
- package/docs/swarm//350/234/202/347/276/244/345/220/214/351/224/231/346/243/200/346/265/213/345/256/236/351/252/214/345/215/217/350/256/256_v0.1.md +242 -0
- package/docs/theory//345/215/225/347/272/277/347/250/213/344/270/216/346/263/250/346/204/217/345/212/233/351/233/206/344/270/255_/346/227/240/344/272/211/350/256/256/347/220/206/350/256/272/346/226/207/346/241/243_v1.0.md +129 -0
- package/docs/theory//345/271/266/345/217/221/345/277/205/347/204/266/346/200/247/347/220/206/350/256/272_v0.2.md +134 -0
- package/docs/theory//346/246/202/345/277/265/345/210/206/345/261/202/345/257/271/351/275/220/350/241/250_v0.1.md +145 -0
- 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 +6 -6
- package/docs/{ → theory/}/347/220/206/350/256/272/344/273/223/346/213/206/345/210/206/344/270/216/347/231/275/347/256/261/347/237/245/350/257/206/345/272/223/345/206/205/350/277/201_v0.1.md +1 -1
- package/docs/theory//350/256/244/347/237/245/344/273/243/347/220/206/344/270/216/346/224/266/346/225/233/347/273/223/346/236/204_/346/235/241/344/273/266/350/256/272/351/207/215/346/236/204_v0.1.md +221 -0
- package/docs/world_model//344/270/226/347/225/214/346/250/241/345/236/213_/347/245/236/347/273/217/347/275/221/347/273/234/345/272/225/345/261/202/346/236/266/346/236/204_v1.0.md +237 -0
- package/docs//345/255/230/347/256/227/344/270/200/344/275/223/346/236/266/346/236/204/345/255/246/344/271/240_/345/244/226/351/203/250/347/220/206/350/256/272/345/257/271/347/205/247/344/270/216/350/267/257/347/272/277/344/272/244/346/216/245_20260916.md +98 -0
- package/docs//345/255/230/347/256/227/344/270/200/344/275/223/347/245/236/347/273/217/347/275/221/347/273/234/346/236/266/346/236/204_/346/200/273/347/272/262/344/270/216/344/272/244/346/216/245_20260916.md +109 -0
- 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 +434 -405
- package/docs//347/201/265/346/236/242/350/207/252/346/210/221/346/224/271/350/277/233/345/267/245/344/275/234/350/256/241/345/210/222_/345/244/226/351/203/250/347/240/224/347/251/266/347/263/273/345/210/227/345/220/270/346/224/266_v1_20260919.md +286 -0
- package/docs//347/231/275/347/256/261/345/214/226/347/272/262/351/242/206_/344/270/211/351/241/271/347/233/256/345/255/246/344/271/240/346/200/273/346/236/266/346/236/204/344/270/216Ghidra/344/272/244/346/216/245_20260916.md +104 -0
- package/docs//350/256/260/345/277/206/350/257/204/345/256/241/347/263/273/347/273/237_/347/253/213/351/241/271/350/256/276/350/256/241/344/270/216/346/226/275/345/267/245/344/272/244/346/216/245_20260915.md +183 -0
- package/dsh/README.md +34 -1
- package/dsh/cordis.yml.example +13 -7
- package/dsh/hive-mcp-probe.mjs +94 -0
- package/dsh/hive-mcp.example.yml +62 -0
- package/dsh/update-lingshu.bat +11 -0
- package/dsh/update-lingshu.ps1 +337 -0
- package/lib/hooks.d.ts +8 -0
- package/lib/hooks.js +27 -24
- package/lib/index.d.ts +4 -2
- package/lib/index.js +29 -6
- package/lib/lib/datapath.d.ts +76 -1
- package/lib/lib/datapath.js +199 -13
- package/lib/lib/mdcg_client.d.ts +6 -3
- package/lib/lib/mdcg_client.js +6 -5
- package/lib/lib/mutual.js +4 -4
- package/lib/lib/prompt_safety.d.ts +48 -0
- package/lib/lib/prompt_safety.js +62 -0
- package/lib/lib/token_store.js +4 -5
- package/md_cg/audit.py +91 -2
- package/md_cg/autonomy.py +86 -15
- package/md_cg/backfill.py +36 -1
- package/md_cg/backfill_bigdomain.py +34 -0
- package/md_cg/bench6_arms.py +28 -1
- package/md_cg/bench6_common.py +10 -1
- package/md_cg/bench6_competitors.py +6 -1
- package/md_cg/bench_axis_domain.py +9 -1
- package/md_cg/bench_blind_comp.py +7 -1
- package/md_cg/bench_en_atoms_public.py +9 -0
- package/md_cg/bench_governance.py +348 -0
- package/md_cg/bench_lme_zh.py +16 -1
- package/md_cg/bench_locomo.py +2 -1
- package/md_cg/bench_locomo_zh.py +16 -1
- package/md_cg/bench_locomo_zh_public.py +4 -1
- package/md_cg/bench_longmem.py +2 -1
- package/md_cg/bench_membench.py +37 -6
- package/md_cg/bench_p0.py +4 -1
- package/md_cg/bench_progressive.py +61 -10
- package/md_cg/bench_role_views.py +238 -0
- package/md_cg/bench_task_ab.py +8 -1
- package/md_cg/bench_task_ab_llm.py +13 -1
- package/md_cg/bench_unified_en.py +6 -1
- package/md_cg/bench_zh_mad.py +20 -1
- package/md_cg/blindspot_tickets.py +123 -0
- package/md_cg/branches.py +286 -0
- package/md_cg/build_postings.py +73 -0
- package/md_cg/ccgc.py +949 -0
- package/md_cg/census.py +5 -1
- package/md_cg/chain.py +24 -3
- package/md_cg/codeindex.py +134 -17
- package/md_cg/coldverify.py +265 -0
- package/md_cg/comment_gate.py +338 -0
- package/md_cg/cond_compose.py +190 -0
- package/md_cg/cond_facts.py +155 -0
- package/md_cg/cond_template.json +107 -0
- package/md_cg/condition_anchor.py +143 -0
- package/md_cg/conformance.py +727 -0
- package/md_cg/consistency.py +25 -2
- package/md_cg/consolidate.py +53 -2
- package/md_cg/corpus.py +5 -1
- package/md_cg/crosscheck.py +42 -2
- package/md_cg/crypto.py +35 -1
- package/md_cg/d_meta.py +310 -0
- package/md_cg/datapath.py +201 -26
- package/md_cg/docindex.py +122 -1
- package/md_cg/eval_common.py +35 -6
- package/md_cg/evidence.py +27 -1
- package/md_cg/evolution.py +21 -1
- package/md_cg/export.py +11 -1
- package/md_cg/forgetting.py +34 -4
- package/md_cg/fsutil.py +81 -2
- package/md_cg/hotcache.py +214 -0
- package/md_cg/hyperedge.py +251 -0
- package/md_cg/identity.py +20 -3
- package/md_cg/insight.py +19 -3
- package/md_cg/lexicon/build_cedict_en_zh.py +9 -0
- package/md_cg/lexicon/build_standard_en.py +171 -168
- package/md_cg/lexicon/expand_en_zh.py +6 -0
- package/md_cg/lifecycle.py +273 -0
- package/md_cg/linkref.py +281 -0
- package/md_cg/links.py +29 -1
- package/md_cg/mcp_server.py +894 -168
- package/md_cg/md_whitebox.py +53 -1
- package/md_cg/mdcg.py +1205 -41
- package/md_cg/mdcos.py +1060 -76
- package/md_cg/metacognition.py +39 -4
- package/md_cg/migrate.py +4 -0
- package/md_cg/migrate_aeis.py +221 -213
- package/md_cg/migrate_roleplay.py +8 -0
- package/md_cg/migrate_wisdom_graph.py +14 -1
- package/md_cg/mreview/__init__.py +25 -0
- package/md_cg/mreview/__main__.py +110 -0
- package/md_cg/mreview/bundle.py +178 -0
- package/md_cg/mreview/candidates.py +262 -0
- package/md_cg/mreview/govern.py +694 -0
- package/md_cg/mreview/locate.py +939 -0
- package/md_cg/mreview/pipeline.py +729 -0
- package/md_cg/mreview/rules/duplication.json +21 -0
- package/md_cg/mreview/rules/field_coverage.json +54 -0
- package/md_cg/mreview/rules/source_license.json +21 -0
- package/md_cg/mreview/rules/template_flow.json +21 -0
- package/md_cg/mreview/ruleset.py +253 -0
- package/md_cg/nodefile.py +269 -1
- package/md_cg/pooling.py +23 -1
- package/md_cg/postings.py +298 -0
- package/md_cg/predict.py +113 -15
- package/md_cg/progressive.py +3 -0
- package/md_cg/protect.py +18 -5
- package/md_cg/protocol.py +372 -0
- package/md_cg/provenance.py +262 -0
- package/md_cg/reach.py +453 -0
- package/md_cg/refindex.py +88 -4
- package/md_cg/refine.py +20 -1
- package/md_cg/roleviews.py +89 -0
- package/md_cg/routing.py +76 -0
- package/md_cg/scrub.py +68 -3
- package/md_cg/security.py +26 -1
- package/md_cg/self_state.py +65 -2
- package/md_cg/selfreport.py +151 -0
- package/md_cg/semantic/canonical.py +5 -0
- package/md_cg/semantic/en_normalizer.py +364 -295
- package/md_cg/semantic/zh_en_atoms.py +139 -136
- package/md_cg/signer.py +41 -1
- package/md_cg/sources.py +583 -547
- package/md_cg/statushdr.py +179 -0
- package/md_cg/stg.py +59 -18
- package/md_cg/subgraph.py +23 -0
- package/md_cg/sustain.py +74 -1
- package/md_cg/tasks.py +471 -0
- package/md_cg/test_action_derive.py +203 -0
- package/md_cg/test_audit_rotate.py +270 -0
- package/md_cg/test_autonomy.py +26 -0
- package/md_cg/test_bench_governance.py +102 -0
- package/md_cg/test_blindspot_tickets.py +166 -0
- package/md_cg/test_branches.py +249 -0
- package/md_cg/test_ccg_perturb.py +1 -1
- package/md_cg/test_ccgc.py +433 -0
- package/md_cg/test_codeindex.py +338 -0
- package/md_cg/test_comment_gate.py +187 -0
- package/md_cg/test_cond_compose_anchors.py +76 -0
- package/md_cg/test_condition_anchor.py +82 -0
- package/md_cg/test_conformance.py +343 -0
- package/md_cg/test_d_meta.py +412 -0
- package/md_cg/test_datapath_root.py +188 -0
- package/md_cg/test_en_pipeline.py +24 -0
- package/md_cg/test_gain_gate.py +47 -1
- package/md_cg/test_health_scale.py +173 -0
- package/md_cg/test_hot_cold.py +187 -0
- package/md_cg/test_hyperedge.py +245 -0
- package/md_cg/test_identity_attribution.py +6 -0
- package/md_cg/test_index_durability.py +224 -0
- package/md_cg/test_lifecycle.py +309 -0
- package/md_cg/test_linkref.py +306 -0
- package/md_cg/test_md_access_parity.py +15 -3
- package/md_cg/test_mr_m1.py +769 -0
- package/md_cg/test_mr_m2.py +587 -0
- package/md_cg/test_mr_m3.py +710 -0
- package/md_cg/test_mr_m4.py +485 -0
- package/md_cg/test_p1.py +1 -1
- package/md_cg/test_p11_consistency.py +1 -1
- package/md_cg/test_p12_metacognition.py +2 -2
- package/md_cg/test_p16_self_state.py +1 -1
- package/md_cg/test_p26_refindex.py +50 -21
- package/md_cg/test_p27_docindex.py +258 -4
- package/md_cg/test_p28_refcheck.py +1 -1
- package/md_cg/test_p29_session_ingest_export.py +1 -1
- package/md_cg/test_p2_mcp.py +7 -1
- package/md_cg/test_p31_insight.py +24 -0
- package/md_cg/test_p38_contextualize.py +1 -1
- package/md_cg/test_p39_vision_evidence.py +1 -1
- package/md_cg/test_p40_refine_worklist.py +1 -1
- package/md_cg/test_p41_evolve_patrol.py +1 -1
- package/md_cg/test_p42_provenance.py +1 -1
- package/md_cg/test_p43_pooling.py +41 -13
- package/md_cg/test_p44_md_whitebox.py +14 -1
- package/md_cg/test_protocol.py +243 -0
- package/md_cg/test_reach.py +378 -0
- package/md_cg/test_reach_keys.py +201 -0
- package/md_cg/test_reach_meta_exits.py +145 -0
- package/md_cg/test_read_clip.py +141 -0
- package/md_cg/test_retr_s1.py +340 -0
- package/md_cg/test_retr_s1b.py +209 -0
- package/md_cg/test_retr_s3.py +194 -0
- package/md_cg/test_retr_s4.py +163 -0
- package/md_cg/test_retr_s5.py +200 -0
- package/md_cg/test_retr_s6.py +157 -0
- package/md_cg/test_retr_s7.py +385 -0
- package/md_cg/test_retr_s8_time.py +316 -0
- package/md_cg/test_retr_s9_edges.py +286 -0
- package/md_cg/test_retr_s9_entity_ctx.py +175 -0
- package/md_cg/test_review_conformance.py +367 -0
- package/md_cg/test_role_views.py +354 -0
- package/md_cg/test_tasks.py +409 -0
- package/md_cg/test_tool_face.py +189 -0
- package/md_cg/test_trust.py +361 -0
- package/md_cg/test_twophase.py +286 -0
- package/md_cg/test_units_poll.py +71 -0
- package/md_cg/test_v14_fixes.py +397 -0
- package/md_cg/test_validity_filter.py +280 -0
- package/md_cg/test_wisdom_md_store.py +7 -3
- package/md_cg/test_writepipe.py +214 -0
- package/md_cg/theory.py +17 -2
- package/md_cg/tokens.py +134 -12
- package/md_cg/tool_face.py +261 -0
- package/md_cg/trust.py +943 -0
- package/md_cg/twophase.py +232 -0
- package/md_cg/units.py +665 -0
- package/md_cg/vision_evidence.py +25 -2
- package/md_cg/weights.py +25 -2
- package/md_cg/whitebox.py +33 -2
- package/md_cg/whitebox_kb/data/verify_cache.json +21233 -360
- package/md_cg/whitebox_kb/data/verify_savings.jsonl +5124 -0
- package/md_cg/whitebox_kb/wisdom/audit_log/chain_heat.json +10 -10
- package/md_cg/whitebox_kb/wisdom/code_compose.py +113 -6
- package/md_cg/whitebox_kb/wisdom/code_solidified.json +1 -1
- package/md_cg/whitebox_kb/wisdom/verifier.py +340 -55
- package/md_cg/whitebox_kb/wisdom/wisdom-book-cloud.db +0 -0
- package/md_cg/writelimit.py +37 -7
- package/md_cg/writepipe.py +543 -0
- package/package.json +2 -2
- package/skills/skills/designer-perspective/scripts/__pycache__/designer.cpython-310.pyc +0 -0
- package/skills/skills/designer-perspective/scripts/designer.py +17 -1
- package/skills/skills/designer-perspective/tests/selftest.py +3 -1
- package/src/hooks.ts +27 -22
- package/src/index.ts +33 -6
- package/src/lib/datapath.ts +211 -13
- package/src/lib/mdcg_client.ts +12 -8
- package/src/lib/mutual.ts +411 -411
- package/src/lib/prompt_safety.ts +62 -0
- package/src/lib/token_store.ts +4 -5
- package/zcode/AGENTS.md +21 -10
- package/zcode/README.md +4 -0
- package/docs//345/212/237/350/203/275/350/260/203/347/224/250/346/230/240/345/260/204/350/241/250_v0.1.md +0 -221
- /package/docs/{AGI → eval/AGI}/344/270/203/347/273/264/350/257/204/345/210/206/346/212/245/345/221/212_md_cg_v1.0.md" +0 -0
- /package/docs/{AGI → eval/AGI}/344/270/203/347/273/264/350/257/204/345/210/206/346/212/245/345/221/212_md_cg_v2.0.md" +0 -0
- /package/docs/{ → eval/}/345/256/236/351/252/214/346/226/271/346/241/210_/345/255/246/344/271/240/351/227/255/347/216/257AB/344/270/216/346/250/252/350/257/204_v1.0.md" +0 -0
- /package/docs/{ → eval/}/346/250/252/350/257/204_/345/205/255/345/256/266100/351/242/230/344/270/255/350/213/261/345/217/214/346/237/245_v1.0.md" +0 -0
- /package/docs/{guardrail-charter.md → mdcg/guardrail-charter.md} +0 -0
- /package/docs/{lingshu_tutorial.html → mdcg/lingshu_tutorial.html} +0 -0
- /package/docs/{memory-assessment.html → mdcg/memory-assessment.html} +0 -0
- /package/docs/{memory_score.html → mdcg/memory_score.html} +0 -0
- /package/docs/{memory_score.png → mdcg/memory_score.png} +0 -0
- /package/docs/{release_v0.3.0.md → mdcg/release_v0.3.0.md} +0 -0
- /package/docs/{release_v0.4.5.md → mdcg/release_v0.4.5.md} +0 -0
- /package/docs/{tool_table_v0.3.0.md → mdcg/tool_table_v0.3.0.md} +0 -0
- /package/docs/{ → mdcg/}/344/273/244/347/211/214/344/270/216/350/247/222/350/211/262/346/235/203/350/201/214/345/210/206/347/246/273_v0.1.md" +0 -0
- /package/docs/{ → mdcg/}/347/201/265/346/236/24282/345/267/245/345/205/267_/345/212/237/350/203/275/346/225/264/347/220/206/344/270/216/350/277/201/347/247/273/346/230/240/345/260/204_v0.1.md" +0 -0
- /package/docs/{ → mdcg/}/347/201/265/346/236/242MCP/345/267/245/345/205/267/346/200/273/350/241/250_v3.4.md" +0 -0
- /package/docs/{ → mdcg/}/347/201/265/346/236/242_/350/207/252/346/210/221/345/261/202/345/256/232/344/271/211.md" +0 -0
- /package/docs/{ → mdcg/}/350/256/244/347/237/245/345/233/276_MD/347/233/256/345/275/225/346/226/271/346/241/210_v0.1.md" +0 -0
- /package/docs/{ → mdcg/}/350/256/244/347/237/245/345/233/276_/346/235/241/344/273/266/347/251/272/351/227/264/345/220/210/346/210/220/344/270/216/347/224/237/346/225/210/346/235/241/344/273/266/345/217/243/345/276/204_v0.1.md" +0 -0
- /package/docs/{ → mdcg/}/350/256/244/347/237/245/345/233/276/344/275/234/344/270/272/350/256/260/345/277/206/346/223/215/344/275/234/347/263/273/347/273/237_/350/257/204/344/274/260/344/270/216/350/267/257/347/272/277_v0.1.md" +0 -0
- /package/docs/{ → plans/}/345/221/275/345/220/215/346/262/273/347/220/206_/351/241/271/347/233/256/350/256/241/345/210/222.md" +0 -0
- /package/docs/{ → plans/}/347/237/245/350/257/206/345/233/276/350/260/261/351/241/271/347/233/256_/344/272/244/346/216/245/346/226/207/346/241/243_20260914.md" +0 -0
- /package/docs/{ → swarm/}/350/234/202/347/276/244/345/244/232/346/231/272/350/203/275/344/275/223_/344/275/277/347/224/250/346/212/245/345/221/212_20260913.md" +0 -0
- /package/docs/{ → swarm/}/350/234/202/347/276/244/345/244/232/346/231/272/350/203/275/344/275/223_/345/212/237/350/203/275/350/257/264/346/230/216_v0.6.md" +0 -0
- /package/docs/{ → swarm/}/350/234/202/347/276/244/347/233/262/345/214/272/346/240/207/350/256/260_v1.0.md" +0 -0
- /package/docs/{ → theory/}/344/277/241/346/201/257/345/267/256/344/270/272/344/273/200/344/271/210/345/277/205/347/204/266/345/255/230/345/234/250/344/270/224/350/207/252/347/204/266/346/211/251/345/244/247.md" +0 -0
- /package/docs/{ → theory/}/346/231/272/350/203/275/347/232/204/345/205/254/347/220/206/345/214/226/345/237/272/347/237/263.md" +0 -0
- /package/docs/{ → theory/}/346/231/272/350/203/275/347/232/204/350/256/244/347/237/245/350/277/207/347/250/213.md" +0 -0
- /package/docs/{ → theory/}/346/231/272/350/203/275/350/256/2723.4.md" +0 -0
- /package/docs/{ → theory/}/347/231/275/347/256/261/346/231/272/350/203/275/346/230/257/344/273/200/344/271/210/357/274/237.md" +0 -0
- /package/docs/{ → theory/}/347/231/275/347/256/261/346/231/272/350/203/275/347/263/273/345/210/227/302/267/347/254/254/344/272/224/347/257/207/357/274/232/350/256/251AI/347/234/237/346/255/243/350/243/205/344/270/212/350/256/260/345/277/206.md" +0 -0
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
# 灵枢自我改进工作计划
|
|
2
|
+
|
|
3
|
+
—— 基于六篇外部研究与一份实践视频的系统化吸收 · v1.0
|
|
4
|
+
|
|
5
|
+
> 证据基线:GBrain(garrytan/gbrain,30k★)、REMem(arXiv 2602.13530,ICLR 2026)、
|
|
6
|
+
> MRAgent(arXiv 2606.06036,ICML 2026)、MAGE(arXiv 2608.29678)、
|
|
7
|
+
> Wayfinder(agent 规划技能)、上下文工程实践视频、
|
|
8
|
+
> Dream-RSI(arXiv 2609.14858,Google/DeepMind)。
|
|
9
|
+
> 每条改动标注证据来源:[GB] [RE] [MA] [MAGE] [WF] [DRSI] [V5]。
|
|
10
|
+
|
|
11
|
+
日期:2026-09-19 · 状态:计划 v1.0(待荣裁定)· 关联:白箱化纲领、条件论、
|
|
12
|
+
蜂巢跨端验证与同步协议 v0.1、多 Harness 适配设计
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 0. 元原则:计划自身的形态
|
|
17
|
+
|
|
18
|
+
本计划采用 Dream-RSI 的三段闭环作为**元结构**——每个阶段不是清单的
|
|
19
|
+
罗列,而是一个可独立验收的迷你循环:
|
|
20
|
+
|
|
21
|
+
> **改造 → 回放验证 → 量化 → 选拔 → 回归**
|
|
22
|
+
|
|
23
|
+
- **改造**:对灵枢记忆/协议/检索做一次结构性变更;
|
|
24
|
+
- **回放验证**:变更必须在**历史数据**上证明不劣化——用灵枢已有的
|
|
25
|
+
完整留痕(会话记录、审核记录、回执、认知图真源)作为回放沙盘,
|
|
26
|
+
新旧版本在全部历史查询上对比;
|
|
27
|
+
- **量化**:验收指标数值化(见 §7 指标体系),拒绝"感觉更好";
|
|
28
|
+
- **选拔**:回放分不劣化(含旧版本作为候选 → 单调门 [DRSI])才进入真源;
|
|
29
|
+
- **回归**:阶段完成后立即投入真实任务流(蜂巢运行),用真实使用
|
|
30
|
+
暴露沙盘盲区,驱动下一阶段([DRSI] 边界:回放不知未探索区域)。
|
|
31
|
+
|
|
32
|
+
零条改动绕过此循环。这是 Dream-RSI 对本计划的最大贡献:
|
|
33
|
+
**自改进的安全形态 = 回放沙盘 + 单调门 + 周期性回归真实**,
|
|
34
|
+
而非"文字教训注入"形态([DRSI] 反直觉发现:文字指导一致拖累表现)。
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 1. 现状盘点:主战场与缺口
|
|
39
|
+
|
|
40
|
+
**已建成(主战场,不动摇)**:
|
|
41
|
+
五层认知图、CCG 六要素条件卡、四态判定(含 BLINDSPOT)、
|
|
42
|
+
D_norm 信息差、审核队列(DEFER → can_admin 裁决)、supersede/forget/
|
|
43
|
+
protect 撤回体系、蜂巢多实例互验(跨端验证协议 v0.1:水位/心跳/回执
|
|
44
|
+
逐字纪律)、hive 任务队列、三端 kernel surface(cg/stg)、渲染管线
|
|
45
|
+
(真源 → render → verify 防漂移)、白箱化纲领。
|
|
46
|
+
|
|
47
|
+
**外部对照后的两个缺口 + 一个盲区**:
|
|
48
|
+
1. **使用侧缺口**:检索为单步路由/读取,缺图遍历原语与时间算子
|
|
49
|
+
([RE][MA] 两篇独立证实这是数量级差距来源);
|
|
50
|
+
2. **模型侧缺口**:事实无显式有效期,时间只是元数据而非推理维度
|
|
51
|
+
([GB][RE][MAGE] 三篇独立指向);
|
|
52
|
+
3. **治理盲区**:治理强度从未被量化——supersede 传播率、矛盾处理率、
|
|
53
|
+
过期取回率无数字([MAGE] 给出三个现成指标定义);
|
|
54
|
+
4. **自改进盲区**:evolve/consolidate 无回放沙盘与单调门([DRSI])。
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 2. 负面清单:明确不做的
|
|
59
|
+
|
|
60
|
+
防止吸收变成照搬。以下为**有意不采纳**的外部设计:
|
|
61
|
+
|
|
62
|
+
| 不做 | 理由 |
|
|
63
|
+
|---|---|
|
|
64
|
+
| per-language 原生索引器([GB] tree-sitter 全语言 WASM,≈70MB)| 灵枢走统一语义归一路线;语言无关的结构化表示是本体,格式只是来源 |
|
|
65
|
+
| 把 insight/教训作为提示词常驻注入([DRSI] 反例)| 文字指导 = 有损压缩 + 语义偏置;教训以可回放记录存在,按需派生 |
|
|
66
|
+
| 入库前放弃裁决改为事后撤回([GB] 模式)| 事前裁决是灵枢信任模型的核心;GBrain 的事后账本可借鉴为**补充**而非替代 |
|
|
67
|
+
| surface 全量开放给所有 agent | 保持 kernel surface 收缩 + 阶梯 fail-closed([GB] 阶梯设计本身采纳,默认档保持最小)|
|
|
68
|
+
| 记忆图静态单调增长([MA] 自认局限)| 灵枢的更新/遗忘是主场,反向输出而非吸收 |
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 3. 阶段一:基础字段与冻结协议(数据模型升级)
|
|
73
|
+
|
|
74
|
+
**目标**:事实的生命周期与治理状态在数据模型上显式化。
|
|
75
|
+
|
|
76
|
+
### 3.1 双时间轴字段 [GB][RE][MAGE]
|
|
77
|
+
条件卡新增:
|
|
78
|
+
- `believed_at`(信念时间:体系何时确认此条——supersede/审核的锚);
|
|
79
|
+
- `effective_from / effective_until`(效力时间:事实在任务世界何时有效);
|
|
80
|
+
- `expired_at` + 过期查询语义(过期≠删除,是查询默认过滤)。
|
|
81
|
+
验收:全部历史条件卡回填后,按效力区间过滤的历史查询回放结果
|
|
82
|
+
与人工标定一致。
|
|
83
|
+
|
|
84
|
+
### 3.2 巩固字段一等公民化 [GB]
|
|
85
|
+
新增 `consolidated_at / consolidated_into`(自引用)——归并/insight
|
|
86
|
+
操作从流程记录升级为可追溯字段。
|
|
87
|
+
验收:任一合并后的条目可定位其全部前身。
|
|
88
|
+
|
|
89
|
+
### 3.3 裁决枚举扩为四类 [MAGE]
|
|
90
|
+
审核队列裁决从 ACCEPT/REJECT(+edit/merge) 扩为显式
|
|
91
|
+
**ADD / UPDATE / DELETE / NOOP**——NOOP("已评估,判定不改变任何
|
|
92
|
+
现有记忆")成为被记录的判定而非静默忽略。
|
|
93
|
+
验收:NOOP 有留痕、有统计(§6 指标输入)。
|
|
94
|
+
|
|
95
|
+
### 3.4 冻结动词协议 v1 [GB]
|
|
96
|
+
为灵枢 MCP 记忆工具面(kernel surface 的记忆相关操作)定义
|
|
97
|
+
《灵枢记忆动词协议 v1》:字段名与语义冻结、只增不破坏、
|
|
98
|
+
`protocol_version` 随行、**conformance 测试**钉死形状。
|
|
99
|
+
范围先行收窄:`route / read / write / supersede / forget` 五动词。
|
|
100
|
+
验收:三端(DSH/ZCode/CodeBuddy)按协议文档独立实现客户端,
|
|
101
|
+
conformance 全绿。
|
|
102
|
+
|
|
103
|
+
### 3.5 fence 真源绑定 [GB]
|
|
104
|
+
条件卡与 Markdown 真源之间加"往返列"(真源 slug + 行位),
|
|
105
|
+
实现 DB 行 ↔ 真源文件双向定位。
|
|
106
|
+
验收:任一条件卡可定位真源精确行;真源重排后按 reconciler 重建。
|
|
107
|
+
|
|
108
|
+
**回放验证**:全部历史条件卡与审核记录在新模型上重放
|
|
109
|
+
(route/read/write/supersede 逐条),结果与旧模型逐字节一致
|
|
110
|
+
(纯字段增列,不改既有语义)。
|
|
111
|
+
**风险**:低(增列不动既有语义)。**依赖**:无。
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## 4. 阶段二:检索原语(使用侧补强)
|
|
116
|
+
|
|
117
|
+
**目标**:把 `cg` 的检索从单步路由升级为可组合的图遍历原语,
|
|
118
|
+
agent 端获得多步推演的能力面。
|
|
119
|
+
|
|
120
|
+
### 4.1 时间算子 [RE]
|
|
121
|
+
所有检索原语接受 `start_time, end_time, start_operator, end_operator`
|
|
122
|
+
参数——时间是一等检索参数且带比较算子(§3.1 的字段在此兑现)。
|
|
123
|
+
|
|
124
|
+
### 4.2 find_entity_contexts 式原语 [RE]
|
|
125
|
+
`subject / object / predicate + 时间条件 + limit / ordering / offset /
|
|
126
|
+
aggregation`——按三元组任意端与谓词反查。
|
|
127
|
+
|
|
128
|
+
### 4.3 tag 枢纽层 [MA]
|
|
129
|
+
cues(细粒度线索)与内容之间加"短标签"检索枢纽
|
|
130
|
+
(≤2 词,`query_tag_events` 式),先查 tag 再展开内容。
|
|
131
|
+
|
|
132
|
+
### 4.4 反向遍历 [MA]
|
|
133
|
+
`Content → (Cue, Tag)`——从已取内容反查来源线索、由线索激活
|
|
134
|
+
相邻记忆,暴露为独立检索动作。
|
|
135
|
+
|
|
136
|
+
### 4.5 f_route 式剪枝 [MA]
|
|
137
|
+
多步遍历中每步由 LLM 剪枝无关分支——[MA] 数据:剪枝使 token
|
|
138
|
+
118k vs 245k/632k(−52%~−81%),多步反而省。
|
|
139
|
+
|
|
140
|
+
### 4.6 能力探测降级 [GB]
|
|
141
|
+
检索入口探测能力:无 embedding 依赖时自动降级 BM25 式关键词——
|
|
142
|
+
零配置可用的底线体验。
|
|
143
|
+
|
|
144
|
+
**回放验证**:新原语在全部历史查询上对比单步基线——
|
|
145
|
+
召回集是旧法的超集(单调门),且引入的噪声由剪枝控制
|
|
146
|
+
(f_route 的准确率回放对比)。
|
|
147
|
+
**风险**:中(新原语的误用噪声)。**依赖**:§3.1(时间字段)。
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## 5. 阶段三:治理量化(把主场变成可测的主场)
|
|
152
|
+
|
|
153
|
+
**目标**:灵枢最强的治理维度获得数字。[MAGE] 给出三个现成定义。
|
|
154
|
+
|
|
155
|
+
### 5.1 治理指标三件套 [MAGE]
|
|
156
|
+
- **修正传播率**:一次 supersede 之后,下游引用它的节点同步失效/
|
|
157
|
+
更新的比例(MAGE 91.2%);
|
|
158
|
+
- **矛盾处理率**:新证据与旧记忆矛盾时被正确裁决(取代/失效)
|
|
159
|
+
的比例(MAGE 88.5%);
|
|
160
|
+
- **过期取回率**:查询返回已过期信息的比例(MAGE 3.1%,越低越好)。
|
|
161
|
+
|
|
162
|
+
### 5.2 拒答/无知量化 [RE]
|
|
163
|
+
四态判定的 BLINDSPOT 获得 REMem 式量化:不可答问题的
|
|
164
|
+
拒答精确率/召回率/F1(REMem F1 64.0 为对照线)。
|
|
165
|
+
"显式表达无知"从设计变成可打分的能力。
|
|
166
|
+
|
|
167
|
+
### 5.3 公开基准体检 [RE]
|
|
168
|
+
以 LoCoMo(长对话回忆,与蜂巢会话场景最近)为首个外部基准,
|
|
169
|
+
灵枢记忆对标准流程跑分,与 Mem0/HippoRAG 2/REMem 公开数字对照。
|
|
170
|
+
仅测差距,不为其改架构。
|
|
171
|
+
|
|
172
|
+
### 5.4 BLINDSPOT 票据化 [WF]
|
|
173
|
+
BLINDSPOT 生成时追问"缺的是哪类信息",自动生成对应类型消解票据
|
|
174
|
+
(research / prototype / grilling / task)挂入依赖图——
|
|
175
|
+
无知从状态标记升级为可分派工单。grilling 类型由既有 grill 工具承接。
|
|
176
|
+
|
|
177
|
+
**回放验证**:指标基线先在"不改动"的当前版本上测出
|
|
178
|
+
(这是基线定义,无单调门问题);随后每次治理相关改动
|
|
179
|
+
对照基线报告三指标变化。
|
|
180
|
+
**风险**:低(测量不改行为)。**依赖**:§3.3(NOOP 枚举)。
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## 6. 阶段四:角色化读取与超边形式化(蜂巢侧)
|
|
185
|
+
|
|
186
|
+
**目标**:蜂巢多实例的记忆读取按角色差异化;协作事件形式化。
|
|
187
|
+
|
|
188
|
+
### 6.1 角色化读取 [MAGE]
|
|
189
|
+
主代理读"结论与修正历史",验证端读"判据面与环境陷阱",
|
|
190
|
+
回执任务读"命令与预期输出"——同一记忆库,按角色过滤视图。
|
|
191
|
+
验收:角色化读取后各角色任务的 token 消耗与判据命中率
|
|
192
|
+
对照无差别全量读取。
|
|
193
|
+
|
|
194
|
+
### 6.2 超边形式化 [MAGE]
|
|
195
|
+
把"一次跨端验证"显式定义为超边类型:参与者集合、证据集合、
|
|
196
|
+
修正集合、时间范围——互验协议 v0.1 的文件组约定升级为
|
|
197
|
+
可被外部工具理解的正式结构(对齐 MAGE 的第一类超边)。
|
|
198
|
+
验收:任一历史验证回执可从超边完整重建。
|
|
199
|
+
|
|
200
|
+
**依赖**:§3 全部(超边字段引用双时间轴与裁决枚举)。
|
|
201
|
+
**回放验证**:历史互验记录全部迁移为超边后,水位/心跳/回执
|
|
202
|
+
语义逐字不变。
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## 7. 阶段五:回放沙盘(自改进闭环,终局)
|
|
207
|
+
|
|
208
|
+
**目标**:灵枢的 evolve/consolidate/白箱自举获得 Dream-RSI 形态的
|
|
209
|
+
安全自改进。
|
|
210
|
+
|
|
211
|
+
### 7.1 历史留痕升级为可回放世界 [DRSI]
|
|
212
|
+
会话记录、审核记录、回执、认知图真源——这些本来就完整留痕的
|
|
213
|
+
历史,封装为**可回放世界**:任意记忆/策略变更,可以在历史上
|
|
214
|
+
全部真实查询与任务回执上离线重放。
|
|
215
|
+
|
|
216
|
+
### 7.2 单调门 [DRSI]
|
|
217
|
+
自改进候选(新词条、新路由策略、新归并规则)在回放世界上
|
|
218
|
+
与现役版本同台比试;候选集含现役版本 → **历史回放分单调不退化**
|
|
219
|
+
才被选拔。
|
|
220
|
+
|
|
221
|
+
### 7.3 周期性回归与盲区标记 [DRSI]
|
|
222
|
+
回放只覆盖已探索区域——沙盘选拔后周期性回归真实任务流,
|
|
223
|
+
新暴露的未探索区域以 BLINDSPOT 显式标记(§5.4 票据化承接),
|
|
224
|
+
驱动下一轮在线探索。
|
|
225
|
+
|
|
226
|
+
**回放验证**:本阶段自身的验收即 Dream-RSI 数字——自改进操作
|
|
227
|
+
历史回放分单调不退化 + 真实任务流上无回归 + Lasso 式成本节省
|
|
228
|
+
(对照:人工演进)。
|
|
229
|
+
**风险**:高(新机制)。**依赖**:§3–§5 全部 + 蜂巢历史留痕完整
|
|
230
|
+
(已满足:会话/审核/回执本就全留痕)。
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## 8. 指标体系(贯穿验收)
|
|
235
|
+
|
|
236
|
+
| 指标 | 定义 | 来源 | 基线 |
|
|
237
|
+
|---|---|---|---|
|
|
238
|
+
| 修正传播率 | supersede 后下游同步失效比例 | [MAGE] | 待测(当前无数字)|
|
|
239
|
+
| 矛盾处理率 | 矛盾证据被正确裁决比例 | [MAGE] | 待测 |
|
|
240
|
+
| 过期取回率 | 查询返回已过期信息比例 | [MAGE] | 待测 |
|
|
241
|
+
| 拒答 F1 | 不可答问题的显式拒答 | [RE] | 对照线 64.0 |
|
|
242
|
+
| 检索召回超集率 | 新原语召回 ⊇ 旧法召回比例 | 本计划 | 100%(单调门)|
|
|
243
|
+
| token 效率 | 同等任务 token 消耗 | [MA] | 对照 −50% 目标 |
|
|
244
|
+
| 回放分单调性 | 候选 vs 现役回放分 | [DRSI] | 不退化 |
|
|
245
|
+
| 接入成本 | 新 harness 接入所需理解面 | [GB] | 15 分钟对齐 |
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## 9. 风险与边界
|
|
250
|
+
|
|
251
|
+
1. **回放盲区** [DRSI]:沙盘单调 ≠ 真实不退化——每阶段以真实任务流
|
|
252
|
+
回归收口,新盲区以 BLINDSPOT 标记;
|
|
253
|
+
2. **上游提取质量** [MAGE 同款限制]:语义归一依赖 LLM 抽取——
|
|
254
|
+
抽取失真会进库。缓解:来源留痕 + fence 往返(可审计回原文)、
|
|
255
|
+
受控翻译(标识符白名单);
|
|
256
|
+
3. **协议冻结的不可逆**:v1 冻结是单向门——字段命名与语义需在
|
|
257
|
+
三端实测收敛后再冻结,冻结前允许破坏性调整;
|
|
258
|
+
4. **工程容量**:阶段四、五重(蜂巢改造 + 新机制),阶段一至三
|
|
259
|
+
轻(字段 + 原语 + 测量)。顺序即风险排序。
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## 10. 摘要对照总表
|
|
264
|
+
|
|
265
|
+
| 条目 | 证据 | 落点 | 阶段 |
|
|
266
|
+
|---|---|---|---|
|
|
267
|
+
| 双时间轴 | [GB][RE][MAGE] | 条件卡字段 | 一 |
|
|
268
|
+
| 巩固字段 | [GB] | facts/条件卡 | 一 |
|
|
269
|
+
| NOOP 裁决 | [MAGE] | 审核队列枚举 | 一 |
|
|
270
|
+
| 冻结动词协议 + conformance | [GB] | md_cg MCP 面 | 一 |
|
|
271
|
+
| fence 真源绑定 | [GB] | 条件卡↔md | 一 |
|
|
272
|
+
| 时间算子 | [RE] | 检索原语 | 二 |
|
|
273
|
+
| 实体上下文原语 | [RE] | 检索原语 | 二 |
|
|
274
|
+
| tag 枢纽 | [MA] | 检索原语 | 二 |
|
|
275
|
+
| 反向遍历 | [MA] | 检索原语 | 二 |
|
|
276
|
+
| f_route 剪枝 | [MA] | 检索原语 | 二 |
|
|
277
|
+
| 能力探测降级 | [GB] | 检索入口 | 二 |
|
|
278
|
+
| 治理指标三件套 | [MAGE] | 指标体系 | 三 |
|
|
279
|
+
| 拒答量化 | [RE] | BLINDSPOT | 三 |
|
|
280
|
+
| LoCoMo 基准体检 | [RE] | 外部锚点 | 三 |
|
|
281
|
+
| BLINDSPOT 票据化 | [WF] | 判定→工单 | 三 |
|
|
282
|
+
| 角色化读取 | [MAGE] | 蜂巢读取 | 四 |
|
|
283
|
+
| 超边形式化 | [MAGE] | 互验协议 | 四 |
|
|
284
|
+
| 回放世界池 | [DRSI] | 自改进 | 五 |
|
|
285
|
+
| 单调门 | [DRSI] | 自改进 | 五 |
|
|
286
|
+
| 周期性回归 + 盲区 | [DRSI][WF] | 自改进 | 五 |
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# 白箱化纲领 · 三项目学习总架构(兼 Ghidra 交接文档)
|
|
2
|
+
|
|
3
|
+
> 立纲裁定:**荣 2026-09-16「将我们的白箱化,作为纲领,进行今晚这 3 个外部大型项目学习的总架构」**
|
|
4
|
+
> 三项目:**pi**(Pi Agent Harness,105k★,MIT)· **OpenCodeReview**(阿里,27.5k★,Apache-2.0)· **Ghidra**(NSA,76.4k★,Apache-2.0/GPL 分区)
|
|
5
|
+
> 交接方:ZCode 端 · 接收方:**CodeBuddy 端** · 关联文档:`Pi可学习优点_灵枢大脑改进交接_20260915.md`、`记忆评审系统_立项设计与施工交接_20260915.md`
|
|
6
|
+
> 理论真源:白箱智能系列(CommonTrustProtocol 理论仓)+ 智能论 3.4(`docs/theory/`)+ 荣纲领「唯一协议=智能论」(灵枢 node_c0116768)
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 0. 一句话纲领
|
|
11
|
+
|
|
12
|
+
**不可理解的执行体不可信;可信 = 可理解 + 可复算 + 可溯源。** 白箱化就是把一切执行体(程序、记忆、智能体行为)转换为**统一中间表示**,使其可分析、可验证、可治理。今晚三个项目分别在**程序域**(Ghidra)、**协作域**(pi)、**质量域**(OCR)独立验证了这套方法——它们不知道彼此,却实现了与我们相同的方法论。这不是巧合,是收敛。
|
|
13
|
+
|
|
14
|
+
## 1. 纲领本体:白箱化四原理
|
|
15
|
+
|
|
16
|
+
| # | 原理 | 陈述 | 违反后果 |
|
|
17
|
+
|---|---|---|---|
|
|
18
|
+
| W1 | **统一表示** | 一切被分析/被执行的对象,先归一为小而正交的中间表示 | 异构对象各说各话,分析无法跨域复用 |
|
|
19
|
+
| W2 | **确定性内核** | 「不能错的」由确定性机制保证,概率性组件(LLM)只产候选 | 质量随 prompt 漂移,结果不可复算 |
|
|
20
|
+
| W3 | **显式化** | 隐式状态、隐式前提、隐式盲区必须显式展开;未知的显式占位,不静默丢弃 | 隐蔽腐化:错在心里看不出在哪 |
|
|
21
|
+
| W4 | **知识数据化** | 平台知识/规则/策略外置为可审查的数据(spec),引擎对知识零改动 | 加一条规则改一次代码,演进被代码锁死 |
|
|
22
|
+
|
|
23
|
+
**验证记录**(各原理的异域实现):
|
|
24
|
+
- W1:Ghidra P-Code(74 正交操作码+Varnode 全状态编址,`PcodeOp.java:46`);pi 事件溯源日志(13 叶子状态机+全局 seq,`session/types.ts:315`);灵枢认知图(md 节点+frontmatter——**且多两维:条件化+信任化**,荣 2026-09-16「我们做统一中间表示,工具是智能论条件论」,灵枢 node_1a5d8a68)。
|
|
25
|
+
- W2:OCR 确定性五模块×Agent(同模型 Precision/F1 更高、token 仅 1/9);灵枢蜂群 verifier 逐位复算、四闸门。
|
|
26
|
+
- W3:Ghidra UNIMPLEMENTED 显式占位(未建模指令不静默丢弃)+标志位展开为显式数据流;pi 错误消息显式标记不入上下文;灵枢盲区 BS 制度、条件空间卡。
|
|
27
|
+
- W4:Ghidra SLEIGH(新平台=新 spec,引擎零改动);pi 扩展系统(工具/compaction 可替换);灵枢 writelimit 规则、Pi 交接 D3 规则引擎(待建)。
|
|
28
|
+
|
|
29
|
+
> **MiroFish 关联**(世界模型方向,已完成分析归档):作为反面样本佐证纲领——有智能(万人 LLM agent)无白箱(无验证闸/无 checkpoint/预测不可复算),恰是四原理缺失的完整标本。详见灵枢 node_36ec9560。
|
|
30
|
+
>
|
|
31
|
+
> **第五收敛点(2026-09-16 补)**:TRAE 社区独立开发者的「灵枢 LingShu」(forum.trae.cn/t/topic/151749,2026-07-15,EdgeCrab/Rust 本地助理)——与我们互不相识却收敛出同一组件清单(持久记忆/语义召回/感官接口/心跳唤醒/本地优先),**连命名都收敛**("灵枢"=《内经》神智之枢机,需求→概念→词汇的必然映射)。荣论断:「同名不是巧合,是架构收敛的必然。」——问题空间决定解空间的最强公开可查证据(灵枢 node_81f594e6)。另:Hindsight(node_f6cbd333)为记忆域第四收敛点(四路检索/巩固/实体归一同构)。
|
|
32
|
+
|
|
33
|
+
## 2. 三项目在纲领中的位置
|
|
34
|
+
|
|
35
|
+
| 项目 | 域 | 白箱化角色 | 它教我们的一句话 |
|
|
36
|
+
|---|---|---|---|
|
|
37
|
+
| **Ghidra** | 程序域(二进制) | **黑箱→白箱转换器**:把不可理解执行体还原为可分析表示 | 完备性=小而正交算子+全状态统一编址;新域=新数据不改引擎 |
|
|
38
|
+
| **pi** | 协作域(agent 运行时) | **白箱运行时**:一切行为落事件日志,状态可重放、可分支、可对账 | 核心最小化+显式状态机;工具面渐进披露;压缩可逆 |
|
|
39
|
+
| **OCR** | 质量域(代码评审) | **白箱质检线**:确定性硬约束筛选与定位,LLM 只裁语义 | 确定性工程让 LLM 提质 9 倍省 token;反思/定位模块分离 |
|
|
40
|
+
|
|
41
|
+
**三域合围即灵枢的完整图景**:灵枢大脑在认知域做同样的事(信息流→认知图 IR),且是三者中唯一把**观测条件(条件空间)与信任凭证(四态/evidence)编码进 IR** 的实现。三个项目是我们路线的异域印证;灵枢的增量维度是它们没走的下一步。
|
|
42
|
+
|
|
43
|
+
## 3. 统一方法论六条(交叉验证结论,方法论级可引用)
|
|
44
|
+
|
|
45
|
+
1. **小而正交的封闭算子集**优先于大而全的开放枚举(Ghidra 74 操作码六年稳定 ↔ 术数编译器封闭指令集);
|
|
46
|
+
2. **隐式状态显式化是分析的前提**(Ghidra 标志位→显式数据流 ↔ 灵枢条件显式化/反思两问句)——不显式化,就只能猜;
|
|
47
|
+
3. **未知的显式占位**(Ghidra UNIMPLEMENTED ↔ 灵枢盲区 BS 制度)——「没分析过」与「分析过没问题」必须可区分;
|
|
48
|
+
4. **知识外置为数据,引擎对知识零改动**(SLEIGH/pi 扩展/评审规则库)——演进速度由数据决定,不由发版决定;
|
|
49
|
+
5. **确定性管线+可枚举变换序列**(Ghidra 反编译 Action 链/分析器确定性排序 ↔ 蜂群 BSP 确定性提交/评审 M1 机械层)——自由发挥只属于候选生成,不属于裁决与结算;
|
|
50
|
+
6. **一份核心多前端**(headless/GUI 共用管线 ↔ 一份大脑多 harness),前端是方言,核心是协议本体。
|
|
51
|
+
|
|
52
|
+
## 4. 灵枢映射总表(纲领落进施工线)
|
|
53
|
+
|
|
54
|
+
| 纲领原理 | 灵枢已有 | 缺口 | 施工线(CodeBuddy) |
|
|
55
|
+
|---|---|---|---|
|
|
56
|
+
| W1 统一表示 | md 认知图+frontmatter+语义原子 | 节点 kind/tag 正交性审计(Ghidra 74 码六年的稳定信号) | 新增审计任务(见 §6-G) |
|
|
57
|
+
| W2 确定性内核 | 蜂群四闸门/verifier 复算/BSP | 记忆评审五级流水线 | 记忆评审 M1-M4(已有立项文档) |
|
|
58
|
+
| W3 显式化 | 盲区 BS/条件空间卡/审计日志 | 节点生命周期状态机(pi 13 叶子同构物);unanalyzed 显式占位标记 | Pi 交接② + §6-G |
|
|
59
|
+
| W4 知识数据化 | writelimit 参数/SOURCE_POLICY 雏形 | 规则库 spec 化(加规则不改代码) | Pi 交接⑥ + 记忆评审 D3 |
|
|
60
|
+
|
|
61
|
+
## 5. Ghidra 交接正文(防御面专项)
|
|
62
|
+
|
|
63
|
+
### 5.1 定位与许可
|
|
64
|
+
- 入区 `agi-architectures/ghidra/`(浅克隆 442MB,20,546 文件);荣裁定:「矛盾是一体两面的,破解和防御都是对同一种机制的认知。**我们取防御面**。」
|
|
65
|
+
- 许可红线:核心 Apache-2.0;**根目录 `GPL/` 下模块另带 GPL/LGPL,代码严禁复制进本仓**;Ghidra 自身有已知安全公告(README Security Warning)——运行样本分析必须在隔离环境(容器/VM)。
|
|
66
|
+
|
|
67
|
+
### 5.2 防御面四对接点(能力储备,按需启用)
|
|
68
|
+
1. **供应链安全审计(二进制级)**:灵枢以 npm 包发布(@furongjun1999/dsh-memory),scanner CI 管 manifest 级,Ghidra 管原生模块/native prebuilds/可疑 so-dll——纵深补位;
|
|
69
|
+
2. **外部程序准入评审**:蜂群盲区 **BS-4 异构程序实例**——世界模型测试场接收外部术数程序/字节码时,headless 模式可脚本化批量审计「外来程序实际做什么」;
|
|
70
|
+
3. **保护线对抗纵深**:vision-protection 的攻击样本分析能力储备;
|
|
71
|
+
4. **工具链自防**:分析工具本身是攻击面(Ghidra 自己的安全公告为证)——自用工具同样过 scanner。
|
|
72
|
+
|
|
73
|
+
### 5.3 浅层调研结论(已完成,灵枢 node_1a77ad69)
|
|
74
|
+
- **P-Code**:74 正交操作码+Varnode 三元组(全状态地址空间化);SLEIGH spec 数据化;lossless(UNIMPLEMENTED 显式占位);反编译=固定 Action 序列;
|
|
75
|
+
- **插件管线**:Plugin/PluginTool+服务与事件两路解耦;Analyzer=可选步骤;6 队列 priority 确定性排序;扩展 zip 自动进管线;
|
|
76
|
+
- **Headless**:与 GUI 共用分析管线;可复现(确定性排序+无随机源)。
|
|
77
|
+
- **方法分析六条对照**全部与灵枢已有件同构(§1 验证记录+§3),Ghidra 无一件与我们路线冲突——收敛而非修正。
|
|
78
|
+
|
|
79
|
+
### 5.4 可吸收三件(Ghidra → 灵枢施工件)
|
|
80
|
+
| # | 吸收件 | 落点 | 验收 |
|
|
81
|
+
|---|---|---|---|
|
|
82
|
+
| G1 | **节点正交性审计**:kind/tag/edge 类型空间封闭性检查(可枚举/正交/新增是否需改引擎) | `md_cg/nodefile.py`+`census.py` | 审计报告产出类型空间全景表;非正交项清单 |
|
|
83
|
+
| G2 | **规则库 spec 数据化**:评审规则全落数据文件(.slaspec 式可审查/可版本化) | 记忆评审 D3(`md_cg/mreview/rules/`) | 新增规则零代码改动 |
|
|
84
|
+
| G3 | **unanalyzed 显式占位**:未被任何分析覆盖的节点显式标记(类比 UNIMPLEMENTED) | `md_cg` 节点 frontmatter state 字段(与 Pi② 状态机合并施工) | census 断言:unanalyzed 比例可量化可追踪 |
|
|
85
|
+
|
|
86
|
+
## 6. 施工总览(CodeBuddy 任务图)
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
白箱化纲领(本文档)
|
|
90
|
+
├── Pi 线(已有交接文档,七项):⑥钩子化 → ④fork → ①瘦身 → ②状态机 → ③两段式 → ⑤census → ⑦细节
|
|
91
|
+
├── 记忆评审线(已有立项文档,四里程碑):M1 机械层 → M2 蜂巢并发 → M3 定位 → M4 治理闭环
|
|
92
|
+
└── Ghidra 线(本文件 §5.4,轻量):G1 正交性审计(可并入 census⑤)· G2 并入 D3 · G3 并入 Pi②
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
- 三线共用基建(census/钩子/规则引擎),**按依赖合并施工**,勿重复建设;
|
|
96
|
+
- 每步:实现 → 全量 `test_pXX` 回归 → 灵枢归档(16 条四要素)→ 对应文档进度表更新;
|
|
97
|
+
- 落点纪律不变:唯一主线 `dsh-memory/md_cg`+`hive/`;AEIS 真源只读;protocol-compiler 冻结。
|
|
98
|
+
|
|
99
|
+
## 7. 边界与纪律
|
|
100
|
+
|
|
101
|
+
1. **底座不换**:三项目只是方法印证与零件来源,无一带代码入库(MIT/Apache 宽松仓也只吸收思想,保持实现血统纯正可溯);
|
|
102
|
+
2. **Ghidra GPL 分区**:`GPL/` 目录代码零复制;样本分析隔离环境;
|
|
103
|
+
3. **纲领的开放性**:白箱化四原理是当前最优陈述,非终稿——未来异域印证或反例出现时,按第 4 条根因纪律修订本文档并同步灵枢;
|
|
104
|
+
4. **归档闭环**:本文档对应灵枢节点(提交后回填):纲领 node 待定 / Pi node_3ca6cde8 / 记忆评审 node_997fc563 / Ghidra node_e42f19d4+node_1a77ad69 / 统一IR node_1a5d8a68 / 协议哲学 node_c0116768。
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
# 记忆评审系统 · 立项设计与施工交接文档
|
|
2
|
+
|
|
3
|
+
> 立项裁定:**荣 2026-09-15「立项吧。验证单元对记忆的复核校验,是我们蜂巢并发和记忆可信度的关键。必须重视。」**
|
|
4
|
+
> 交接方:ZCode 端 · 接收方:**CodeBuddy 端**
|
|
5
|
+
> 架构蓝本:OpenCodeReview(`agi-architectures/open-code-review/`,Apache-2.0,确定性工程×Agent 混合)→ 荣洞察「**代码评审就不是记忆评审了么**」
|
|
6
|
+
> 上游依赖:验证单元现状盘点(灵枢 node_160ca242)、写入效果审计(node_26b0973a)、蜂巢工作记忆(`docs/hive/蜂巢工作记忆_项目计划.md`)、Pi 交接文档(`docs/Pi可学习优点_灵枢大脑改进交接_20260915.md`)
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 0. 一句话立项
|
|
11
|
+
|
|
12
|
+
给灵枢大脑建一条**记忆评审流水线**:确定性模块选条目、捆条目、配规则 → **蜂巢并发**跑 LLM 复核包 → verify 角色字段级落库 → 治理工单回流。它同时是三件事的答案:验证单元对记忆的**复核校验**、蜂巢并发的**第一个大规模用例**、9-15 审计遗留问题(role 空/evidence 缺/重复/宽进)的**治理产能**。
|
|
13
|
+
|
|
14
|
+
## 1. 落点纪律(防版本不一致,先读)
|
|
15
|
+
|
|
16
|
+
| 仓 | 本次角色 |
|
|
17
|
+
|---|---|
|
|
18
|
+
| `dsh-memory/` | ✅ 全部落点:流水线编排在 `md_cg/`,并发执行面用 `hive/`,测试在 `md_cg/test_mr*.py` |
|
|
19
|
+
| `AEIS/` | ❌ 不改代码;真源 `data/mdcg/` 对评审管线**只读**(评审意见由灵枢自身的写入通路落库) |
|
|
20
|
+
| `protocol-compiler/` | ❌ 冻结 |
|
|
21
|
+
|
|
22
|
+
- 与 Pi 交接文档(⑥钩子化/⑤census 等)**共用基建不重复建设**:census 断言集是本系统 M1 的候选生成器,写路径钩子是评审意见落库的通道——建议施工顺序 Pi⑥ → 本项目 M1 起步(或合并施工)。
|
|
23
|
+
- 硬约束:**永不删除**真源节点(评审只产意见与工单);**verify 角色权限边界不动**(`tokens.py` layers_allow=rejected/contextual);**precision over noise**(宁可 DEFER 不可误杀);评审全过程留痕可回滚。
|
|
24
|
+
|
|
25
|
+
## 2. 立项依据(为什么是现在)
|
|
26
|
+
|
|
27
|
+
1. **审计实证的治理欠账**(2026-09-15 审计,node_26b0973a):knowledge 层索引混层 57.9%、role 存量 99.99% 空、evidence_count 仅 6 条、精确重复 90 条、同模板冗余 233 条、闸门 DROP/DEFER=0(宽进)、召回率 7%。
|
|
28
|
+
2. **OCR 规模验证**:阿里两年/数万开发者验证「确定性硬约束×LLM」在评审域有效——同模型 Precision/F1 更高、token 仅 1/9。三痛点(覆盖不全/位置漂移/质量不稳)与记忆写入质量问题一一对应。
|
|
29
|
+
3. **蜂巢产能待用**:hive 引擎(worker 池/心跳/强杀/恢复)+wm 三级闸已交付,缺大规模真实用例;记忆评审的「捆绑并发评审」正是其设计目标场景(rust 管并发与生命周期,python 管协议与 LLM)。
|
|
30
|
+
4. **验证单元已有地基**:11 模块盘点(灵枢 node_160ca242)——crosscheck 双单元裁决、verify 角色写权限互斥、mdcos 审核队列、forgetting 三问四态。缺的只是三个模块(§4)。
|
|
31
|
+
|
|
32
|
+
## 3. 架构总设计:五级流水线
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
[1 候选生成] → [2 捆绑] → [3 规则装配] → [4 蜂巢并发评审] → [5 落库与治理]
|
|
36
|
+
确定性 确定性 确定性 LLM(蜂巢 job) 确定性收口
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
| 级 | 职责 | 确定性/LLM | 既有地基 |
|
|
40
|
+
|---|---|---|---|
|
|
41
|
+
| 1 候选生成 | 产出待评条目清单:census 断言超限项 + 闸门 DEFER 队列 + 冷节点抽样 + 轮巡 | 确定性 | census.py(Pi ⑤ 产品化)、`_forgetting.jsonl` DEFER 记录 |
|
|
42
|
+
| 2 捆绑 | 按模板签名组/同源(migrated_from)/同主题聚类成包;**同模板组一包一评,一次裁决全组** | 确定性 | writelimit 的模板签名函数(`tmpl_sig`)可直接复用 |
|
|
43
|
+
| 3 规则装配 | 按包特征(层/tags/来源执照/字段覆盖率)从规则库装配检查集 | 确定性 | `crosscheck.SOURCE_POLICY`(雏形泛化,见 D3) |
|
|
44
|
+
| 4 并发评审 | 每包一个 hive job:spec=条目包+规则集+定位上下文,worker LLM 产字段级意见 | **LLM(蜂巢)** | hive scheduler+wm;spec/result 契约见 §5 |
|
|
45
|
+
| 5 落库治理 | verify 角色校验意见格式 → 意见落 rejected/contextual → 治理工单(回填/合并/降权建议)→ designer 终裁执行 | 确定性收口 | verify 令牌 layers_allow **正好允许**;mcdcos 审核队列复用为工单终裁 |
|
|
46
|
+
|
|
47
|
+
**分工原则(对齐 OCR)**:机械可算的(重复率/字段完整性/同 hash 组)在蜂巢 job **之前**跑,LLM 只看机械检查无法裁决的语义问题——确定性优先,省 token(OCR 实证 1/9)。
|
|
48
|
+
|
|
49
|
+
## 4. 三个缺口模块设计(本项目新建件)
|
|
50
|
+
|
|
51
|
+
### D1 字段级定位模块(对齐 OCR 独立定位)
|
|
52
|
+
|
|
53
|
+
- **输出契约**:`locate(node_id, issue_hint) -> [{field, span, issue_kind, evidence}]`——field ∈ frontmatter 字段名或 `content`;span = 字符区间或句索引;issue_kind ∈ {dup, missing_field, stale, contradiction, weak_source, template_flow}。
|
|
54
|
+
- **实现要点**:①frontmatter 字段级检查直接逐字段扫描(role 空/evidence=0 这类机械定位零成本),**层门限派生自 M1 规则库的 `matcher.layer`**(M1 不报的层 M3 不越层报,见 §6.3);②content 内定位:同 hash 组内 diff 定位差异句(模板流水的"每次只换数字"正是 diff 可见);③与 `provenance.py` 关系:provenance 管节点间血缘(不动),本模块管**条目内部**定位(新建 `md_cg/mreview/locate.py`)。
|
|
55
|
+
- **验收**:对审计已知问题抽样 20 条,字段级定位人工核对准确率 ≥90%。
|
|
56
|
+
|
|
57
|
+
### D2 反思模块扩展(对齐 OCR 独立反思)
|
|
58
|
+
|
|
59
|
+
- **现状**:crosscheck 的 verify_prompt 只复核「验证方式」单字段。
|
|
60
|
+
- **扩展**:新增**内容复核 prompt 模板**(`md_cg/mreview/prompts.py`):输入=条目全文+装配规则集+D1 定位候选,输出=结构化意见 JSON:`{verdicts:[{node_id, field, span, issue_kind, verdict(ACCEPT/MERGE/DROP/DEFER), evidence}], summary}`。
|
|
61
|
+
- **独立性约束(不可妥协)**:复核执行者持 verify 令牌(只能落 rejected/contextual,禁改 knowledge——`tokens.py:127` 结构保证);复用 `crosscheck.detect_self_verify` 检出「写入者=复核者」即违例;意见落库后走 mdcos 审核队列终裁(红队门控/判据指纹既有机制全复用)。
|
|
62
|
+
- **验收**:意见 100% 过格式校验;自验违例检出测试通过。
|
|
63
|
+
|
|
64
|
+
### D3 规则装配模板引擎(对齐 OCR 规则匹配)
|
|
65
|
+
|
|
66
|
+
- **现状**:检查规则以枚举+阈值散落(forgetting 的 DUP_MERGE 阈值、census 的断言、SOURCE_POLICY)。
|
|
67
|
+
- **设计**:规则库统一格式 `rule = {id, matcher: {layer?, tags?, source_license?, field_cov?}, checks: [机械检查|llm检查], severity}`;装配器 `assemble(bundle) -> ruleset` 按包特征选规则。**机械检查在 job 前本地跑完**(结果作为 llm 检查的上下文输入),llm 检查才进蜂巢。
|
|
68
|
+
- **验收**:新增一条规则不改引擎代码;装配结果可 dump 审查(白箱)。
|
|
69
|
+
|
|
70
|
+
## 5. 蜂巢对接契约(评审 job 的 spec/result)
|
|
71
|
+
|
|
72
|
+
```jsonc
|
|
73
|
+
// hive jobs/<id>/spec.json
|
|
74
|
+
{
|
|
75
|
+
"model": "<评审模型>",
|
|
76
|
+
"system_prompt": "记忆评审员:只依据规则集与定位证据裁决,不臆测;输出严格 JSON。",
|
|
77
|
+
"context_files": ["bundle.json", "rules.json"], // 包内条目(裁剪后)+装配规则集
|
|
78
|
+
"user_prompt": "对 bundle.json 中每条目按 rules.json 逐检查项裁决…输出 {verdicts:[…], summary}",
|
|
79
|
+
"timeout_s": 600
|
|
80
|
+
}
|
|
81
|
+
// result.json(执行器写回,ok:true 才过 wm 凭证闸)
|
|
82
|
+
{ "ok": true,
|
|
83
|
+
"verdicts": [{"node_id":"…","field":"role","span":null,
|
|
84
|
+
"issue_kind":"missing_field","verdict":"DEFER",
|
|
85
|
+
"evidence":"frontmatter 无 role,来源=agent 令牌即可回填"}],
|
|
86
|
+
"summary": "…" }
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
- 评审 job 由**主代理侧**批量提交(hive_spawn),poll 收卷后走第 5 级落库——**蜂巢 worker 不直写认知图**(wm 三级闸语义:worker 产物只是意见,落库归灵枢写入通路+verify 令牌)。
|
|
90
|
+
- 吞吐预估:审计欠账约 1.1 万条目,捆绑后(同模板组并包)预计 300-800 包;HIVE_WORKERS=8 时一至两轮跑完。
|
|
91
|
+
|
|
92
|
+
## 6. 施工阶段与验收(四里程碑)
|
|
93
|
+
|
|
94
|
+
| 阶段 | 内容 | 验收口径 |
|
|
95
|
+
|---|---|---|
|
|
96
|
+
| **M1 机械层** | census 断言集 + 捆绑器(tmpl_sig 复用)+ D3 规则引擎骨架 | 对 9-15 审计基线数字**复现**(11195/57.9%/90 条/233 条);捆绑结果 dump 可审查 |
|
|
97
|
+
| **M2 蜂巢并发** | spec/result 契约 + verify 落库通道(过 Pi⑥ 钩子)+ 自验违例测试 | 10 包×50 条试跑全绿;意见格式校验 100%;worker 零直写认知图 |
|
|
98
|
+
| **M3 定位模块** | D1 字段级定位 | 抽样 20 条人工核对 ≥90% |
|
|
99
|
+
| **M4 治理闭环** | 工单回流(role 回填/合并建议/降权)+ designer 终裁 + 复跑 census 量化改善 | 首轮治理后:精确重复 90→≤10、role 覆盖 ≥90%(存量可回填范围)、闸门 DEFER>0 |
|
|
100
|
+
|
|
101
|
+
每阶段:实现 → 全量 `test_pXX` 回归 + 新增 `test_mr*.py` → 灵枢归档(16 条四要素)→ 本文件进度表更新。
|
|
102
|
+
|
|
103
|
+
### 6.1 施工进度
|
|
104
|
+
|
|
105
|
+
| 阶段 | 状态 | 落点 | 验证 |
|
|
106
|
+
|---|---|---|---|
|
|
107
|
+
| **M1 机械层** | ✅ 完成(2026-09-16) | `md_cg/mreview/`(`candidates.py` / `bundle.py` / `ruleset.py` / `rules/*.json` / `__main__.py`)+ `md_cg/test_mr_m1.py` | 107 断言全绿;回归 12 套件 exitCode 0;lint 0 |
|
|
108
|
+
| **M2 蜂巢并发** | ✅ 完成(2026-09-16) | `md_cg/mreview/pipeline.py` + `md_cg/test_mr_m2.py` | 64 断言全绿(含真蜂巢端到端 D 组);回归 12 套件 exitCode 0;lint 0 |
|
|
109
|
+
| **M3 定位模块** | ✅ 实现完成(2026-09-16),验收待做 | `md_cg/mreview/locate.py` + `md_cg/test_mr_m3.py` | 100 断言全绿;M1/M2 回归 107/64 全绿;lint 0;§6 表「抽样 20 条人工核对」**待使用者参与** |
|
|
110
|
+
| M4 治理闭环 | ⬜ 未开工 | — | — |
|
|
111
|
+
|
|
112
|
+
**M1 基线复现实测**(真源 `AEIS/data/mdcg`,2026-09-16,冻结 `--root` 显式传入)
|
|
113
|
+
|
|
114
|
+
| 基线项 | 9-15 基线 | 本次实测 | 判定 |
|
|
115
|
+
|---|---|---|---|
|
|
116
|
+
| 混层率 | 57.9% | 58.57% | ✅ 同量级(库在增长) |
|
|
117
|
+
| role 空 | 99.99% | 99.991%(`role_ratio_kn`=8.98e-05) | ✅ 吻合 |
|
|
118
|
+
| evidence_count | 仅 6 条 | 6 条 | ✅ 精确吻合 |
|
|
119
|
+
| 精确重复 | 90 条 | 93 组 | ✅ 同量级 |
|
|
120
|
+
| knowledge 存量 | 11195 | 11138 | ✅ 吻合 |
|
|
121
|
+
| 召回率 | 7% | 8.76% | ✅ 同量级 |
|
|
122
|
+
| 同模板冗余 | 233 条 | 口径未固化 | ⚠️ 不硬凑(见下) |
|
|
123
|
+
|
|
124
|
+
**M1 产出规模**:候选 11493 条(原始 34673;按源 assertion=33971 / cold=500 / patrol=200 / defer=2)→ 1276 包(template 1058 / topic 91 / batch 127)→ 机械 issue 33683 条(missing_field 26889 / weak_source 6079 / package_ratio 614 / dup_content 88 / template_flow 13)+ 待 LLM 检查 6332 项。包数超出 §5 预估区间(300-800),因预估按「同模板组并包」理想化、实际 topic/batch 组更碎——**M2 排期请按 1276 包估算**。
|
|
125
|
+
|
|
126
|
+
**「同模板冗余 233 条」口径待固化(不猜测)**:实测两个候选口径均不等——`writelimit.template_signature` 全量分组冗余 **1949**(把 `main(def)` / `Added` / `Fixed` 等结构性同形一并归入)、本引擎 `template_flow` 严格「只换数字」口径 **13**。故 M1 不纳入机械断言,留待 M3 定位模块抽样核对后固化判据。
|
|
127
|
+
|
|
128
|
+
**零写入取证(第 4 条)**:`test_mr_m1.py` E10 曾报真源指纹变化,取证结论=M1 无写入。证据三条:①`conformance.load_index` 纯读(open+json.load);②跑 M1 前后 `_index_log/` 无新文件、逐字节不变;③目录内日志文件名带写入者 pid(14916/16072/20184/6708),非本进程 pid,且静置 6s 无变化。故断言口径改为「记忆数据面指纹不变(排除运行态 `_index_log`)」+ 追加「未留下本进程增量日志」。
|
|
129
|
+
|
|
130
|
+
### 6.2 M2 落地说明(2026-09-16)
|
|
131
|
+
|
|
132
|
+
**落点**:`md_cg/mreview/pipeline.py`(级 4 投递收卷 + 级 5 意见落库 + 批编排 + CLI),`md_cg/test_mr_m2.py`(A spec 构造 / B 解析校验 / C 落库通道 / D 真蜂巢 e2e / E 边界负例)。
|
|
133
|
+
|
|
134
|
+
**级 4 契约**:`dump_context` 把 (pkg, asm) 写成**绝对路径** context_files(bundle/groups/ruleset)→ `build_spec` 生成 spec(`meta` 只带归因字段,hive 忽略)→ `submit_many` → `wait_jobs`(轮询至终态,done/failed/pending 三分类)→ `collect`+`read_result`。10 包并行提交即为一轮,墙钟≈最慢一包。
|
|
135
|
+
|
|
136
|
+
**级 5 顺序**(任一环不过即不落库):①自验违例检测(评审者 ≠ 落库裁决者,判据复用 `crosscheck.detect_self_verify`)→ ②意见非空(全 DEFER 且空 → 不写,零噪声)→ ③verify 令牌(`tokens.role_spec("verify")`,`layers_allow=["rejected","contextual"]`)+ writepipe 六道闸 + 库层 `require_layer_write`。
|
|
137
|
+
|
|
138
|
+
**两条结构性纪律的实测**:
|
|
139
|
+
- **评审不改知识层**:落库固定 `layer="contextual"`;显式传 `layer="knowledge"` → 库层抛 `AccessDenied`,函数捕获后返回 `refused/reason="layer_denied"`(不吞不炸)——越层是**结构性拒绝**而非约定。
|
|
140
|
+
- **自验禁止**:`reviewer` 与 `applier` 落在同一单元(reflect↔verify)→ 拦截,cognitive 图零写入(快照逐字节不变)。
|
|
141
|
+
- **worker 零直写**:假执行器只写 `result.json`;认知图写入只发生在收卷后的 `apply_opinions`(dry_run 批实测记忆数据面指纹不变)。
|
|
142
|
+
|
|
143
|
+
**根因记录(第 4 条)**:C4 首跑 `committed=False / moved_to=review_queue`。取证 → `audit._rule_check` 在**无规则库**时返回 DEFER(「无规则不能假装合规」),故**每一条** text 意见都会转审核队列而落不了盘。结论:M2 落库**依赖部署侧合规规则库**(`MDCG_POLICY_FILE`,与生产同源,测试自备同形态 policy)。据此做两处防静默降级修改:`apply_opinions` 透出 `moved_to` / `deferred`(`deferred = 改了去向且未落盘`),`run_batch` 报 `committed` 与 `deferred` **双计数**——**「入队」不报成「落库」**;并补 C4b 断言固化该降级行为。
|
|
144
|
+
|
|
145
|
+
**验收口径对照**:10 包×50 条 = 500 条意见一次批量收卷;意见格式校验率 100%(`pass_rate == 1.0`);越界 verdict 全数拦截(反例 serve,`pass_rate=0.0 / committed=0`);dry_run 批 `committed=0` 且真源零改动;实跑 3 包 `committed==3`,contextual 增量恰为 3、knowledge 存量不变。
|
|
146
|
+
|
|
147
|
+
**吞吐口径澄清**:§6 表内「10 包×50 条」是**机制验收样本**;M1 实测包数为 1276,M2 真跑按 1276 包提交(`HIVE_WORKERS=8` 时按最慢一包墙钟推进)。
|
|
148
|
+
|
|
149
|
+
### 6.3 M3 落地说明(2026-09-16)
|
|
150
|
+
|
|
151
|
+
**落点**:`md_cg/mreview/locate.py`(六定位器 + 契约 + 批量/包 + CLI),`md_cg/test_mr_m3.py`(A 基础工具 / B 六定位器 / C 提示过滤 / D 契约确定性 / E 批量与包 / F 零写入,100 断言)。
|
|
152
|
+
|
|
153
|
+
**验收口径对照**:六类定位器逐类正例+负例;提示过滤(`issue_hint` 取子集,未命中类返回空且不借机报别的类);契约四键(`field/span/issue_kind/evidence`,M1 用词经 `KIND_ALIASES` 归并到 D1 规范名);确定性(同输入两次逐字节一致,`now` 显式传入不靠墙钟);零写入(实锤:全相位跑完记忆数据面指纹逐字节不变)。§6 表内「抽样 20 条人工核对 ≥90%」需使用者参与判定,**待做**。
|
|
154
|
+
|
|
155
|
+
**判据同源 · 字段层门限(修正 1)**:字段级检查的层门限**派生**自 M1 规则库(`rules/*.json` 的 `matcher.layer`,见 `field_layer_scope`),M3 不另立一份——`role`/`evidence_count` 限 `knowledge` 层(与 M1 `R-ROLE-MISSING`/`R-EVIDENCE-ZERO` 同源),未限层字段(`verification_basis` 等)全层适用;缺层节点不检查,与 M1 `_scope`(`str(e.get("layer")) in want`)逐字同口径——**M1 不报的问题,M3 不越层报**。派生而非双写法:M1 改规则 M3 自动跟随(无守卫的手写副本必漂移);规则库损坏时 `load_rules` 抛错(fail-closed,不静默降级成全层)。
|
|
156
|
+
|
|
157
|
+
真库对照(`AEIS/data/mdcg`,11756 节点,只读取证):`role` 门限前 11506 → 门限后 11199(越层不再报 307);`evidence_count` 11744 → 11194(越层 550,被挡层 contextual 368 / self 152)。**knowledge 层 11200 节点中 11199 空 `role`、11194 `evidence_count=0`**——这不是定位器误报(M1 同量级报出),而是存量字段缺失的真实规模,直接决定 M4 回填工作量。
|
|
158
|
+
|
|
159
|
+
**指纹不一致的成因区分(修正 2)**:`contradiction/hash_declared_vs_actual` 必带 `cause` 增强键——`index_lag`(节点文件比索引快照新:写走 `_stage()` 分片日志、`rebuild_index()` 才写 `_index.json`,**快照滞后属正常写路径现象**,实测滞后 14s 量级,复核者无需修数据)+ `true_mismatch`(索引快照不旧于文件 → 索引声明与文件真源相抵触,需查)+ `unknown`(取不到盘上 mtime → 不假装知道)。两种成因处置完全不同,合并成一句「索引与文件不一致」会把正常写时序误报成数据损坏。
|
|
160
|
+
|
|
161
|
+
**环境注记(第 4 条)**:真库遍历相位偶发 `PermissionError`(首跑 M1 `phase_e` 命中真库某节点文件)——取证该文件 `mode 0o666`、`open(rb)` 成功、真库全量抽样 11201 文件 0 不可读 → 判定为**文件被其它进程瞬时持有**(非零写入缺陷、非代码面),复跑 M1 107 断言全绿。
|
|
162
|
+
|
|
163
|
+
**归档落地纪律(第 16 条补正,两条同源:形态不是文风,是检索资格的门禁)**:
|
|
164
|
+
1. **写入时声明派生来源**——`derived_from` + `relation`(枚举见 `provenance.RELATIONS`,如 `refined_from`)。理由:`provenance` 纪律含 `no_backfill=True`,边只在**写入时**声明、事后不回填(巡检/rebuild 不补账);写入漏传即关联永久缺失。本轮 M3 修正节点首写漏传,以「覆写 = 重新写入时声明」(而非直改台账)补救,边落 `_link.jsonl`。
|
|
165
|
+
2. **CCG 六要素须为行首 `# 要素名:` 形态**——M2 归档节点首行误写成 `# 记忆评审系统 M2 蜂巢并发…`(缺「功能名」要素),致该节点检索判定 BLINDSPOT;补前缀后恢复。写节点正文时六行齐备且行首,否则能力再强也召不回来。
|
|
166
|
+
|
|
167
|
+
## 7. 反面清单(勿违反)
|
|
168
|
+
|
|
169
|
+
1. **评审不直接改知识层**——意见与工单是产物,执行归 designer 终裁(位置效应:评审者≠执行者);
|
|
170
|
+
2. **永不删除**——治理动作只有合并/降权/回填/移层,删除走既有 rejected 层语义;
|
|
171
|
+
3. **LLM 评审不得跳过机械检查**——确定性优先是 token 经济与可复算性的双重要求;
|
|
172
|
+
4. **不学 OCR 的全权信任**——评审 worker 经蜂巢执行器跑,无宿主 shell 权限;意见落库必过 verify 令牌校验;
|
|
173
|
+
5. **Precision over noise**——裁决不确定一律 DEFER,DEFER 是正常产物不是失败。
|
|
174
|
+
|
|
175
|
+
## 8. 快速上手(CodeBuddy)
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
# 1. 读 §3 流水线图 + §7 反面清单
|
|
179
|
+
# 2. 查证地基:md_cg/crosscheck.py(SOURCE_POLICY:66, detect_self_verify:565)、
|
|
180
|
+
# md_cg/tokens.py:127(verify 角色)、hive/wm.py(三级闸)、hive/src/scheduler.rs
|
|
181
|
+
# 3. 对照蓝本:agi-architectures/open-code-review(定位/反思/规则匹配三模块实现)
|
|
182
|
+
# 4. 从 M1 开工(census+捆绑+规则骨架),验收=审计基线复现
|
|
183
|
+
```
|
package/dsh/README.md
CHANGED
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
| `cordis.yml.example` | 插件配置示例(30+ 项:mdcg / memory / mutual / capability …) |
|
|
12
12
|
| `cordis-patch-profile-web.example.yml` | profile `web` 的 config override **备份模板**(换 profile / 重装 / 升级后须核对仍在) |
|
|
13
13
|
| `dsh-web-start.bat` | DSH web 宿主启动脚本(带 8GB heap 保护,防启动 OOM) |
|
|
14
|
+
| `update-lingshu.ps1` / `update-lingshu.bat` | 灵枢插件一键更新:放行 pnpm 发布龄闸门 → 同步 lockfile → 停 DSH(释放目录锁)→ 安装并校验 → 重启。详见脚本头部注释 |
|
|
15
|
+
| `hive-mcp.example.yml` | **蜂巢 MCP 接入样例**(追加进 `<profile>/cordis.patch.yml`):把 `hive_spawn`/`hive_poll`/`hive_kill`/`hive_doctor` 以 `mcp__hive__*` 暴露给 DSH 模型。含 env 清洗、insert 形态、密钥传递等实测要点 |
|
|
16
|
+
| `hive-mcp-probe.mjs` | 蜂巢 MCP server 探针:用 DSH 自带的 `@modelcontextprotocol/sdk` 直接握手 + `tools/list` + `hive_doctor`(`--spawn` 可跑一次真任务),**不动 DSH 进程**即可验证 server 侧 |
|
|
14
17
|
|
|
15
18
|
## 安装
|
|
16
19
|
|
|
@@ -23,6 +26,36 @@ dsh plugin --profile web add . # 必须走 dsh plugin,勿用裸 npm ins
|
|
|
23
26
|
|
|
24
27
|
再参照 `cordis.yml.example` 在 `<profile>/cordis.yml` 启用配置。
|
|
25
28
|
|
|
29
|
+
## 蜂巢(hive)MCP 接入(任务调度 + 多智能体并发)
|
|
30
|
+
|
|
31
|
+
把 `hive/hive_mcp/mcp_server.py` 作为 MCP 服务器接进 DSH,模型即可直接调用 4 个工具:
|
|
32
|
+
`mcp__hive__hive_spawn` / `mcp__hive__hive_poll` / `mcp__hive__hive_kill` / `mcp__hive__hive_doctor`。
|
|
33
|
+
|
|
34
|
+
完整配置见 [`hive-mcp.example.yml`](hive-mcp.example.yml)(**必须用 `- insert:` 形态**追加到
|
|
35
|
+
`<profile>/cordis.patch.yml`;模板内 4 个 `<REPLACE_WITH_...>` 占位符换成你自己的绝对路径)。
|
|
36
|
+
三条最容易踩的点:
|
|
37
|
+
|
|
38
|
+
1. **env 会被清洗**:`dsh-mcp-client` 只继承 12 个系统变量,`PYTHONPATH` / `PYTHONUTF8` /
|
|
39
|
+
`DEEPSEEK_API_KEY` 都得在配置里显式写出,否则 `python -m hive.hive_mcp.mcp_server` 起不来。
|
|
40
|
+
2. **密钥要传下去**:serve 未存活时 `hive_spawn` 会自动拉起它,而 `hive/config.local.json` 里
|
|
41
|
+
`HIVE_API_KEY` 取自宿主环境变量 `DEEPSEEK_API_KEY`;漏传 ⇒ 拉起一个「没钥匙的 serve」。
|
|
42
|
+
3. **重启才生效**:profile 的 `patchReload` 默认 `startup`。
|
|
43
|
+
|
|
44
|
+
验证(两步,都不需要动正在跑的 DSH;探针脚本内是占位符,用环境变量传入):
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
set DSH_ROOT=<DSH 安装目录>
|
|
48
|
+
set HIVE_REPO=<dsh-memory 仓的绝对路径>
|
|
49
|
+
set HIVE_LIB=<认知图库仓的绝对路径>
|
|
50
|
+
set MDCG_ROOT=<认知图根的绝对路径>
|
|
51
|
+
node dsh/hive-mcp-probe.mjs # 直接连 server:握手 + tools/list + hive_doctor
|
|
52
|
+
node dsh/hive-mcp-probe.mjs --spawn # 再真跑一个任务,验证写路径
|
|
53
|
+
dsh --profile web --dump-config | findstr mcp-hive # 确认配置确实进了组合后的插件树
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
重启后在 DSH 里调用 `mcp__hive__hive_doctor` 应报 serve 存活;`hive_spawn` 一个最小任务
|
|
57
|
+
(如「回复 HIVE_DSH_MCP_OK」)再 `hive_poll` 到 `done` 即端到端通。
|
|
58
|
+
|
|
26
59
|
## 纪律注入(personaPrefix 受管块)
|
|
27
60
|
|
|
28
61
|
DSH 端的 16 条工作纪律**不走独立文件**,而是以 `compact` 变体写入
|
|
@@ -41,7 +74,7 @@ python scripts/verify_discipline.py --target dsh
|
|
|
41
74
|
## 与「三层拆分规划」的关系
|
|
42
75
|
|
|
43
76
|
本目录是**按 harness 维度**(DSH / CodeBuddy / ZCode)归置配置;
|
|
44
|
-
[`../docs/灵枢三层拆分规划_v0.1.md`](../docs/灵枢三层拆分规划_v0.1.md) 讨论的是**另一种正交维度**
|
|
77
|
+
[`../docs/mdcg/灵枢三层拆分规划_v0.1.md`](../docs/mdcg/灵枢三层拆分规划_v0.1.md) 讨论的是**另一种正交维度**
|
|
45
78
|
(灵 / 脑 / 身 三仓职责分离,目标是主仓瘦身)。
|
|
46
79
|
|
|
47
80
|
二者在 `dsh-web-start.bat` 上存在**归属分歧**:三层规划拟将其移出主仓至「身体仓(宿主启动)」,
|