Repository navigation
Description
2026-09-30 closeout audit (completed)
The native sub-issue tree is 10/10 closed: #115, #116, #187, #259, #298, #312, #324, #326, #349, and #350. #187 and its Memory Sync train were closed as not planned under #398 / ADR-0084. #350's Inbox delivery slices #352 and #464 merged in PR #473 with ADR-0092 and live DSH restart evidence.
The final direct child, #115, merged in PR #519 with ADR-0097. Memory recovery checkpoints preserve observed branch, HEAD, staged and working state; the Human can confirm restore from the Memory page while the previous repository is archived. Human commands use the Host-owned local-human identity; DSH's shared browser credential cannot distinguish multiple people. Full CI, CodeRabbit, a real DSH/LLM reply, browser E2E, and Human QA passed.
Separate roadmap tickets #81, #75, #119, #24, and #11 remain under their own scopes and are not direct #114 sub-issues. Git's working tree remains current Memory; external net changes reach Bot Inbox through ADR-0092 without independently waking the Agent.
2026-09-26 decision update: Session browser and activity authority
Human approved #312 as the v1.0 PersonaBot right-sidebar Sessions / 会话 tracer. It replaces the old Assignment-only “事项” presentation with Orchestrator plus independent Assignment Sessions; default flat Current view, All and optional workspace grouping, native DSH Session navigation, per-Bot local view preferences. It does not introduce a new Task entity or remove the Assignment Directory. DSH owns live Agent running state and Session history. BotHarness keeps only its own Grant, report, stop, Continuity Key and atomic concurrency reservation facts; restart must reconcile abandoned reservations. #75 keeps later v1.1 breadth, with its older Assignment-only UI decision superseded.
2026-09-25 决策修订:Git 工作树就是当前记忆
Human 明确选择普通 Git 仓库模型:当前检出的工作树文件立即是 Memory,包括代码和二进制;原生 Git 可 fetch、merge、reset、切换分支,无需逐提交或逐分支“接纳”。Memory Service 记录可信操作与恢复检查点,但其 ledger 不再是文件是否属于记忆的第二权威。Bot 按 Human 任务决定如何整合外部仓库;策略不明时使用 DSH 原生 Ask Question。新建 PersonaBot 可选择空白记忆或从 Git URL 初始化(#298);已有 Bot 的外部仓库整合仍由 Orchestrator 使用原生 Git。没有替代 Git 的 Memory CRUD 工具。详见 #115 和 ADR-0068。下文旧的 accepted-commit 门槛段落以本修订为准。
2026-09-24 决策修订:Workspace Grant 文件边界
Human 接受下一条 tracer 将 Orchestrator 缩为 Memory 可读写、所有当前有效 Grant 项目目录只读;Assignment 仅对其选择的一个 Grant 目录读写。Grant 撤销必须阻止两类 Session 后续文件访问,不止阻止事项创建/恢复。DSH workspace-write 单一 cwd 且不隔离读,因此须验证覆盖 native read、search、bash、terminal 的 Provider/Execution World。右侧允许 Human 添加 Host 文件夹并撤销 Bot 访问,Memory 固定、不可删除。详见 #116 与 ADR-0067;旧的“Composite Execution World 全部后置”和“Orchestrator 仅由 cwd 限制”不再适用于默认安全的读隔离。
Destination
把V1 Memory / Workspace / Assignment boundary变成可实施、可验收的tracer-bullet路线,并阻止后续实现继续引用旧Memory Tool、cwd inference或“full access = 多cwd/新Execution World”的设计。
Locked decisions
- Memory默认启用:创建PersonaBot时自动创建真实Git-backed Memory Repository;失败则明确进入需修复状态,不静默退化为无Memory。
- Orchestrator cwd固定:cwd 始终是该 PersonaBot 的 Memory Repository;原生 DSH mode 为 workspace-write,不继承危险 preset。BotHarness 默认安全边界只允许它写 Memory,并允许读取当前有效 Grant 的项目目录。
- file-first:模型通过普通文件能力、Shell、grep/search与git工作;V1不暴露memory_read/write/edit等模型Memory tools。
- Memory Service:拥有 repository lifecycle、可信 Session ownership、UI query 与审计/恢复检查点。当前工作树及 Git 历史以仓库为权威;观察记录不是接纳门槛。
- Memory notification:按 ADR-0092,Host 启动与 Orchestrator 回合前比较当前 Git 状态与持久观察检查点;外部净变化产生 durable
memory-changeSource Event / Bot Inbox Admission,在下一次普通回合投递,不独立唤醒 Agent,也不注入文件正文。Git 工作树仍是内容权威。 - Workspace Grant:PersonaBot 级、durable、Human 授权、可撤销;Orchestrator 可读取所有当前有效 Grant,一个 Assignment 只读写选定的单个 Grant。
- 一个Assignment,一个primary cwd:每个Assignment Session选择一个有效Workspace Grant,并以其单目录作为primary cwd。跨项目使用多个Assignments。
- Assignment access preset:PersonaBot设置中的持久默认值;默认workspace-write。Human可显式开启danger-full-access,但只影响之后新建的Assignment Sessions。
- danger-full-access safeguards:开启必须二次风险确认;设置页与Assignment detail持续警示;变更有审计;可撤销。撤销只改变之后新建Session的默认,不静默修改已有Session。
- Session permission snapshot:Assignment创建时把当前preset固化为该Session的权限事实。模型、create_assignment payload或Workspace Grant不能自行提升权限。
- Grant与full access正交:默认安全模式下 Grant 是读写访问边界;danger-full-access 是显式 Human opt-out,仍保留 primary cwd、Grant provenance 与持续风险提示,不得暗示仍受 Grant 限制。
- 执行边界:默认安全的 Grant 读隔离需要验证文件与进程 Provider,必要的隔离执行世界前移;多 cwd Assignment 与 Orchestrator 多项目可写仍后置。
DSH/Cordis seams
- Memory lifecycle/validation/history/query是application-defined Service Definition → Provider;UI、Orchestrator runtime与trusted Plugins是Consumers。
- Memory Repository 的当前工作树与 Git 历史是 application-owned durable authority;审计检查点不控制文件可见性。ADR-0092 的观察检查点用于 durable
memory-changeSource Event / Bot Inbox Admission 投递,不是第二份内容权威。 - Workspace Grant与PersonaBot Assignment access preset是BotHarness operational database中的application-owned Human configuration/authorization facts。
- Assignment Session仍是DSH independent root Session;Runtime在create时解析有效Grant、设置一个primary cwd并固化permission snapshot。
- danger-full-access改变同一Execution World中的filesystem permission envelope,不创建新的Execution World,也不改变Session ownership。
- Host/client命令与read models经TypertRemoteService → API Gateway;Client不能通过raw payload请求权限升级。
Tracer-bullet order
- Default Memory Repository:创建 PersonaBot → Git repo → Orchestrator 固定 repo cwd → 原生 file/Shell/Git 引入普通仓库内容 → 当前工作树立即在 Channel Memory 与 Git graph 可见 → Human 验收。
- Default Workspace Grant path:Human 添加并授权 Host 文件夹 → Orchestrator 在固定 Memory cwd 下只读有效 Grant → Assignment 单 Grant 读写 → native read/bash 拒绝未授权目录 → revoke 后两类 Session 后续读写 fail closed → 重新授权后新 Assignment 恢复。
- Explicit danger-full-access path:PersonaBot设置中Human风险确认开启 → 新Assignment固化danger-full-access snapshot与persistent warning → 旧Session保持原模式 → 撤销preset → 再建Session恢复workspace-write。Grant/primary cwd始终保留。
- Assignment loop:Foundation:explicit Session ownership 与 DSH activity projection #80/#81完成DM → Orchestrator → Assignment → Report → Reply;Human验收后再扩并发、repair、分页。
- Breadth:设计:PersonaBot navigation / Assignments / recovery 的 DSH-native UI #75 扩 Memory、Assignments、Grant/permission/recovery states;[Retired] Orchestrator: V1.0 PersonaBot Activity、Presence 与 Output Events #119 推进 Activity/Presence;除默认安全读隔离所需的执行边界外,不提前实现多目录工作区。
Tickets
- Foundation: Git working tree as PersonaBot Memory #115 Memory Repository / Memory Service / Git 工作树记忆。
- Create PersonaBot from a Git Memory repository (HTTPS or SSH) #298 新建 PersonaBot 时选择空白记忆或从 HTTPS/SSH Git 仓库导入。
- Workspace Grants: folder access UI and enforced PersonaBot file boundary #116 Workspace Grant / one-Assignment-one-cwd / permission preset。
- Foundation:explicit Session ownership 与 DSH activity projection #80 explicit Session ownership与DSH activity projection(PR feat(core): own Sessions explicitly and project DSH activity (#80) #169 已合并)。
- Foundation:Assignment Runtime / Assignment Directory / Orchestrator tools #81 Assignment Runtime / Directory / Orchestrator tools。
- 设计:PersonaBot navigation / Assignments / recovery 的 DSH-native UI #75 PersonaBot navigation / Memory / Assignments / recovery UI。
- [Retired] Orchestrator: V1.0 PersonaBot Activity、Presence 与 Output Events #119 PersonaBot Activity/Presence;Bot activity: Orchestrator and Assignment aggregation #123 Orchestrator/Assignment presentation aggregation。
- M3.5: 本地安装验证门(DSH 实机 + 插件 UI 冒烟) #24 installed runtime gate。
- M4: 演示闭环(Orchestrator → Assignment → Report → Reply) #11 repeatable M4 demo。
Decisions so far
- ADR-0068 已将 accepted-commit 权威改为 Git 当前工作树权威;原有 Foundation: Git working tree as PersonaBot Memory #115 Markdown-only/线性历史/接纳门槛文字不再作为目标。
- 设计记录(已由 #114 取代):Optional Memory Service / pin / Git / events 边界 #74/ADR-0047的optional Memory、model Memory tools方向已被本map取代。
- #9是历史实现证据,不是目标接口。
- #71的explicit Session ownership、Messaging与durable authority原则仍有效;Work/optional-Memory/cwd细节只作历史记录。
- ADR-0060 已取消 Pinned Memory、pin budget、generated Memory Tree/MEMORY.md 及独立唤醒式 Memory 更新通道;ADR-0092 后来为外部净变化增加 durable Bot Inbox Event,不改变固定 Session prompt prefix。
- danger-full-access是Human-owned PersonaBot default preset;不是模型capability、Workspace Grant扩权、Orchestrator权限或现有Session mutation。
Documentation sync gate
- Root
CONTEXT.md/CONTEXT.zh.md、ADR-0047、living architecture 及其英文镜像必须统一采用本 map 的 default Memory Repository / fixed Orchestrator cwd 决策。 - 删除 living architecture 中“Memory Provider 可缺席”和“首个 DM → Assignment tracer 不依赖 Memory”的旧目标态;历史 rationale 只保留在 ADR 的 superseded section。
- 在上述 authorities 同步并通过 docs/changelog checks 前,不关闭本 map,也不允许实现票引用 optional-Memory 目标态。
Remaining implementation detail, not product fog
- Repository path、当前工作树查询、审计/恢复检查点与 exact errors 在 Foundation: Git working tree as PersonaBot Memory #115 确定。
- DSH concrete permission API/manifest/config names在#116实现前按当前official docs/source/running Host验证。
- Grant revoke 影响未来 create/request/resume/wake,也阻断两个角色后续文件访问;执行中调用须有取消/结算语义,历史 permission snapshot 不重写。危险 preset 的撤销只影响之后新建的 Session,持续显示旧 Session 风险。
Out of scope
- 模型可见Memory CRUD tools。
- vector/RAG、background distillation、Shared Memory、Memory Graph。
- .git/filesystem watcher作为durable truth。
- 一个Assignment多个cwd。
- 让Orchestrator获得danger-full-access。
- 让模型或create_assignment逐次请求权限升级。
- 用danger-full-access替代Workspace Grant、primary cwd或provenance。
- 多 cwd Assignment 与 Orchestrator 多项目可写;默认安全读隔离所需的 Provider/Execution World 不在此排除范围。
Activity
DoodleBears commentedon Sep 21, 2026
PR #127 已完成本 map 的文档同步部分:根 CONTEXT 中英文、ADR-0047、living architecture 与产品说明已统一到 default/file-first Memory、fixed Orchestrator cwd、Workspace Grant、one-Assignment-one-cwd 和 Human-owned permission preset;新增 ADR-0048,并记录 DSH Workspace、file-first Memory 与 Letta/IM 调研依据。
#114 继续保持 open,因为实现 gate 仍由 #115、#116、#80、#81、#75 等票推进;本次只消除了未来实现会误读的旧 optional-Memory / model-visible Memory tools 目标态。
DoodleBears commentedon Sep 26, 2026
2026-09-27 progress audit
Direct children complete and closed: #259 (Git graph, diff, branch workflows; #260–#264 all closed) and #298 (Git URL Memory creation). Corrected the #298 checkbox above.
Still open with concrete remaining work:
Related gates #81, #119, #24 and #11 are also open. The #114 map therefore remains open. No open direct child met its full closure criteria in this audit.
DoodleBears commentedon Sep 27, 2026
2026-09-27 progress audit (supersedes the counts in the previous audit comment)
The eight direct sub-issues are now 5 closed / 3 open. Closed: #259, #298, #312, #324, #326. Their implementation slices are also closed. No currently open direct child meets its full closure criteria yet.
Remaining direct children:
authenticated-dsh-humanactor value still exists on currentmain. Authenticated individual Human identity and trustworthy audit/recovery behavior across reset, merge, branch movement, and dirty trees remain unaccepted.main; the Human has visually confirmed the orange full-access badge on the old Assignment. Reconcile/review/merge fix: show full-access Assignment warnings in Bot Sessions (#116) #339, then record the remaining revoke/regrant and Session-snapshot Human acceptance matrix before closure.memory-syncSkill is present on currentmain. The spec still cites the superseded accepted-commit boundary and ADR-0059, so align it with the Git-worktree decision before the first implementation slice. Spec: memory-sync Skill — agent-mediated Memory Sync over a Human-configured remote #187 and its five children currently have no v1.0 milestone, unlike parent Wayfinder: Memory Repository / Workspace Grant / Assignment cwd #114.#114 remains open. Its separate roadmap checklist also still references open #81, #75, #119, #24, and #11; these are not among the eight direct sub-issues.
DoodleBears commentedon Sep 29, 2026
2026-09-30 closeout audit
The native child tree is 9/10 closed. #116 and the Memory Git/UI slices are complete; #187's proposed Sync Skill was closed as not planned by #398/ADR-0084. External Memory changes now enter the durable Bot Inbox through merged PR #473/ADR-0092, so the old no-Inbox decision in this map has been corrected.
The sole open direct child is #115. Its current Git worktree, file/binary preview, Git graph/diff, branch switching, native read, restart, and earlier Human QA have shipped. The remaining acceptance is individual authenticated Human audit identity plus trustworthy audit/recovery across reset, merge, branch movement, and dirty worktrees. I updated #115's checklist to reflect the shipped slices and removed its stale
agent:activelabel after checking both prior claim outcomes and open PRs.#114 remains open while #115 is unaccepted. The other open roadmap tickets (#81, #75, #119, #24, #11) have their own scopes and are not direct sub-issues of this map.
DoodleBears commentedon Sep 29, 2026
All 10 direct sub-issues are closed. The final Memory audit/recovery gate shipped in PR #519 (ADR-0097) with full CI, CodeRabbit, real DSH/LLM, browser E2E, and Human QA. Separate roadmap tickets remain tracked independently.