diff --git a/.gitignore b/.gitignore index 517740b..c2d00e5 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,3 @@ docs/BME六大功能全景解析.xlsx ST-BME_backup_6f78abcb-9aea-45b1-a8ad-fbbd8e4075f0-cx4dad.json plans/mvu-extra-analysis-guard.md tests/.tmp-*/ -plans/deep-optimization-design.md diff --git a/README.md b/README.md index 998d890..8241613 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ ST-BME(Bionic Memory Ecology)是一个 **SillyTavern 第三方前端扩展** - [主要配置](#主要配置) - [记忆模型](#记忆模型) - [长聊天与历史安全](#长聊天与历史安全) -- [v3 重生计划与数据格式硬切](#v3-重生计划与数据格式硬切) +- [v3 重生核心与数据格式硬切](#v3-重生核心与数据格式硬切) - [常用操作速查](#常用操作速查) - [数据存储与同步](#数据存储与同步) - [排障指南](#排障指南) @@ -26,13 +26,13 @@ ST-BME(Bionic Memory Ecology)是一个 **SillyTavern 第三方前端扩展** --- -## v3 重生计划与数据格式硬切 +## v3 重生核心与数据格式硬切 -ST-BME 正在推进一次“克制版重生”:身份解析、持久化确认、GraphHead 数据模型和持久化路由外壳会被重建为更干净的 v3 核心;Luker、OPFS、IndexedDB、Authority、向量等仍在使用的适配能力会平移到新接口。 +ST-BME 的“克制版重生”已经落地第一批核心控制面:身份解析、持久化确认、GraphHead 数据模型、v3 命名空间、GraphStore 契约和 v3 适配器包装层都已拆为独立纯模块。默认热路径仍保持稳定,不会在未完成显式切换前突然改写用户现有存储。 -这次重生会采用 **v3 新命名空间 + 新数据格式硬切**: +v3 方向采用 **新命名空间 + 新数据格式硬切**: -- v3 运行时不会把旧 IndexedDB / OPFS / Luker sidecar / metadata-full / 旧 commit marker 当作热路径数据源; +- v3 热路径切换时不会把旧 IndexedDB / OPFS / Luker sidecar / metadata-full / 旧 commit marker 当作数据源; - 不会保留永久的“旧格式读取层”或 dark-read/dual-write 兼容层; - 如需保留旧图谱,请在切换前通过面板“导出图谱”或服务器备份功能先导出/备份; - 后续最多提供一次性导入/重置工具,旧数据导入后工具可移除; @@ -45,6 +45,15 @@ ST-BME 正在推进一次“克制版重生”:身份解析、持久化确认 npm run rebirth:inventory ``` +v3 相关核心模块: + +- `runtime/identity-resolver.js`:活动身份、图谱身份、排队身份和 marker 身份分离; +- `sync/persistence-reducer.js`:accepted / queued / pending 持久化状态机和事件 reducer; +- `graph/graph-head.js`:v3 GraphHead、ReplicaPointer 和 v3 commit marker; +- `graph/graph-v3-namespace.js`:v3 metadata、chat-state、IndexedDB、OPFS、Authority 命名空间; +- `sync/graph-store-contract.js`:GraphStore 契约和纯路由计划器; +- `sync/graph-store-v3-adapter.js`:DB-like store 与 Luker chat-state 的 v3 head / marker 适配包装层。 + --- ## 核心能力 @@ -800,6 +809,8 @@ ST-BME/ ├── graph/ # 图数据模型与领域状态 │ ├── graph.js # 节点/边 CRUD、序列化、迁移 │ ├── graph-persistence.js # 持久化常量、加载状态、身份别名 +│ ├── graph-head.js # v3 GraphHead / ReplicaPointer / commit marker +│ ├── graph-v3-namespace.js # v3 硬切命名空间 │ ├── schema.js # 节点和关系 Schema │ ├── memory-scope.js # 主客观作用域与空间区域 │ ├── knowledge-state.js # 认知归属、可见性、区域状态 @@ -845,10 +856,14 @@ ST-BME/ │ ├── vector/ # 向量索引与直连 Embedding │ ├── vector-index.js +│ ├── vector-gate.js # 向量准备/修复门禁策略 │ └── embedding.js │ ├── runtime/ # 运行时状态和设置 +│ ├── identity-resolver.js # 身份解析核心 │ ├── runtime-state.js +│ ├── reroll-transaction-boundary.js # reroll 召回复用事务边界 +│ ├── rebirth-policy.mjs # v3 重生策略/门禁盘点 │ ├── settings-defaults.js │ ├── generation-options.js │ ├── planner-tag-utils.js @@ -861,7 +876,11 @@ ST-BME/ │ ├── bme-db.js # IndexedDB 数据层 │ ├── bme-opfs-store.js # OPFS/sidecar 存储 │ ├── bme-sync.js # 云端镜像与备份恢复 -│ └── bme-chat-manager.js # chatId → 数据库生命周期 +│ ├── bme-chat-manager.js # chatId → 数据库生命周期 +│ ├── persistence-reducer.js # 持久化 accepted/queued/pending reducer +│ ├── legacy-persistence-repair.js # 旧状态安全修复策略 +│ ├── graph-store-contract.js # v3 GraphStore 契约和路由计划 +│ └── graph-store-v3-adapter.js # v3 GraphStore 适配器包装层 │ ├── host/ # SillyTavern 宿主适配 │ ├── event-binding.js @@ -918,6 +937,19 @@ P0 回归: npm run test:p0 ``` +v3 重生控制面专项: + +```bash +npm run test:rebirth-phase0 +npm run test:identity-resolver +npm run test:persistence-reducer +npm run test:graph-head +npm run test:vector-gate +npm run test:reroll-transaction-boundary +npm run test:graph-store-contract +npm run test:graph-store-v3-adapter +``` + 持久化矩阵: ```bash @@ -966,6 +998,12 @@ npm run version:bump-manifest - **`tests/graph-persistence.mjs`** - 图谱持久化基础行为。 +- **`tests/identity-resolver.mjs` / `tests/persistence-reducer.mjs` / `tests/graph-head.mjs`** + - v3 身份、持久化状态机和 GraphHead 控制面。 + +- **`tests/graph-store-contract.mjs` / `tests/graph-store-v3-adapter.mjs`** + - v3 GraphStore 契约、命名空间隔离和适配器包装层。 + - **`tests/indexeddb-persistence.mjs`** - IndexedDB 快照、增量提交、hydrate。