部门共识记忆层
wesgine 的 L2 共识记忆——跨 Actor 共享的部门级知识。
定位
共识记忆(consensus)存储部门或团队级别的共享知识。
它是管理员写入、所有人可见的共享事实。
层特征
| 属性 | 值 |
|---|---|
| 层名 | consensus |
| Scope | ScopeGlobal |
| Actor | 无(空 actor) |
| 可见范围 | Cell 内所有 Actor |
| Namespace | Cell 级(无额外命名空间) |
| 可写 | ✅(需 admin) |
| 可清空 | ✅(需 admin) |
与 L3「关于我」的区别
L2 和 L3 共用 ScopeGlobal。
唯一区别是 actor 列是否为空:
- 空 actor → L2 部门共识
- 有 actor → L3 关于我
写入路径
| 方式 | 说明 |
|---|---|
| Admin API | POST /memory(layer=consensus,需 cell:admin) |
| 集体草案/投票 | POST /memory/draft + POST /memory/vote |
| CognitiveSettlement | Run 结束时提取的共享事实 |
普通用户不能直接写入 L2。
带 actor 的 consensus 写入返回 ErrLayerShared。
典型内容
- 「本部门使用 Go 作为主要开发语言」
- 「代码提交前必须通过 CI」
- 「API 设计遵循 RESTful 规范」
- 「数据库连接字符串格式为 postgres://...」
在单 Actor Cell 中
桌面产品(wesclaw / wescode / wescraft)中 Actor 恒为 "local"。
L2 层通常为空——没有 admin 写入机制。
wesui 的记忆中心仍然渲染 L2 芯片(计数 0)。
在多 Actor Cell 中
Teleclaw 场景(部门 Cell,多员工):
- Admin 写入部门共识
- 所有员工自动看到
- 不需要每人写一遍
Digest 分区
Digest 按 (Namespace, CognitiveOwner) 分区。
L2 条目因为没有 actor,形成独立的分区。
跨 Actor 做认知判断是错误的(INV-MEM-42)。
冲突检测
detectSupersession 在分区内检测被取代的条目。
较新的共识条目可以标记较旧的为 Conflicted=true。