@furongjun1999/dsh-memory 0.7.3 → 0.7.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +631 -629
- package/codebuddy/CODEBUDDY.md +5 -5
- package/docs/discipline/templates/zcode-user.md.tmpl +4 -1
- package/docs/eval//345/217/221/345/270/20312_/344/270/226/347/225/214/346/250/241/345/236/213/345/212/237/350/203/275/347/253/257_v1.0.md +108 -0
- package/docs/eval//345/217/221/345/270/20313_/344/270/212/344/270/213/346/226/207/350/207/252/347/256/241/347/220/206/346/234/272/345/210/266_v1.0.md +114 -0
- package/docs/eval//350/257/255/344/271/211/346/227/266/347/251/272/345/233/276/350/241/245/345/205/250_P1_/346/212/275/345/217/226/345/231/250v4_/344/270/211/347/216/207/350/257/273/346/225/260_v1.0.md +231 -0
- package/docs/mdcg//344/270/226/347/225/214/346/250/241/345/236/213/345/212/237/350/203/275/347/253/257_/344/275/277/347/224/250/344/270/216/350/277/220/347/273/264_v1.0.md +305 -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 +45 -43
- package/docs/mdcg//347/235/241/347/234/240/345/221/250/346/234/237_/350/277/220/347/273/264/345/211/215/346/217/220/344/270/216/347/273/264/346/212/244/346/214/207/345/215/227_v1.0.md +80 -1
- package/docs/plans//347/201/265/346/236/242/350/272/253/344/275/223/303/227/350/204/221_/344/270/226/347/225/214/346/250/241/345/236/213/345/257/271/346/216/245/350/256/276/350/256/241_v0.1.md +76 -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 +461 -461
- package/docs//350/256/260/345/277/206/347/263/273/347/273/237/345/215/263/347/231/275/347/256/261/345/214/226/346/231/272/350/203/275_/346/236/266/346/236/204/345/257/271/347/205/247_v0.2.md +121 -0
- package/docs//350/256/260/345/277/206/347/263/273/347/273/237/345/215/263/347/231/275/347/256/261/345/214/226/346/231/272/350/203/275_/346/236/266/346/236/204/345/257/271/347/205/247_v0.3.md +117 -0
- package/lib/hooks.d.ts +34 -0
- package/lib/hooks.js +205 -18
- package/lib/index.js +22 -1
- package/lib/lib/mdcg_client.d.ts +37 -0
- package/lib/lib/mdcg_client.js +44 -0
- package/lib/lib/session_state.d.ts +56 -0
- package/lib/lib/session_state.js +124 -0
- package/lib/tools.js +12 -1
- package/md_cg/audit.py +7 -1
- package/md_cg/bench_governance.py +4 -1
- package/md_cg/bench_locomo_zh.py +12 -2
- package/md_cg/bench_zh_mad.py +12 -2
- package/md_cg/interop.py +25 -9
- package/md_cg/lifecycle.py +38 -0
- package/md_cg/mcp_server.py +64 -11
- package/md_cg/mdcos.py +78 -9
- package/md_cg/sleep.py +223 -103
- package/md_cg/state_slots.py +221 -0
- package/md_cg/stg.py +68 -3
- package/md_cg/sustain.py +150 -4
- package/md_cg/test_lifecycle_retire_leak.py +408 -0
- package/md_cg/test_read_face_semantics.py +6 -3
- package/md_cg/test_state_event_op.py +514 -0
- package/md_cg/test_state_slots.py +691 -0
- package/md_cg/test_sustain_bounded.py +624 -0
- package/md_cg/tokens.py +8 -1
- package/md_cg/units.py +4 -1
- package/package.json +1 -1
- package/skills/plugin.json +1 -1
- package/src/hooks.ts +217 -17
- package/src/index.ts +22 -1
- package/src/lib/mdcg_client.ts +48 -0
- package/src/lib/session_state.ts +127 -0
- package/src/tools.ts +12 -1
- package/zcode/AGENTS.md +5 -5
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# 灵枢「身体 × 脑」世界模型对接设计 v0.1
|
|
2
|
+
|
|
3
|
+
> 任务来源:使用者 2026-10-06「0.8.0 版本工作就是和之前的身体核心组合。让世界模型真正端到端可用。」
|
|
4
|
+
> 三步流程:**测试验证成功 → 脱敏 → 全部公开**(本稿完成第一步并出读数)。
|
|
5
|
+
> 状态:v0.1 未签收;本稿**不改一行码**(smoke 件为已验收验证工具,见 §一)。
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 一、测试验证读数(第一步已达成)
|
|
10
|
+
|
|
11
|
+
| 验证 | 内容 | 读数 |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| V1 身体包冒烟 | `lingshu` 包导入(python 3.12.10) | core 零依赖 ✓ · world(numpy 2.5.3)✓ · gen ✓ |
|
|
14
|
+
| V1b 既有连接 | `tools/coggraph/view_memory.py` 七步在当前库重跑 | rc=0、203s、**20135 节点**/5918 显式边/78685 推导边/4 会话链;只读真源、产物仓外 |
|
|
15
|
+
| V3 世界模型端到端 | 身体侧进程 → MCP stdio → 脑(v0.7.4) | 握手 ✓ → **写口 25/25 入账** → **查询 11 槽位**(含 2 退役、区间/变迁史全对);隔离库 |
|
|
16
|
+
| **固化件** | `scripts/body_e2e_smoke.py`(本仓) | 内置样本 3/3→2 槽位 ✓ · 真实事件 25/25→11 槽位 ✓(两遍 VERDICT=PASS,可复跑) |
|
|
17
|
+
|
|
18
|
+
## 二、对接面盘点(读码级)
|
|
19
|
+
|
|
20
|
+
### 2.1 身体侧(`lingshu/world` 24 件)关键面
|
|
21
|
+
|
|
22
|
+
- **`scene_model.py`=「语义时空图 ↔ 3D 场景绑定层」**——天然对接件:
|
|
23
|
+
- store 协议:`get_nodes_by_tag(tag, limit)`(读);节点带 `tags`(`spatial`+`cat:<类>`+`ent:<名>`)、`spatial_coordinates {x,y,z}`(米)、`state_attributes {"state": …}`;`ingest_scene` 写路径。
|
|
24
|
+
- `load_world_from_memory(store)`=世界重建("记忆即缓存:场景=记忆节点的实时投影")——**理念与脑侧「事件是源、槽位是投影」同构**。
|
|
25
|
+
- `semantic_anchor_graph.py`:3D 语义锚点图(节点=类别+坐标;边=关系;"事物是其关系的总和")。
|
|
26
|
+
- `seven_layer_loop.py`:感知→记忆→理解→预测→验证→物理→决策("记忆"层即对接位)。
|
|
27
|
+
- `spacetime_consistency / anchored_verification / anchor_verify`:时空一致性、锚定分级验证(多感知通道)。
|
|
28
|
+
|
|
29
|
+
### 2.2 脑侧(本仓)对应面
|
|
30
|
+
|
|
31
|
+
- `stg` 五 op(`timeline / anchors[2D bbox] / consistency / relation / state_chain`);
|
|
32
|
+
- `state_events` 台账 + `state_slots` 投影 + `cg(op=state_event)` 写口 + 两个《秤》探针;
|
|
33
|
+
- MCP 面(V3 smoke 已证跨进程全链)。
|
|
34
|
+
|
|
35
|
+
### 2.3 映射表与缺口
|
|
36
|
+
|
|
37
|
+
| 身体侧约定 | 脑侧对应 | 状态 |
|
|
38
|
+
|---|---|---|
|
|
39
|
+
| tags:`spatial` / `cat:` / `ent:` | 节点 tags(写侧可带) | 写 ✓;**读侧缺 tag 过滤维(缺口①)** |
|
|
40
|
+
| `spatial_coordinates {x,y,z}`(米) | `frontmatter.spatial.bbox`=2D 图像坐标四元组 | **缺口②:3D↔2D 方案待裁**(见 §四.2) |
|
|
41
|
+
| `state_attributes.state`(每实体状态) | **槽位寄存器**(subject=实体/slot=state/value)+状态事件台账 | **✓ 同构,直接对接**(世界模型的"状态追踪"=本版新地基:记账→台账→投影) |
|
|
42
|
+
| `ingest_scene` 写 | `cg(op=state_event)` / `mdcg_remember`(经 MCP,已证) | ✓ |
|
|
43
|
+
| `load_world_from_memory` 读 | 需"按 tag 读+坐标取回"的组合 | **缺口①③:标签过滤读;场景整体重建的组合接口** |
|
|
44
|
+
|
|
45
|
+
## 三、最小闭环(两条路线)
|
|
46
|
+
|
|
47
|
+
- **M1(读向·身体重建世界)**:给 `scene_model` 提供"**脑版 store**"(实现 `get_nodes_by_tag` /
|
|
48
|
+
`state_attributes` 等 → 经 MCP `cg` 读+台账投影取值)→ `load_world_from_memory` 零改动直接以脑为底。
|
|
49
|
+
- **M2(写向·身体观测入脑)**:`ingest_scene` 的写落到 `cg(op=state_event)`(状态变迁)+场景节点
|
|
50
|
+
(坐标入库)→ 由脑的投影/查询供任意端消费(**smoke 已证全链**)。
|
|
51
|
+
|
|
52
|
+
两条路线共用同一验证工具:`python -X utf8 scripts/body_e2e_smoke.py`(隔离库、零在役写入、退出码判据)。
|
|
53
|
+
|
|
54
|
+
## 四、待裁清单(请逐条裁决)
|
|
55
|
+
|
|
56
|
+
1. **适配器归属侧**:身体侧件(`lingshu/world/brain_store.py`,聚合仓工具面)vs 脑侧件(本仓)。
|
|
57
|
+
推荐:**身体侧适配器**——章程口径"脑为包依赖、身侧件进身仓",且 `scene_model` 零改动即插。
|
|
58
|
+
2. **3D 坐标方案**:推荐 **`spatial.coords3d` 自定义键直存米制+可选 bbox 投影**(不改既有
|
|
59
|
+
`spatial.bbox` 的 2D 语义、stg 四 op 零位移);不建议扩 bbox 为 3D(破坏既有语义)。
|
|
60
|
+
3. **tag 过滤读(缺口①)**:脑侧给 `read/search` 加 tag 维(小活,进脑)vs 适配器侧读后过滤
|
|
61
|
+
(零脑改、性能略差)。推荐:**先适配器侧**(探针验证后再决定是否进脑)。
|
|
62
|
+
4. **smoke 进门禁**:是否把 `scripts/body_e2e_smoke.py` 纳入发布链附加腿(与《秤》探针同列)。
|
|
63
|
+
|
|
64
|
+
## 五、边界
|
|
65
|
+
|
|
66
|
+
- 不改 `scene_model` 既有语义(适配层在 store 接口外侧);不动在役库(smoke 全隔离);
|
|
67
|
+
身体件入聚合仓走章程双清单与 `docs/intake/` 登记;脑侧改动一律走本仓批次纪律(守卫+变异+门禁)。
|
|
68
|
+
|
|
69
|
+
## 六、三步位置
|
|
70
|
+
|
|
71
|
+
**测试验证 ✓(§一)** → 脱敏(readiness 扫描已 CLEAN;正式步骤=组合件入库时过双清单并登记)→
|
|
72
|
+
全部公开(转公开时机属使用者操作;公开前终检清单可随时编制)。
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
*v0.1 · 2026-10-06 · 编排侧编制(读码:身体侧 scene_model/semantic_anchor_graph/seven_layer_loop 等;脑侧 stg/state_slots)*
|