Skip to content

设计记录(已由 #114 取代):Optional Memory Service / pin / Git / events 边界 #74

Closed

Description

@DoodleBears

Warning

Superseded by #114, #115 and #116 (2026-09-21). This closed issue records the earlier optional-Memory / model-visible Memory Tool design. Do not implement its Locked decisions or Future tracer bullet. Current V1 direction: Memory is created by default as a real Git repository; Orchestrator cwd is that repository; models use ordinary file/Shell/grep/git capabilities; Memory Service owns lifecycle, validation, pin budget, reconciliation and accepted Memory Commit history/query; Workspace access is a persistent revocable PersonaBot-level Grant; each Assignment has one cwd.

Why

M2 已交付一个内嵌于 Core、通过 cwd 找 PersonaBot、强制创建 PERSONA.md/MEMORY.md 的 Memory MVP。新的 Session 与产品架构已确认:DM → Bot Inbox → Orchestrator Session → Assignment Session 的执行主链不依赖 Persona 或 Memory;Memory 应作为可缺席、可被其他 trusted Plugin 消费的 application-defined Cordis Service。

本票只收敛 contract 与实施边界,不把 Memory 实现横向铺开,也不阻塞首个 Assignment tracer bullet。

Locked decisions

  • PersonaBot 可以只有 Host-generated ID、名称、base runtime prompt 与 Orchestrator;Persona 和 Memory 都是 optional。
  • Memory 使用 Consumer → Service Definition → Provider capability seam;target Git-backed Provider 独立于 Core package,缺席时主链仍运行。
  • Memory Repository 是 generic、独立生命周期的 Git-backed authority;V1 最多为一个 PersonaBot attach 一个私有 repository。detach/archive/delete 分离。
  • 所有 Markdown 文件语义平等,没有 generated/special MEMORY.md。提供 Persona 时创建普通 persona.md 并默认 pin;Agent/Human 都可修改、unpin、改名或删除。
  • pin metadata 存 frontmatter;Human 可调 repository UTF-8 byte budget,active model 再做 token preflight。超限 fail closed,返回 machine-readable fields 与 LLM-readable remedy,不截断。
  • mutation 使用 optimistic concurrency;一次 semantic change 对应一个带 actor/cause 的 Git commit。pin/unpin 是显式 operation。
  • 每个 Memory Service command/query 都有 memory/before-operation waterfall 与 memory/after-operation notification;Event 发 metadata,Git history 是 durable authority。
  • Orchestrator 在 repository attach 后默认 read-write。Assignment 默认无 Memory;create 时可显式授予 read 或完整 read-write,Subagent 不自动继承。
  • V1 信任能 resolve Service 的内部 Plugin,但 mutation 必须带 repository id、actor、cause,不实现通用 ACL。
  • Client 只在 Provider attached 时显示 Memory destination;Settings 负责 availability/diagnostics。Graph、Shared Memory、vector search、multi-writer worktree 后置。

Deliverables

First future Memory tracer bullet

  1. attach one Git-backed repository to one PersonaBot;
  2. through Memory Service create/read/update one Markdown file;
  3. pin/unpin within budget and produce one semantic commit;
  4. Orchestrator receives scoped tools;
  5. DM-only Memory view performs one Human edit and shows commit/diff;
  6. disable Provider and prove DM → Orchestrator → Assignment still runs。

Related

Non-goals

  • 不在本票实现 UI 或重写 Memory tools。
  • 不引入 vector database、自动蒸馏、Graph、Shared Memory 或后台批量改写。
  • 不把已归档的 docs/botharness.md / PRD.md 恢复为设计权威。

Activity

  1. added this to the v1.0 milestone on Sep 19, 2026
  2. changed the title [-]设计:Memory/context delivery 与多 Session 写入边界[/-] [+]设计:Optional Memory Service / pin / Git / events 边界[/+] on Sep 20, 2026
  3. DoodleBears commented on Sep 20, 2026

    @DoodleBears
    ContributorAuthor

    设计范围已由 PR #113 合并:Memory 是可缺席的 Git-backed Cordis Service,Persona/Memory 不再阻塞 DM → Orchestrator → Assignment 主链。后续实现按已确认顺序,在 #81 的首个 Human-testable Assignment tracer bullet 验收后再推进;本设计票完成并关闭。

  4. moved this from Todo to Done in Roadmapon Sep 20, 2026
  5. changed the title [-]设计:Optional Memory Service / pin / Git / events 边界[/-] [+]设计记录(已由 #114 取代):Optional Memory Service / pin / Git / events 边界[/+] on Sep 20, 2026
  6. added
    V1.0Milestone v1.0; mirrors the GitHub milestone
    on Sep 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    V1.0Milestone v1.0; mirrors the GitHub milestonewayfinder:grillingWayfinder grilling ticket

    Type

    No type

    Projects

    • Status
      Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions