@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
|
@@ -1,181 +1,181 @@
|
|
|
1
|
-
# 灵枢三层拆分规划 v0.1
|
|
2
|
-
|
|
3
|
-
> 状态:规划稿(未执行任何文件搬迁)
|
|
4
|
-
> 日期:2026-09-10
|
|
5
|
-
> 范围:理论(灵)/ 大脑(brain)/ 身体(body)三仓职责分离与主仓库瘦身
|
|
6
|
-
> 性质:**本文只定义职责与顺序,不构成搬迁授权**;所有搬迁动作须先通过 Phase 0 裁决。
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## 0. 背景与结论
|
|
11
|
-
|
|
12
|
-
### 0.1 现状问题
|
|
13
|
-
|
|
14
|
-
| 问题 | 表现 |
|
|
15
|
-
|---|---|
|
|
16
|
-
| 主仓库职责混杂 | `dsh-memory` 同时承载「记忆大脑」与「工程/身体运行时」(`docker/`、`scripts/` 看门狗、宿主启动脚本),二者依赖量级完全不同 |
|
|
17
|
-
| 同名不同物 | 历史命名中「AEIS」既指理论方(CTP)自带的工程副本,又指 `dsh-memory` 的 Python 大脑包,导致「aeis = 大脑」的旧语义债 |
|
|
18
|
-
| 跨库同步困难 | 同一份工程内容在多库各存一份,改动需人工同步,真源不清 |
|
|
19
|
-
| 断链 | `AEIS/tools/*` 指向 `dsh-memory\llm-adapter-poc`,该路径当前不存在(待 Phase 0 核实) |
|
|
20
|
-
| 交付面过宽 | 完整灵枢 = 理论 + 大脑 + 身体,体量巨大;理论难懂、身体重依赖,二者都阻碍了「大多数人只需大脑」这一主路径 |
|
|
21
|
-
|
|
22
|
-
### 0.2 结论(本次收敛)
|
|
23
|
-
|
|
24
|
-
**主仓库不再放工程内容的完整实现,只放「大脑」。**
|
|
25
|
-
|
|
26
|
-
- 完整灵枢 = **灵** + **脑** + **身**;但对外**默认只交付大脑**。
|
|
27
|
-
- 理论(灵)与身体(身)作为大脑的**可选下层 / 上层**,通过 README 分层入口引导,而非塞进主仓库。
|
|
28
|
-
- 分离的直接收益:消除跨库重复实现,真源唯一,降低同步成本。
|
|
29
|
-
- 面向人群:理论 → 研究者;身体 → 少数需具身者;**大脑 → 大多数人(默认入口)**。
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## 1. 三层定位
|
|
34
|
-
|
|
35
|
-
| 仓 | 角色 | 内容边界 | 默认读者 | 依赖量级 |
|
|
36
|
-
|---|---|---|---|---|
|
|
37
|
-
| CTP / CommonTrustProtocol | **理论(灵)** | 协议、认识论、信任账本;**不含工程实现**(待剥离自带 `aeis/` 工程副本) | 研究者 | 无(纯文档/协议) |
|
|
38
|
-
| **dsh-memory(主仓库)** | **大脑** | `md_cg` 认知图内核 + MCP/npm 接口 + 记忆数据;**纯逻辑、零重依赖** | **大多数人(默认入口)** | 轻(标准库 + 轻量 npm) |
|
|
39
|
-
| AEIS / body | **身体** | 传感器、语音、执行器、docker 运行环境、模型权重、宿主看门狗 | 少数需具身者 | 重(设备/模型/容器) |
|
|
40
|
-
|
|
41
|
-
**一句话各自定位**
|
|
42
|
-
|
|
43
|
-
- 灵:定义「什么样的智能值得被信任」——协议与公理,不落代码。
|
|
44
|
-
- 脑:定义「记住什么、如何召回、如何自演化」——可在任意宿主上单独运行。
|
|
45
|
-
- 身:定义「如何感知与作用于世界」——可选,且可替换。
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## 2. 主仓库(大脑)取舍清单
|
|
50
|
-
|
|
51
|
-
### 2.1 保留(= 大脑本体)
|
|
52
|
-
|
|
53
|
-
| 路径 | 内容 | 理由 |
|
|
54
|
-
|---|---|---|
|
|
55
|
-
| `md_cg/` | 认知图内核(98 py:consolidate / refine / pooling / provenance / whitebox / MCP server…) | 大脑核心,纯 Python |
|
|
56
|
-
| `src/` | MCP / npm 插件接口(8 ts) | 大脑对外唯一入口 |
|
|
57
|
-
| `test/` | 集成测试 | 大脑正确性保障 |
|
|
58
|
-
| `data/` | 记忆数据(**归位须待 Phase 3**) | 大脑资产,非工程副产物 |
|
|
59
|
-
| `package.json` / `tsconfig.json` | 构建定义 | 轻依赖 |
|
|
60
|
-
| `README.md` / `docs/` | 分层入口文档 | 需重写为三层入口(Phase 4) |
|
|
61
|
-
|
|
62
|
-
### 2.2 移出或降级(= 身体 / 工程)
|
|
63
|
-
|
|
64
|
-
| 路径 | 处置 | 去向 |
|
|
65
|
-
|---|---|---|
|
|
66
|
-
| `docker/` | 移出 | 身体仓(运行环境) |
|
|
67
|
-
| `dsh-web-start.bat` | 移出 | 身体仓(宿主启动) |
|
|
68
|
-
| `scripts/`(看门狗 ps1 / vbs) | 移出 | 身体仓(宿主守护) |
|
|
69
|
-
| 语音 / 模型权重 / 设备相关资源 | 移出 | 身体仓 |
|
|
70
|
-
|
|
71
|
-
### 2.3 断链修复(Phase 2 处理)
|
|
72
|
-
|
|
73
|
-
- `AEIS/tools/*` → `dsh-memory\llm-adapter-poc`(当前缺失)。
|
|
74
|
-
- 二选一:**补齐**该路径,或**声明废弃**并从文档/代码中移除引用。
|
|
75
|
-
- 原则:不允许存在「文档指向不存在路径」的悬空引用。
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
## 3. 分期任务规划
|
|
80
|
-
|
|
81
|
-
> 顺序不可交换:**先裁决 → 再冻接口 → 再搬代码 → 最后动数据**。
|
|
82
|
-
> 每一期均有独立验收,未通过不得进入下一期。
|
|
83
|
-
|
|
84
|
-
### Phase 0 — 裁决(不搬任何文件)
|
|
85
|
-
|
|
86
|
-
| # | 任务 | 产出 |
|
|
87
|
-
|---|---|---|
|
|
88
|
-
| 0.1 | `diff -rq` 定 `aeis` 唯一真源(CTP 侧 vs 独立仓侧) | 真源结论 + diff 快照存档 |
|
|
89
|
-
| 0.2 | 一句话写死「身体」操作定义:设备端口 / 世界载体 / 宿主客户端(三择一) | 定义条目(可导出为边界表) |
|
|
90
|
-
| 0.3 | 将 `data/mdcg` 声明为大脑资产,并**冻结写入** | 冻结记录 + 恢复步骤 |
|
|
91
|
-
|
|
92
|
-
**验收**:真源唯一;身体定义可一句话导出;`data/mdcg` 冻结生效且可恢复。
|
|
93
|
-
|
|
94
|
-
### Phase 1 — 接口先行(仍不搬文件)
|
|
95
|
-
|
|
96
|
-
| # | 任务 | 产出 |
|
|
97
|
-
|---|---|---|
|
|
98
|
-
| 1.1 | 冻结 brain↔body 契约:只暴露**能力名**,不暴露执行细节 | 契约表(能力名 + 入参/出参语义) |
|
|
99
|
-
| 1.2 | 跑通两条链路各一次:身体取知识(`cg(op=whitebox)`)、大脑写记忆(`mdcg_remember`) | 双向链路验证记录 |
|
|
100
|
-
|
|
101
|
-
**验收**:契约冻结且带版本号;两条链路各绿一次。
|
|
102
|
-
|
|
103
|
-
### Phase 2 — 代码剥离
|
|
104
|
-
|
|
105
|
-
| # | 任务 | 产出 |
|
|
106
|
-
|---|---|---|
|
|
107
|
-
| 2.1 | 主仓库移除重依赖目录(见 §2.2) | 瘦身后的主仓库 |
|
|
108
|
-
| 2.2 | CTP 侧剥离自带 `aeis/` 工程副本(或反向声明 CTP 为发布源) | 剥离/声明记录 |
|
|
109
|
-
| 2.3 | 修复 `AEIS/tools/*` 断链 | 补齐或废弃说明 |
|
|
110
|
-
|
|
111
|
-
**验收**:主仓库在干净环境 `pip install` / `npm install` 后**无重依赖**即可运行大脑。
|
|
112
|
-
|
|
113
|
-
> **详规**:理论仓具体拆分清单、主仓切 `md_cg` 的逐行改动点、白箱知识库内迁的依赖阻断与搬迁映射,见 [docs/理论仓拆分与白箱知识库内迁_v0.1.md](
|
|
114
|
-
|
|
115
|
-
### Phase 3 — 数据迁移(最后做 · 不可逆)
|
|
116
|
-
|
|
117
|
-
| # | 任务 | 产出 |
|
|
118
|
-
|---|---|---|
|
|
119
|
-
| 3.1 | **先演练回退**:`mdcg.enabled: false` + 数据不迁移,确认旧通道可用 | 回退演练记录 |
|
|
120
|
-
| 3.2 | 再迁 `data/mdcg` | 迁移报告(幂等 + 备份) |
|
|
121
|
-
|
|
122
|
-
**验收**:迁移后节点数与原库一致(当前基准 **6340** 节点);数量不符即说明密级 / root / actor 未对齐,须回退重来。
|
|
123
|
-
|
|
124
|
-
### Phase 4 — 命名与文档统一
|
|
125
|
-
|
|
126
|
-
| # | 任务 | 产出 |
|
|
127
|
-
|---|---|---|
|
|
128
|
-
| 4.1 | 全库统一「灵 / 大脑 / 身体」表述 | 术语表 |
|
|
129
|
-
| 4.2 | 同步 README 与 `docs/`,清掉「aeis = 大脑」旧语义债 | 修订后的分层入口文档 |
|
|
130
|
-
|
|
131
|
-
**验收**:README 三层入口清晰,无「aeis = 大脑」歧义表述;命名与职责一致。
|
|
132
|
-
|
|
133
|
-
---
|
|
134
|
-
|
|
135
|
-
## 4. 贯穿全程的三条铁律
|
|
136
|
-
|
|
137
|
-
1. **先定职责、再定归属**——库名是历史沉积,不是功能声明。不得因为「名字里有 aeis」就归给理论方。
|
|
138
|
-
2. **接口冻结早于代码搬迁**——否则拆的是目录,不是耦合;耦合仍在,只是换了个地方报错。
|
|
139
|
-
3. **数据最后动且可回退**——`data/mdcg` 挪错是**静默失效**(写入只打 warn),6340 节点无法从代码重建。
|
|
140
|
-
|
|
141
|
-
---
|
|
142
|
-
|
|
143
|
-
## 5. 风险与回退
|
|
144
|
-
|
|
145
|
-
| 风险 | 触发条件 | 回退动作 |
|
|
146
|
-
|---|---|---|
|
|
147
|
-
| 记忆真源错位 | `mdcg.root` 落到错误目录,写入静默告警 | 恢复 `data/mdcg` 原位 + `mdcg.enabled: false` |
|
|
148
|
-
| 写入冻结期间数据丢失 | Phase 0 冻结但未建备份 | 冻结前先做全量备份(必须前置) |
|
|
149
|
-
| 契约冻结不彻底 | 身体侧仍直接读大脑文件 | 强制走契约能力名,禁止跨层直连 |
|
|
150
|
-
| 真源判断错误 | Phase 0 diff 结论有误 | 保留 diff 快照,可重判并回滚剥离 |
|
|
151
|
-
|
|
152
|
-
**迁移不可逆点**:Phase 3.2。进入前必须完成 Phase 3.1 回退演练。
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## 6. 明确不做(边界声明)
|
|
157
|
-
|
|
158
|
-
- 本文**不授权**任何文件实际搬迁 / 删除。
|
|
159
|
-
- 本文**不改变**任何运行时配置、不修改 `cordis.patch.yml`、不动 `data/mdcg` 内容。
|
|
160
|
-
- 本文**不替代** Phase 0 的裁决结论——若裁决结果与本规划假设冲突,以裁决为准并回改本文。
|
|
161
|
-
|
|
162
|
-
---
|
|
163
|
-
|
|
164
|
-
## 7. 下一步(三个裁决性动作)
|
|
165
|
-
|
|
166
|
-
1. `diff -rq` 定 `aeis` 真源;
|
|
167
|
-
2. 一句话写死「身体」定义;
|
|
168
|
-
3. 冻结 `data/mdcg` 写入(含前置备份)。
|
|
169
|
-
|
|
170
|
-
> 这三件做完,搬迁清单会自动收敛;在此之前动手,等于在大脑里留一个没有海马体的身体。
|
|
171
|
-
|
|
172
|
-
---
|
|
173
|
-
|
|
174
|
-
## 附:术语对照
|
|
175
|
-
|
|
176
|
-
| 本文用语 | 对应现状命名 | 说明 |
|
|
177
|
-
|---|---|---|
|
|
178
|
-
| 灵 / 理论 | 智能论 v3.4、CTP、CommonTrustProtocol | 协议与认识论 |
|
|
179
|
-
| 大脑 / brain | `md_cg`、`dsh-memory`、`@furongjun1999/dsh-memory` | 认知图 + MCP 接口 + 记忆数据 |
|
|
180
|
-
| 身体 / body | AEIS(独立仓)、`docker/`、`scripts/`、`src` 之外的宿主层 | 传感器 / 执行器 / 宿主运行时 |
|
|
181
|
-
| 真源 | single source of truth | 同一内容只允许一处为准 |
|
|
1
|
+
# 灵枢三层拆分规划 v0.1
|
|
2
|
+
|
|
3
|
+
> 状态:规划稿(未执行任何文件搬迁)
|
|
4
|
+
> 日期:2026-09-10
|
|
5
|
+
> 范围:理论(灵)/ 大脑(brain)/ 身体(body)三仓职责分离与主仓库瘦身
|
|
6
|
+
> 性质:**本文只定义职责与顺序,不构成搬迁授权**;所有搬迁动作须先通过 Phase 0 裁决。
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 0. 背景与结论
|
|
11
|
+
|
|
12
|
+
### 0.1 现状问题
|
|
13
|
+
|
|
14
|
+
| 问题 | 表现 |
|
|
15
|
+
|---|---|
|
|
16
|
+
| 主仓库职责混杂 | `dsh-memory` 同时承载「记忆大脑」与「工程/身体运行时」(`docker/`、`scripts/` 看门狗、宿主启动脚本),二者依赖量级完全不同 |
|
|
17
|
+
| 同名不同物 | 历史命名中「AEIS」既指理论方(CTP)自带的工程副本,又指 `dsh-memory` 的 Python 大脑包,导致「aeis = 大脑」的旧语义债 |
|
|
18
|
+
| 跨库同步困难 | 同一份工程内容在多库各存一份,改动需人工同步,真源不清 |
|
|
19
|
+
| 断链 | `AEIS/tools/*` 指向 `dsh-memory\llm-adapter-poc`,该路径当前不存在(待 Phase 0 核实) |
|
|
20
|
+
| 交付面过宽 | 完整灵枢 = 理论 + 大脑 + 身体,体量巨大;理论难懂、身体重依赖,二者都阻碍了「大多数人只需大脑」这一主路径 |
|
|
21
|
+
|
|
22
|
+
### 0.2 结论(本次收敛)
|
|
23
|
+
|
|
24
|
+
**主仓库不再放工程内容的完整实现,只放「大脑」。**
|
|
25
|
+
|
|
26
|
+
- 完整灵枢 = **灵** + **脑** + **身**;但对外**默认只交付大脑**。
|
|
27
|
+
- 理论(灵)与身体(身)作为大脑的**可选下层 / 上层**,通过 README 分层入口引导,而非塞进主仓库。
|
|
28
|
+
- 分离的直接收益:消除跨库重复实现,真源唯一,降低同步成本。
|
|
29
|
+
- 面向人群:理论 → 研究者;身体 → 少数需具身者;**大脑 → 大多数人(默认入口)**。
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 1. 三层定位
|
|
34
|
+
|
|
35
|
+
| 仓 | 角色 | 内容边界 | 默认读者 | 依赖量级 |
|
|
36
|
+
|---|---|---|---|---|
|
|
37
|
+
| CTP / CommonTrustProtocol | **理论(灵)** | 协议、认识论、信任账本;**不含工程实现**(待剥离自带 `aeis/` 工程副本) | 研究者 | 无(纯文档/协议) |
|
|
38
|
+
| **dsh-memory(主仓库)** | **大脑** | `md_cg` 认知图内核 + MCP/npm 接口 + 记忆数据;**纯逻辑、零重依赖** | **大多数人(默认入口)** | 轻(标准库 + 轻量 npm) |
|
|
39
|
+
| AEIS / body | **身体** | 传感器、语音、执行器、docker 运行环境、模型权重、宿主看门狗 | 少数需具身者 | 重(设备/模型/容器) |
|
|
40
|
+
|
|
41
|
+
**一句话各自定位**
|
|
42
|
+
|
|
43
|
+
- 灵:定义「什么样的智能值得被信任」——协议与公理,不落代码。
|
|
44
|
+
- 脑:定义「记住什么、如何召回、如何自演化」——可在任意宿主上单独运行。
|
|
45
|
+
- 身:定义「如何感知与作用于世界」——可选,且可替换。
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 2. 主仓库(大脑)取舍清单
|
|
50
|
+
|
|
51
|
+
### 2.1 保留(= 大脑本体)
|
|
52
|
+
|
|
53
|
+
| 路径 | 内容 | 理由 |
|
|
54
|
+
|---|---|---|
|
|
55
|
+
| `md_cg/` | 认知图内核(98 py:consolidate / refine / pooling / provenance / whitebox / MCP server…) | 大脑核心,纯 Python |
|
|
56
|
+
| `src/` | MCP / npm 插件接口(8 ts) | 大脑对外唯一入口 |
|
|
57
|
+
| `test/` | 集成测试 | 大脑正确性保障 |
|
|
58
|
+
| `data/` | 记忆数据(**归位须待 Phase 3**) | 大脑资产,非工程副产物 |
|
|
59
|
+
| `package.json` / `tsconfig.json` | 构建定义 | 轻依赖 |
|
|
60
|
+
| `README.md` / `docs/` | 分层入口文档 | 需重写为三层入口(Phase 4) |
|
|
61
|
+
|
|
62
|
+
### 2.2 移出或降级(= 身体 / 工程)
|
|
63
|
+
|
|
64
|
+
| 路径 | 处置 | 去向 |
|
|
65
|
+
|---|---|---|
|
|
66
|
+
| `docker/` | 移出 | 身体仓(运行环境) |
|
|
67
|
+
| `dsh-web-start.bat` | 移出 | 身体仓(宿主启动) |
|
|
68
|
+
| `scripts/`(看门狗 ps1 / vbs) | 移出 | 身体仓(宿主守护) |
|
|
69
|
+
| 语音 / 模型权重 / 设备相关资源 | 移出 | 身体仓 |
|
|
70
|
+
|
|
71
|
+
### 2.3 断链修复(Phase 2 处理)
|
|
72
|
+
|
|
73
|
+
- `AEIS/tools/*` → `dsh-memory\llm-adapter-poc`(当前缺失)。
|
|
74
|
+
- 二选一:**补齐**该路径,或**声明废弃**并从文档/代码中移除引用。
|
|
75
|
+
- 原则:不允许存在「文档指向不存在路径」的悬空引用。
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## 3. 分期任务规划
|
|
80
|
+
|
|
81
|
+
> 顺序不可交换:**先裁决 → 再冻接口 → 再搬代码 → 最后动数据**。
|
|
82
|
+
> 每一期均有独立验收,未通过不得进入下一期。
|
|
83
|
+
|
|
84
|
+
### Phase 0 — 裁决(不搬任何文件)
|
|
85
|
+
|
|
86
|
+
| # | 任务 | 产出 |
|
|
87
|
+
|---|---|---|
|
|
88
|
+
| 0.1 | `diff -rq` 定 `aeis` 唯一真源(CTP 侧 vs 独立仓侧) | 真源结论 + diff 快照存档 |
|
|
89
|
+
| 0.2 | 一句话写死「身体」操作定义:设备端口 / 世界载体 / 宿主客户端(三择一) | 定义条目(可导出为边界表) |
|
|
90
|
+
| 0.3 | 将 `data/mdcg` 声明为大脑资产,并**冻结写入** | 冻结记录 + 恢复步骤 |
|
|
91
|
+
|
|
92
|
+
**验收**:真源唯一;身体定义可一句话导出;`data/mdcg` 冻结生效且可恢复。
|
|
93
|
+
|
|
94
|
+
### Phase 1 — 接口先行(仍不搬文件)
|
|
95
|
+
|
|
96
|
+
| # | 任务 | 产出 |
|
|
97
|
+
|---|---|---|
|
|
98
|
+
| 1.1 | 冻结 brain↔body 契约:只暴露**能力名**,不暴露执行细节 | 契约表(能力名 + 入参/出参语义) |
|
|
99
|
+
| 1.2 | 跑通两条链路各一次:身体取知识(`cg(op=whitebox)`)、大脑写记忆(`mdcg_remember`) | 双向链路验证记录 |
|
|
100
|
+
|
|
101
|
+
**验收**:契约冻结且带版本号;两条链路各绿一次。
|
|
102
|
+
|
|
103
|
+
### Phase 2 — 代码剥离
|
|
104
|
+
|
|
105
|
+
| # | 任务 | 产出 |
|
|
106
|
+
|---|---|---|
|
|
107
|
+
| 2.1 | 主仓库移除重依赖目录(见 §2.2) | 瘦身后的主仓库 |
|
|
108
|
+
| 2.2 | CTP 侧剥离自带 `aeis/` 工程副本(或反向声明 CTP 为发布源) | 剥离/声明记录 |
|
|
109
|
+
| 2.3 | 修复 `AEIS/tools/*` 断链 | 补齐或废弃说明 |
|
|
110
|
+
|
|
111
|
+
**验收**:主仓库在干净环境 `pip install` / `npm install` 后**无重依赖**即可运行大脑。
|
|
112
|
+
|
|
113
|
+
> **详规**:理论仓具体拆分清单、主仓切 `md_cg` 的逐行改动点、白箱知识库内迁的依赖阻断与搬迁映射,见 [docs/theory/理论仓拆分与白箱知识库内迁_v0.1.md](../theory/理论仓拆分与白箱知识库内迁_v0.1.md)。
|
|
114
|
+
|
|
115
|
+
### Phase 3 — 数据迁移(最后做 · 不可逆)
|
|
116
|
+
|
|
117
|
+
| # | 任务 | 产出 |
|
|
118
|
+
|---|---|---|
|
|
119
|
+
| 3.1 | **先演练回退**:`mdcg.enabled: false` + 数据不迁移,确认旧通道可用 | 回退演练记录 |
|
|
120
|
+
| 3.2 | 再迁 `data/mdcg` | 迁移报告(幂等 + 备份) |
|
|
121
|
+
|
|
122
|
+
**验收**:迁移后节点数与原库一致(当前基准 **6340** 节点);数量不符即说明密级 / root / actor 未对齐,须回退重来。
|
|
123
|
+
|
|
124
|
+
### Phase 4 — 命名与文档统一
|
|
125
|
+
|
|
126
|
+
| # | 任务 | 产出 |
|
|
127
|
+
|---|---|---|
|
|
128
|
+
| 4.1 | 全库统一「灵 / 大脑 / 身体」表述 | 术语表 |
|
|
129
|
+
| 4.2 | 同步 README 与 `docs/`,清掉「aeis = 大脑」旧语义债 | 修订后的分层入口文档 |
|
|
130
|
+
|
|
131
|
+
**验收**:README 三层入口清晰,无「aeis = 大脑」歧义表述;命名与职责一致。
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## 4. 贯穿全程的三条铁律
|
|
136
|
+
|
|
137
|
+
1. **先定职责、再定归属**——库名是历史沉积,不是功能声明。不得因为「名字里有 aeis」就归给理论方。
|
|
138
|
+
2. **接口冻结早于代码搬迁**——否则拆的是目录,不是耦合;耦合仍在,只是换了个地方报错。
|
|
139
|
+
3. **数据最后动且可回退**——`data/mdcg` 挪错是**静默失效**(写入只打 warn),6340 节点无法从代码重建。
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## 5. 风险与回退
|
|
144
|
+
|
|
145
|
+
| 风险 | 触发条件 | 回退动作 |
|
|
146
|
+
|---|---|---|
|
|
147
|
+
| 记忆真源错位 | `mdcg.root` 落到错误目录,写入静默告警 | 恢复 `data/mdcg` 原位 + `mdcg.enabled: false` |
|
|
148
|
+
| 写入冻结期间数据丢失 | Phase 0 冻结但未建备份 | 冻结前先做全量备份(必须前置) |
|
|
149
|
+
| 契约冻结不彻底 | 身体侧仍直接读大脑文件 | 强制走契约能力名,禁止跨层直连 |
|
|
150
|
+
| 真源判断错误 | Phase 0 diff 结论有误 | 保留 diff 快照,可重判并回滚剥离 |
|
|
151
|
+
|
|
152
|
+
**迁移不可逆点**:Phase 3.2。进入前必须完成 Phase 3.1 回退演练。
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## 6. 明确不做(边界声明)
|
|
157
|
+
|
|
158
|
+
- 本文**不授权**任何文件实际搬迁 / 删除。
|
|
159
|
+
- 本文**不改变**任何运行时配置、不修改 `cordis.patch.yml`、不动 `data/mdcg` 内容。
|
|
160
|
+
- 本文**不替代** Phase 0 的裁决结论——若裁决结果与本规划假设冲突,以裁决为准并回改本文。
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 7. 下一步(三个裁决性动作)
|
|
165
|
+
|
|
166
|
+
1. `diff -rq` 定 `aeis` 真源;
|
|
167
|
+
2. 一句话写死「身体」定义;
|
|
168
|
+
3. 冻结 `data/mdcg` 写入(含前置备份)。
|
|
169
|
+
|
|
170
|
+
> 这三件做完,搬迁清单会自动收敛;在此之前动手,等于在大脑里留一个没有海马体的身体。
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## 附:术语对照
|
|
175
|
+
|
|
176
|
+
| 本文用语 | 对应现状命名 | 说明 |
|
|
177
|
+
|---|---|---|
|
|
178
|
+
| 灵 / 理论 | 智能论 v3.4、CTP、CommonTrustProtocol | 协议与认识论 |
|
|
179
|
+
| 大脑 / brain | `md_cg`、`dsh-memory`、`@furongjun1999/dsh-memory` | 认知图 + MCP 接口 + 记忆数据 |
|
|
180
|
+
| 身体 / body | AEIS(独立仓)、`docker/`、`scripts/`、`src` 之外的宿主层 | 传感器 / 执行器 / 宿主运行时 |
|
|
181
|
+
| 真源 | single source of truth | 同一内容只允许一处为准 |
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# 灵枢记忆动词协议 v1.0(draft)
|
|
2
|
+
|
|
3
|
+
> **本文档是投影,不是真源。** 真源 = `md_cg/protocol.py`(`VERBS` / `VERB_SPECS` /
|
|
4
|
+
> `WRITE_TRIO` / `OP_DERIVE` / `DERIVE_EXTRA_KEYS` / `VERDICT_FIELDS`)。
|
|
5
|
+
> 文档与 `md_cg/conformance.py` 的断言**均从真源取值**;改形状只改真源,本文档随之同步。
|
|
6
|
+
> 手写行号会腐化(本仓已有实证),故本文档只写**符号名**不写行号。
|
|
7
|
+
|
|
8
|
+
**版本**:v1 · **状态**:draft(`protocol.FROZEN = False`)
|
|
9
|
+
|
|
10
|
+
## 1 目的与范围
|
|
11
|
+
|
|
12
|
+
把 MCP 记忆工具面的**动词与 I/O 形状**冻结成可裁决的声明,使三端(本仓 MCP 客户端 /
|
|
13
|
+
DSH 内建基元 / 第三方客户端)**各自实现客户端而不必读源码**。
|
|
14
|
+
|
|
15
|
+
- **动词范围(先行收窄)**:`route` / `read` / `write` / `supersede` / `forget`。
|
|
16
|
+
- **协议面 ≠ MCP 面全量**:`_cg_dispatch` 现有 35 个 op 分支,其中 30 个
|
|
17
|
+
(`ccg` / `review` / `protect` / `verify` / `whitebox` …)属**扩展能力面**——
|
|
18
|
+
它们是能力,不是协议违例。把协议覆盖范围当成 MCP 面全量,会让协议每加一个 op
|
|
19
|
+
就永久红灯;故反向对账降级为 `extension_ops` 报告项(清单可见、**不 FAIL**)。
|
|
20
|
+
扩展面的文档一致性由 README 认知图 + `docs/mdcg/功能调用映射表` 的 cogmap 门禁承担。
|
|
21
|
+
- **非目标**:本文档不定义 HTTP / 传输层;不定义扩展 op 的形状(只登记其存在)。
|
|
22
|
+
|
|
23
|
+
## 2 三条铁律
|
|
24
|
+
|
|
25
|
+
| # | 铁律 | 判据 |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| 1 | **不冒充** | 未实现的动词登记 `status="reserved"` 并给出 `map_to` 现状映射证据;live 的形状取**代码实测**,不取设想 |
|
|
28
|
+
| 2 | **write 三键铁律** | `write` **任一形态**必含 `ok` / `id` / `committed` 三键——客户端据此判定「是否落盘」,不靠猜 |
|
|
29
|
+
| 3 | **fail-closed 取形状** | 未声明动词 / 未声明形态直接抛 `KeyError`,不返回空壳(`protocol.shape_of`) |
|
|
30
|
+
|
|
31
|
+
`ok` 与 `committed` **分离**是本协议对客户端最有价值的一条:它表达
|
|
32
|
+
「**闸门行为 ≠ 工具故障**」——`ok=True, committed=False` 是校验闸门正常短路
|
|
33
|
+
(REJECT / DEFER / 冲突),**重试同样结果**,客户端不应重试而应读 `hint`。
|
|
34
|
+
|
|
35
|
+
## 3 动词总览
|
|
36
|
+
|
|
37
|
+
| 动词 | status | 变更性 | 必需入参(任一满足) | 形态数 | 语义 |
|
|
38
|
+
|---|---|---|---|---|---|
|
|
39
|
+
| `route` | live | 否 | `intent` \| `query` | 1 | 只给知识与建议能力名,不执行 |
|
|
40
|
+
| `read` | live | 否 | `node_id` \| (`query` \| `intent`) \| `budget_tokens` | 4(含 null) | 读三分态:单节点 / 结果列表 / token 预算包 |
|
|
41
|
+
| `write` | live | 是 | `content` | 4 | 落盘或闸门短路;未 committed 必给去向 |
|
|
42
|
+
| `supersede` | **reserved** | 是 | `node_id` \| `superseded_by` | 1(planned) | 以新节点取代旧节点(**未实现**,见 §5) |
|
|
43
|
+
| `forget` | live | 是 | `node_id` | 3 | 软删(移 trash + 删除清单 + 摘索引)与恢复 |
|
|
44
|
+
|
|
45
|
+
## 4 形状声明(required 必在,optional 可缺)
|
|
46
|
+
|
|
47
|
+
### 4.1 `route`
|
|
48
|
+
|
|
49
|
+
| 形态 | when | required | optional |
|
|
50
|
+
|---|---|---|---|
|
|
51
|
+
| `default` | 恒 | `knowledge`, `meta` | `suggested_capabilities`, `note` |
|
|
52
|
+
|
|
53
|
+
### 4.2 `read`(三分态 + null)
|
|
54
|
+
|
|
55
|
+
| 形态 | when | required | optional |
|
|
56
|
+
|---|---|---|---|
|
|
57
|
+
| `node` | `node_id` 非空且目标存在且可见 | `id`, `path`, `frontmatter`, `content`, `verification_state` | `truncated`, `content_lines`, `content_bytes`, `offset`, `next_offset`, `note` |
|
|
58
|
+
| `node_missing` | `node_id` 非空但目标不存在 / 不可见 / 已软删 | **(返回 `null`)** | — |
|
|
59
|
+
| `list` | `budget_tokens` 为空 | `meta`, `results` | — |
|
|
60
|
+
| `pack` | `budget_tokens` 非空 | `pack`, `tokens_used`, `budget`, `skipped`, `recent`, `meta` | — |
|
|
61
|
+
|
|
62
|
+
> **`read` 目标缺失返回 `null`(实测),不是错误对象。** 客户端必须先判空再解析:
|
|
63
|
+
> 把 `null` 当异常会误报,把 `null` 当空内容会静默吞未知。这是本协议里唯一
|
|
64
|
+
> 以 `returns_null` 登记的形态。
|
|
65
|
+
|
|
66
|
+
### 4.3 `write`(四形态)
|
|
67
|
+
|
|
68
|
+
| 形态 | when | required | optional |
|
|
69
|
+
|---|---|---|---|
|
|
70
|
+
| `committed` | 链尾执行器落盘 | `ok`, `id`, `committed` | `verdict`, `consistency`, `propagation` |
|
|
71
|
+
| `gate_short_circuit` | 任一 before 闸门短路(审核 REJECT / DEFER / 冲突) | 三键 + `moved_to`, `verdict`, `hint` | `pid`, `dedup`, `dup_of`, `dup_status`, `consistency` |
|
|
72
|
+
| `gate_hard_reject` | 契约缺失硬拒(依赖声明闸 E050/E051) | 三键 + `gate`, `error`, `hint` | `missing`, `verdict` |
|
|
73
|
+
| `gate_gated` | 主动遗忘闸(`gated=true`) | 三键 + `gate`, `verdict` | `consistency`, `moved_to`, `propagation` |
|
|
74
|
+
|
|
75
|
+
`hint` 的语义固定为:**闸门正常行为、不是工具故障、重试同样结果**(并给出下一步 op)。
|
|
76
|
+
|
|
77
|
+
### 4.4 `forget`
|
|
78
|
+
|
|
79
|
+
| 形态 | when | required | optional |
|
|
80
|
+
|---|---|---|---|
|
|
81
|
+
| `forgotten` | `action` 缺省或非 `restore` | `ok`, `id`, `tombstone` | — |
|
|
82
|
+
| `restored` | `action == 'restore'` | `ok`, `id`, `forced` | — |
|
|
83
|
+
| `failed` | 目标不存在 / 已 tombstone(未 force)/ trash 无文件 / OSError | `ok`, `error` | `reason`, `t`, `action`, `action_derived`, `hint_action` |
|
|
84
|
+
|
|
85
|
+
### 4.5 `supersede`(reserved,未实现)
|
|
86
|
+
|
|
87
|
+
| 形态 | when | required | optional |
|
|
88
|
+
|---|---|---|---|
|
|
89
|
+
| `planned` | (预留位,尚未实现) | `ok`, `id`, `superseded_by` | `supersedes`, `propagation`, `verdict` |
|
|
90
|
+
|
|
91
|
+
## 5 `supersede` 为何 reserved 而非 live
|
|
92
|
+
|
|
93
|
+
**现状映射证据(`map_to`,即「现在实际怎么做」)**:
|
|
94
|
+
|
|
95
|
+
| 现有锚 | 说明 |
|
|
96
|
+
|---|---|
|
|
97
|
+
| `write` | 新节点写入本身走 `write`(五动词不重复造写入通道) |
|
|
98
|
+
| `review` / `verify` | 现有撤回体系由校验(`verify` 验伪)与审核(`review` 的 delete/merge)承担,无独立取代动词 |
|
|
99
|
+
| `nodefile.believed_at` | 取代语义的锚字段已就位(写侧注释),缺的是动词入口与检索面过滤 |
|
|
100
|
+
|
|
101
|
+
**不实现的原因**:取代会改变**默认检索面**(被取代节点是否可见),属行为变更,
|
|
102
|
+
须先冻结协议再落实现——否则三端各自发明可见性口径,协议形同虚设。
|
|
103
|
+
|
|
104
|
+
## 6 op 推导兜底(客户端须知)
|
|
105
|
+
|
|
106
|
+
`op` 漏传时 wrapper 按入参签名推导(2026-09-13 防呆落地):
|
|
107
|
+
|
|
108
|
+
| 入参签名 | 推导 op |
|
|
109
|
+
|---|---|
|
|
110
|
+
| `content` | `write` |
|
|
111
|
+
| `query` | `read` |
|
|
112
|
+
| `node_id` | `read` |
|
|
113
|
+
| `intent` | `route` |
|
|
114
|
+
| (无签名) | `read` |
|
|
115
|
+
|
|
116
|
+
推导发生时返回体**追加透出** `op` / `op_derived` / `hint`(`DERIVE_EXTRA_KEYS`)——
|
|
117
|
+
语义是「本次 op 是猜的」,客户端据此可要求调用方补显式 op。这是 **additive** 行为,
|
|
118
|
+
不破坏各形态的 required 子集判定。
|
|
119
|
+
|
|
120
|
+
> 协议侧只作**文档化声明**,不对推导做强静态对账:推导实现散落在 wrapper 分支里,
|
|
121
|
+
> 强做正则对账会误报——**宁可少断言,不可假绿灯**。
|
|
122
|
+
|
|
123
|
+
## 7 `verdict` 字段集
|
|
124
|
+
|
|
125
|
+
写路径闸门短路时随返回透出(`VERDICT_FIELDS`):
|
|
126
|
+
|
|
127
|
+
`state` · `kind` · `basis` · `evidence` · `detail`
|
|
128
|
+
|
|
129
|
+
其中 `state ∈ {ACCEPT, REJECT, DEFER, BLINDSPOT}`(四态资格裁决)。
|
|
130
|
+
客户端应据 `state` 决定「可用 / 待补 / 不可用」,而不是据 HTTP 式成败。
|
|
131
|
+
|
|
132
|
+
## 8 静态对账与门禁
|
|
133
|
+
|
|
134
|
+
`conformance.check()` **恒追加**四条断言(`protocol.*`):
|
|
135
|
+
|
|
136
|
+
| check id | 级别 | 判据 |
|
|
137
|
+
|---|---|---|
|
|
138
|
+
| `protocol.op.extension_surface` | WARN | 报告协议冻结面与扩展面规模(能力不是违例) |
|
|
139
|
+
| `protocol.verb.implemented` | FAIL | 声明为 live 的动词在 MCP 面均有实现分支(**说了没做**) |
|
|
140
|
+
| `protocol.verb.reserved_clean` | FAIL | reserved 动词未出现实现分支(**预留位被静默实现**) |
|
|
141
|
+
| `protocol.shape.declared` | FAIL | 每动词至少一形态、每形态有 `when`、reserved 有 `map_to`、live 有 `impl` |
|
|
142
|
+
|
|
143
|
+
op 分支提取用 **AST** 而非正则(`protocol._ops_from_source`):正则对单引号 /
|
|
144
|
+
换行 / `op.strip().lower()` 形态会**静默漏提**,而漏提在本协议里等于假绿灯
|
|
145
|
+
(cogmap 已有同类教训:单引号写法静默漏报窗口)。AST 结构性识别不依赖写法。
|
|
146
|
+
|
|
147
|
+
**命令**:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
python -m md_cg.protocol # 打印静态对账结论(只读,零写入)
|
|
151
|
+
python -m md_cg.test_protocol # 形状钉死测试(41 断言:静态 17 + 真调 16 + 集成 8)
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## 9 边界与不适用条件
|
|
155
|
+
|
|
156
|
+
**生效条件**:三端需要按同一形状实现记忆客户端时;改动五动词任一的返回形状时;
|
|
157
|
+
新增/变更 MCP 面 op 分支时(须复核是否触碰协议面)。
|
|
158
|
+
|
|
159
|
+
**不适用条件**:
|
|
160
|
+
|
|
161
|
+
- 扩展能力面(30 个 op)的形状——本协议不定义,由各自模块文档与 cogmap 门禁承担。
|
|
162
|
+
- 传输 / 序列化 / 鉴权——属宿主层,不在协议面。
|
|
163
|
+
- 未冻结前(draft 期)**形状可破坏性调整**;冻结是单向门,须三端实测收敛后
|
|
164
|
+
由使用者拍板(工作计划 §9 风险 3)。冻结后改形状须递增版本号(v1 → v2),
|
|
165
|
+
不得原地改 v1。
|
|
166
|
+
|
|
167
|
+
**已知边界(如实声明,不假装覆盖)**:
|
|
168
|
+
|
|
169
|
+
- `write.committed` 形态在**无 `MDCG_POLICY_FILE` 的环境不可达**(校验闸门恒 DEFER
|
|
170
|
+
入 `review_queue`),故 `test_protocol` 的 B 段按实际走的那一态校验形状;
|
|
171
|
+
`committed` 字段依据是 `writepipe` 链尾执行器的**源码事实**而非实测返回。
|
|
172
|
+
- 本协议只冻结**形状**(键集),不冻结**取值语义**(如 `pack` 内条目排序口径)。
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# 环二·白箱填充流水线 v0.1(测试阶段记录)
|
|
2
|
+
|
|
3
|
+
> 分工(使用者裁定 2026-09-17):**LLM 提供模板并做校验;白箱负责确定性填充**;先测试(自有文件)→ 再试点(10 符号)→ 后规模化。
|
|
4
|
+
|
|
5
|
+
## 一、流水线四段
|
|
6
|
+
|
|
7
|
+
| 段 | 产物 | 性质 | 位置 |
|
|
8
|
+
|---|---|---|---|
|
|
9
|
+
| ① 事实提取 | 逐符号 required/optional/externals/guards/returns/doc | **确定性**(ast) | `md_cg/cond_facts.py` |
|
|
10
|
+
| ② 模板 | 7 槽位 + 10 规则 + 12 条校验清单 | **LLM 单次产出**(job `h1789643186033_ba80bc`) | `md_cg/cond_template.json`(含 `_provenance`) |
|
|
11
|
+
| ③ 填充 | 中文功能级生效条件 | **确定性**(零 LLM) | `md_cg/cond_compose.py` |
|
|
12
|
+
| ④ 校验 | 逐条 PASS/REVISE/BLINDSPOT + 依据 | **LLM 单次复核**(job `h1789643407918_380037`) | 见本文件 §三 |
|
|
13
|
+
|
|
14
|
+
门禁:任一条生成文本须过 `md_cg/condition_anchor.judge`(`ANCHORED` 或 `BLINDSPOT`;`WEAK`/`REJECT_META` 不放行)。**锚点通过 ≠ 语义正确**,故必须有 ④。
|
|
15
|
+
|
|
16
|
+
## 二、测试结果(自有文件:`condition_anchor.py` + `cond_facts.py`)
|
|
17
|
+
|
|
18
|
+
- 事实提取 13 符号;白箱填充 13 条;确定性门禁 **13/13 ANCHORED**;0 BLINDSPOT。
|
|
19
|
+
- 样例:`调用 judge 时,必须提供实参 cond、src;可选 prefix=""、suffix="" 可省略;体内引用 META_MARKS、IDENT 需已定义;返回 out;功能:判定单条候选条件。…`
|
|
20
|
+
|
|
21
|
+
## 三、LLM 校验结果与两处归因
|
|
22
|
+
|
|
23
|
+
- 结论:**8 PASS / 5 REVISE / 0 BLINDSPOT**;5 条 REVISE 全部集中在同一处,另有 1 处真实缺陷。
|
|
24
|
+
- **受控偏离(非缺陷)**:校验清单 C6/C9 要求「guards 非空时必须把每个 guard 原文写入」,但 `guards` 含**函数内部分支**(如 `if hits:`、`if i == 0 and …`)——那是实现细节不是前置条件。填充器按 `early` 标记只保留「首条语句且含 return/raise」的早退式前置。修正口径:**模板/清单需增加 `early` 条件**(此处登记为模板 v0.2 待改项,改由 LLM 复核)。
|
|
25
|
+
- **真实缺陷(已修)**:`doc_head` 截断 60 字导致词被切半(`option` ≠ `referenced`),校验器 C9 以原文比对抓出。修正:超长按句读收口,不再截半个词。
|
|
26
|
+
|
|
27
|
+
## 四、下一步(原始计划)
|
|
28
|
+
|
|
29
|
+
1. 把 13 条写入自有源码(`# 生效条件:…` 置于定义前),过 `condition_anchor` + 全组回归,落候选分支交编外裁定。
|
|
30
|
+
2. 模板 v0.2:把 `early` 条件写入 C6/C9(LLM 复核);补 `md_cg/test_cond_facts.py`、`test_cond_compose.py` 断言。
|
|
31
|
+
3. 试点:把 `hive/interop/iter-008-ring2-pilot/proposals.json` 的 10 条(LLM 路线)与白箱路线对比,择优或互补。
|
package/docs/{ → mdcg/}/347/274/272/345/217/243/345/215/225_P0/346/224/266/345/217/243_v0.1.md
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 认知图 · P0 收口 证据单(G2 索引接线 + G3 能力标签)v0.1
|
|
2
2
|
|
|
3
|
-
> 来源:`docs/认知图_索引与工程规范化_计划_v0.1.md` 的 R4/R5 前置项 —— **G2(文档/代码索引接线)** 与
|
|
3
|
+
> 来源:`docs/mdcg/认知图_索引与工程规范化_计划_v0.1.md` 的 R4/R5 前置项 —— **G2(文档/代码索引接线)** 与
|
|
4
4
|
> **G3(能力标签注入)**;G1(生效条件口径接线到各前缀)已于上一批次闭合(`evo-20260910-152148-2b35`)。
|
|
5
5
|
> 目标工程:**dsh-memory / md_cg(认知图 + 记忆 OS)**
|
|
6
6
|
> 证据口径:源码级核对 + **真实库(`AEIS/data/mdcg`)复算** + 前后冻结基线对照(不采信估计值)
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
|---|---|---|
|
|
39
39
|
| **G2** 索引接线(md_cg / src / docs 三大域) | ✅ 执行 | 计划 §六 R4/R5 的前置「先有索引」 |
|
|
40
40
|
| **G3** 能力标签注入(`cap:<op>`) | ✅ 执行 | 计划 §四「索引节点缺能力归属」 |
|
|
41
|
-
| G1 生效条件口径接线到各前缀 | ⏸ 已闭合 | 上一批次,见 `docs/认知图_条件空间合成与生效条件口径_v0.1.md` |
|
|
41
|
+
| G1 生效条件口径接线到各前缀 | ⏸ 已闭合 | 上一批次,见 `docs/mdcg/认知图_条件空间合成与生效条件口径_v0.1.md` |
|
|
42
42
|
| G7 / G8 / G4 / G5 / G6 | ⬜ 不执行 | 登记待定(§八);G8 已裁定方案留作后续依据 |
|
|
43
43
|
|
|
44
44
|
**执行通道(必须记录的环境事实)**:常驻 MCP 服务进程启动于当日改造**之前**,其内存模块缺 `CONDITION_SLOTS` / `condition_space_text`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 认知图 · G4–G8 缺口裁定单(条件空间声明 + 四态裁决)v0.1
|
|
2
2
|
|
|
3
|
-
> 来源:`docs/缺口单_P0收口_v0.1.md` §八「DEFER 登记项」——**G4 层归属错位 / G5 视觉证据未落 / G6 node_ 结构提炼 /
|
|
3
|
+
> 来源:`docs/mdcg/缺口单_P0收口_v0.1.md` §八「DEFER 登记项」——**G4 层归属错位 / G5 视觉证据未落 / G6 node_ 结构提炼 /
|
|
4
4
|
> G7 自主演化无驱动 / G8 溯源链缺失**,外加缺口单 §6.1 的「索引节点应域级分池降权,而非吃 GLOBAL_CAP」。
|
|
5
5
|
> 目标工程:**dsh-memory / md_cg(认知图 + 记忆 OS)**
|
|
6
6
|
> 证据口径:源码级核对(行号可回溯)+ **真实库(`AEIS/data/mdcg`)只读复算** + 前后冻结基线对照(不采信估计值、不转述文档结论)
|
|
@@ -101,7 +101,7 @@ judge_qualification(mdcg.py:709-714)
|
|
|
101
101
|
"lineno":383,"end":462,"lang":"py","hash":"9f2c1ab3de44"}
|
|
102
102
|
|
|
103
103
|
// 文档节点
|
|
104
|
-
"doc_ref": {"path":"docs/认知图_MD目录方案_v0.1.md","heading":"9. 分阶段实施(稳健)",
|
|
104
|
+
"doc_ref": {"path":"docs/mdcg/认知图_MD目录方案_v0.1.md","heading":"9. 分阶段实施(稳健)",
|
|
105
105
|
"heading_path":["9. 分阶段实施(稳健)"],"level":2,
|
|
106
106
|
"lineno":491,"end":513,"anchor":"9-分阶段实施稳健","hash":"41ab77c0e1d9"}
|
|
107
107
|
```
|
|
@@ -161,7 +161,7 @@ judge_qualification(mdcg.py:709-714)
|
|
|
161
161
|
|---|---|---|---|
|
|
162
162
|
| **R0** | ✅ **已完成**(§十一 取证纪录):全量 28 用例基线取证 + 修 4 条缺陷(`corpus.reset_root` 全量 rmtree / 3 处编码) | 28/28 全绿;P0 25/25、P1 38/38、P11 27/27、P12 32/32 | ✅ |
|
|
163
163
|
| **R1** | ✅ **已完成**(§十二 取证纪录):`codeindex.render` 改产 CCG 6 行、`EXTRACTORS` 后缀注册化(AST 精确 / TS-JS 弱提取)、`op=ref` 回读 + 漂移检测、`truncated`/`skipped_suffixes` 显式上报;实测 §1.3-1(role 档位) | ✅ 代码节点判定 **ACCEPT**(不再 BLINDSPOT);`op=ref` 回读文本与源区间**逐字一致**、`hash_match` 检出漂移 | ✅ |
|
|
164
|
-
| **R2** | ✅ **已完成**(§十三 取证纪录):`docindex.py`(章节切块 + CCG 渲染 + `doc_ref`)+ `op=index_doc`;裁 §1.3-3(层/密级) | ✅ `docs/` 全部 md(实测 **19/19**,非静默跳过)切块可定位;`docs/认知图_MD目录方案_v0.1.md` 的 §9 表被判 **ACCEPT** 且给出行号 `L491-L516` | ✅ |
|
|
164
|
+
| **R2** | ✅ **已完成**(§十三 取证纪录):`docindex.py`(章节切块 + CCG 渲染 + `doc_ref`)+ `op=index_doc`;裁 §1.3-3(层/密级) | ✅ `docs/` 全部 md(实测 **19/19**,非静默跳过)切块可定位;`docs/mdcg/认知图_MD目录方案_v0.1.md` 的 §9 表被判 **ACCEPT** 且给出行号 `L491-L516` | ✅ |
|
|
165
165
|
| **R3** | ✅ **已完成**(§十四 取证纪录):`_refindex.json` 增量(抄 `sources.Ingestor` 范式)+ `check_refs` 漂移巡检 + `truncated` 显式上报 + 接入 `sustain.diagnose` | ✅ 改源文件一行 → `ref check` 报 stale(重建后消除);删源 → dangling;`max_files` 触发时 `truncated=true` 且写进水位;`diagnose` 报 `ref_stale`、`heal` 的 `rebuild_refs` 修复 | ✅ |
|
|
166
166
|
| **R3.1** | ✅ **已完成**(§十五 取证纪录,2026-09-12):节点级对账——`prune_orphans`(改标题产生的过期代)+ `prune_dangling`(源已删的悬空节点),接入 `index_code`/`index_doc` 与 `op=ref action=prune` | ✅ P27 §10/§10b 全绿;真实现场悬空 **20 → 0**(`LIVE_HITS=0`/`TRASH_HITS=20`);受影响面 7 模块 6 绿 1 环境红 | ✅ |
|
|
167
167
|
| **R3.2** | ✅ **已完成**(§十五 取证纪录,2026-09-12):索引器**追加排除** `skip_dirs`(`index_code`/`index_doc`)——把 `.gitignore` 已忽略却物理留存的实验产物挡在门外,替代「调大 `max_files`」这一掩盖手段 | ✅ P27 **75/0** 全绿(§9 由 `500/2388` 红转 `30/30`);新增 §9b 验证匹配口径 / 只增不减 / 可审计;受影响面 10 模块全绿 | ✅ |
|
|
@@ -223,7 +223,7 @@ md_cg 侧再补 `timeout_ms` 与 `needs_clearance` 两个扩展字段。裁剪
|
|
|
223
223
|
3. **`hash` 不是内容寻址**:只做变更探测,不保证「内容相同即同节点」。
|
|
224
224
|
4. ~~R0 有一个待闭环疑点~~ → **已在 §十一 闭环**。「`test_p1` EXIT 1 且输出仅 165 字节」的根因与 `test_p0` 同一类:受管环境下 `os.remove` 被环境 shim 接管,
|
|
225
225
|
删除量越阈即中断进程;且失败形态是**静默截断 + 非零退出**,不是一条 FAIL。现已改为不清空目录(原子覆盖 + 等号守门),并全量复跑验证。
|
|
226
|
-
5. **当前工作区未提交**:`docs/认知图_MD目录方案_v0.1.md`、`bench_p0.py`、`census.py`、`test_p0.py`、`test_p1.py` 已改,`md_cg/corpus.py` 未跟踪——R0 应先收口提交,再动索引层。
|
|
226
|
+
5. **当前工作区未提交**:`docs/mdcg/认知图_MD目录方案_v0.1.md`、`bench_p0.py`、`census.py`、`test_p0.py`、`test_p1.py` 已改,`md_cg/corpus.py` 未跟踪——R0 应先收口提交,再动索引层。
|
|
227
227
|
|
|
228
228
|
---
|
|
229
229
|
|
|
@@ -253,7 +253,7 @@ md_cg 侧再补 `timeout_ms` 与 `needs_clearance` 两个扩展字段。裁剪
|
|
|
253
253
|
`_md_cg_p0` 实测 **0 文件**——说明第一个 `reset_root(ROOT)` 已清空+重建成功,死在第二个;
|
|
254
254
|
`_md_cg_p1` 实测 **350 文件**(< 500)故通过——**只差 150 就到阈值**,这正是历史上「P1 EXIT 1 / 165 字节」的同源形态。
|
|
255
255
|
|
|
256
|
-
**关键点:文档早已裁决过**。`docs/认知图_MD目录方案_v0.1.md:365-367` 原文:
|
|
256
|
+
**关键点:文档早已裁决过**。`docs/mdcg/认知图_MD目录方案_v0.1.md:365-367` 原文:
|
|
257
257
|
> 幂等性:迁移按 node id 原子覆盖写,可反复执行,**不需要先清空目录**。(这不只是便利:清空目录依赖 `rmtree`,
|
|
258
258
|
> 在有安全策略的环境下会被拦截,而"必须先删除才能重跑"的迁移脚本本身就是个脆弱设计。)
|
|
259
259
|
|