merge(chv-muse-round12): 合入 P7 状态与记忆分离 (29fa0c8)

冲突按并集解:build.sh 保留 P2+P3+P4 检查/拷入 + P7 的
chv-memory 检查/拷入(P7 的重复 runcmd 行删掉——同一文件
写两次会盖掉 authd 启动行);buildinfo.py 加 chv-memory 一项;
production-readiness.md P7 一节顺延为 §18。P7 测试 46 项全过。
This commit is contained in:
host committed 2026-11-07 00:02:54 +00:00
commit 320cd36921
8 files changed
+1667 -1

No files matched your search

+19
View File
@@ -998,3 +998,22 @@ docs/chv-muse-p2-gap.md(现状 vs Muse、改了什么、诚实边界、
§4(worker 真实沙箱、SO_PEERCRED 真实 uid、超时/崩溃、
auditd 审计、与 P3 authd/Sentinel 的真接线)。
## 18. 对齐 Muse P7:状态与记忆分离(feat-chv-muse-p7)
- 选型:SQLite 每 VM 一库(`state_dir/<vm>/app-state.sqlite`,0600,
WAL),不是 Postgres。理由与差距见 docs/chv-muse-p7-gap.md §4:
轻量 VM 跑 Postgres server 太重;宿主侧共享 Postgres 破坏每用户
VM 隔离;DDL 用两方共通受限子集,换 Postgres = 换连接工厂。
- 记忆引擎不重做:调记忆系统 v13 的真实 CLI(search/get/explain/
forget-plan/forget-confirm/backup/restore/export);CLI 缺位时
降级本地 Markdown 模式,bank 忘记记为待办。
- 记忆家目录客内 `/home/chv/memory`(workspace 之外,不同步到
Gitea),宿主镜像 `state_dir/<vm>/memory-home/`;客内脚本
`chv-memory.py`(纯标准库)经 SSH 调用。
- 凭证绝不进状态库与记忆文件:写操作过无凭证守卫(键名 + 值模式),
备份文件无 token 值(测试钉住);audit 表只追加。
- “忘记”是尽力删除 + 验证查不到,不是密码学擦除:已备份快照里
仍有旧内容(与记忆系统 CLI 语义一致),差距表 §5 写清。
- 真机待验证:见 docs/chv-muse-p7-gap.md §6(lite12 镜像、双向
拉取、双向忘记、备份恢复演练、cell 内直读被拒)。