用途:在 GSD 工作流中把某个阶段的产物文件归档进 MemPalace,并把决策类事实镜像进其时间知识图谱(KG)。
主要能力:先显示横幅 GSD > MEMPALACE CAPTURE;读取 .planning/config.json 做配置门禁,仅当 mempalace.enabled === true 且 mempalace.capture_artifacts !== false 时才继续,否则打印禁用提示并停止。随后解析目标:产物取自参数,缺省时按循环点推断(discuss:post → CONTEXT.md,plan:post → PLAN.md,verify:post → SUMMARY.md);room 映射为 CONTEXT.md → decisions、PLAN.md → planning、SUMMARY.md → milestones;wing 取 config.mempalace.wing,为空则用 config.project_code,再退到仓库目录名。传输方式优先 MCP(mempalace_*),否则用 mempalace CLI。默认(mirror_kg 未显式关闭)还会提取决策/交付事实做 KG 镜像,valid_from 取阶段日期。
用法要点:交互模式先 mempalace_check_duplicate 去重,再用 mempalace_add_drawer 按原文写入并附带来源信息;无头模式依赖内容哈希幂等性。CLI 归档时 mempalace mine 没有 --room 参数,房间由 detect_room() 依据 mempalace.yaml 的 rooms 列表匹配文件夹路径段得出,因此需把产物暂存到以房间命名的目录(如 .planning/.mempalace-stage/<room>/<phase-id>/<basename>),并在暂存目录放好 mempalace.yaml(rooms 每项必须是带 name 键的字典)与 .gitignore(忽略 mempalace_embedder.json),再执行 mempalace mine "$STAGE" --wing <wing> --daemon --background。
限制与约定:捕获是尽力而为(onError: skip),任何 MemPalace 错误或超时都不得让阶段失败;必须存储逐字原文而非有损摘要;重复运行不得产生重复 drawer;此处不执行剪枝删除(sync --apply 由 curator 在 ship:post 按 wing 范围处理)。需注意 mine 的并发锁可能使前台执行以 MineAlreadyRunning 退出,故用后台队列避免静默丢弃。
适用场景:GSD 流程 discuss/plan/verify 后需要把阶段产物和决策事实沉淀进 MemPalace 记忆库的项目。