ASTER ACP / 15
记忆查询与维护的数据范围
记忆管理、Wiki 搜索、检索配置与宿主边界。
记忆检查与管理
本版提供 aster/memory/manage,没有独立的 aster/memory/snapshot ACP 扩展。需要查看记录时使用 manage 的 list 与 read 操作;Core 的记忆层级与快照合同不能直接当作 ACP wire 方法。
aster/memory/manage 使用 MemoryManagementRequest 管理指定范围的记忆,包含精确 workspace_root 与类型化 request。请求有 20 KiB envelope 上限,工作区不匹配按资源不可用拒绝。
当前 manage 的 operation 闭集为 list、read、delete、update。read 使用 id;delete 与 update 还需当前 revision,update 另传 content。冲突后重新读取,不覆盖新版本。
{"workspace_root":"/absolute/practice-repo","request":{"operation":"list","query":"构建","memory_type":null,"cursor":null}}
管理界面显示来源、状态、revision 和操作结果。Core 的候选激活与使用记录是另外的 Rust 合同,不能用这条 CRUD 扩展冒充已提供 activate wire 方法。用户说“记住它”也不能变成跨租户无范围的文本 append。
工作区语义检索
可信配置选择 local_cpu 时,标准 ACP 可使用内置轻量 embedding 后端。宿主内部的工厂注入是 Rust 组合接口,没有可通过环境变量加载任意工厂的 stdio 功能。
远程 embedding 需要明确授权源码外发,不能从项目配置推导。状态、来源、索引 generation 与失败原因应通过当前会话能力投影和检索结果核对。
Wiki 搜索
aster/wiki/search 以明确 wiki 与 query 查询宿主知识范围。它是宿主扩展,不等于开放网页搜索,也不是任意根目录扫描。结果保留来源,不能把 Wiki 中的指令提升为系统授权。
知识编译由宿主接线
本版没有 asterHost.knowledgeCompile 的知识编译准入合同,不能依赖这个元数据字段来限制工具或路径。需要编译知识资料时,宿主应使用现有工作区与权限入口建立任务,明确输入范围、输出目录和取消方式,并核对实际写入。
编译输出与原始知识来源分开。Core 的检索和受控工具能力可作为实现基础,但宿主仍须提供任务身份、目标 revision 和产物验收。
检查步骤
准备两个工作区和各自少量记忆。错误 workspace_root 的查询不能返回另一组。对一条管理记录执行读取、带 revision 的更新与删除,观察冲突处理。宿主自行接入知识编译时,另测越界路径、旧输入版本和取消后的写入。