Repository navigation
V15 Workbench Deepening
Provenance — Migrated 2026-10-06 from
docs/implementation/v15-workbench-deepening.md@ zuohaisu/viva@871a00a · 迁移自主仓库该文件;正文相对链接已改为 Wiki 链接,原始状态/日期/作者行保留,原文以 Git 历史为准。
本页以下正文是 2026-10-02 规划 / 2026-10-06 迁移快照,旧勾选与裸键不是当前待开发清单或操作指南。五个 V15 切片已由 PR #59 合入(764f74a);对应 main CI success。
#54–#58 的原验收项均已勾选;结合 Haisu 合并 PR #59 与合并后 CI,本次连同父单 #53 归档关闭。不为历史归档增加当前版本重验要求,也不重新实现文件浏览、handoff、同步或恢复器。#55 的 merged 清理入口已存在;当前由命令面板 viva.cleanup 进入确认,server 清理前实时复查 merged,不使用侧栏缓存。实际删除仍须对确切测试路径获得人工授权。
PR 状态与 GitHub Files changed 的净变动增强由 #182 / PR #185 交付(2026-10-18 已合并);真实 gh 配合工作台走查仍 pending。工作区文件面板与 PR 文件面板用途不同,不合并成一项已验收声明。现行键位以 viva --default-config / 帮助为准,历史 f / D / h / g 不再是默认裸键。
原 issue 的历史勾选与 PR #59 的自动化证据保留;其中 fake gh / fake agent 不等于当前真实工具回归。本轮只做状态核对。
2026-10-02 历史规划(旧键位、未实现与勾选状态均为当时快照)
Status: planning(Haisu 2026-10-02 口述五缺口,本文转化为切片与工单;无任何实现)。Date: 2026-10-02.
[Goal check] This work advances Viva's runtime/workbench capability by closing the five gaps a real one-day herdr trial exposed, each slice with acceptance evidence defined before implementation.
V14(PR #50,#43–#48)交付了 herdr 形态的运行时:常驻 server、detach、多 pane、活恢复、三源 agent 状态、编排 API、暂停语义。2026-10-01/02 Haisu 用 herdr 做了一天真实工作,结论:herdr 仍无法取代 Orca 的若干日常优点。这不是 V14 方向的否定——Viva 的工作台底盘(成员/任务/授权/审计)正是 herdr 没有的——而是下一阶段的输入:五个缺口,全部落在"工作台的信息可见性与自动化"上。
用户原话归纳的五个缺口:
- Orca 在每个 worktree 能看到工作区文件,点开能看文件内容与修改;
- Orca 清楚 worktree 的 PR 是否已合并,合并后提供删除 worktree 的入口;
- Orca 提供不同 agent 之间的 handoff;
- Orca 自动做 git pull(herdr 需要每次人工);
- (新增需求)遇到 5 小时/数小时的用量限额,只要知道几点恢复,就等到时间自动恢复工作。
| 切片 | 一句话 | 依赖 | 主要触及 |
|---|---|---|---|
| V15-1 文件浏览器与差异查看 | worktree 里看文件、看单个文件改了什么 | 无 |
tui/(新文件面板)、git/cli(ls-files/diff 单文件) |
| V15-2 PR 状态与合并后清理 | 行上见 PR 状态;merged 后一键清理(人工确认) | 无(需 gh) |
git/(新 pr.rs)、workbench 行、V08 release |
| V15-3 跨 agent 交接 | 把一个 worktree 从 agent A 手递给 B,带 brief | 无(软依赖 V15-1 的选择 UI 经验) | workbench 动作、task brief、handoff 记录 |
| V15-4 自动 git 同步 | 主 checkout 自动 ff-only pull;worktree 自动 fetch + behind 提示 | 需 §4 裁决确认 |
git/worktrees(政策修订)、maintenance 挂接 |
| V15-5 限额定时恢复 | 限额 + reset_at → 到点自动恢复,跨重启 | 无(建于 S4/S6 之上) |
agents/(申报字段)、server 调度、settings |
每片独立 worktree→PR→验收,与 V14 切片同纪律。
What:worktree 行上 f 进入该 worktree 的文件面板:git ls-files + status 标记(M/A/D/未跟踪)分组的文件树;在文件上回车 = 内容视图(有界读取)或 unified diff(对该 worktree 的 base_sha,即 V08 记录的基线)。e 用 $EDITOR 打开当前文件(编辑仍属用户工具,Viva 不建编辑器)。
验收(草拟,入 issue):
- ≥3 个真实 worktree 各自可浏览文件列表,修改/新增/未跟踪有区分标记
- 进入单个修改文件显示对 base_sha 的 unified diff;未修改文件显示有界内容
- 大文件/二进制有界并如实标注(复用 64 KiB bound 模式),不假装完整
- 面板只读;
e调起用户编辑器成功;Esc 返回不丢 pane 布局 - 与 pane 布局共存(文件面板可作为 browser pane 的一种视图,不破坏 S2 布局持久化)
What:worktree 行显示其分支关联的 PR 状态(open / merged / closed / none,checks 摘要),数据来自 gh(复用成熟能力,宪章顺序 1);merged 时行上出现清理入口 D:确认对话框点名确切路径后执行——先 V08 release(记录),再 git worktree remove;失败如实报告。绝不自动删除;删除即人工授权(点击+确认命名目标),记入审计。
边界:gh 不可用/无 PR 时如实显示 none,不猜;closed-not-merged 不提供清理入口(那是人的判断)。
验收:
- 真实仓库 + 真实 PR:open 与 merged 两态可见且正确(gh 实测)
- merged 分支的 worktree 可经
D→ 确认(显示确切路径)→ release + remove 成功,动作留审计 - 确认前取消无任何副作用;非 merged 状态无清理入口
- 无 gh/无网络时降级显示,不阻塞工作台
(注:PR/checks 查看本就是 V14 #27 交付范围的一句,本片正式收口该遗留。)
What:worktree 上 h 触发交接:选目标 agent(已装 CLI 列表)→ Viva 汇编 brief(任务目标与约束 + 离场 agent 的最后 handoff 摘要〔来自 S4 受控申报〕+ worktree/branch 上下文)→ 在同一 worktree 启动目标 agent 终端并投递 brief → 交接事件记入任务历史。原终端不自动杀(人决定)。
边界:brief 是材料传递,不承诺上下文无损(ADR 0011 §5.4 原则);离场摘要缺失时 brief 如实标注"无离场摘要";被交接对象不自动获得授权(grant 语义不变)。
验收:
- 真实流程:agent A(可用
cat假扮)→h→ 选 B → B 终端收到含任务目标与 A 摘要的 brief - 任务历史出现交接记录(谁→谁、brief 摘要、worktree)
- 无离场摘要时标注,不编造;A 的终端保持运行由人处理
What:主 checkout(project.repo_path 指向的检出)自动同步:仅 --ff-only、仅干净树。设置项 auto_pull(默认关闭):由用户显式开启/关闭(CLI 与工作台均可切换),持久化于 settings(与 pause 同表,跨重启;持久化于 settings 表(见 G0-Interface-Contracts §5));关闭时完全不执行自动 pull(自动 fetch 与 behind 提示不受影响)。工作台打开时与维护周期各同步一次(受 S6 pause 门控);每次同步记 events。任务 worktree 永不自动合并——只自动 fetch 并在行上显示 behind/ahead,是否重排由人决定(保持任务隔离与 V05"不误杀别人工作"精神)。
已裁决边界(2026-10-02,Haisu):
主 checkout 允许自动
git pull --ff-only(仅干净树);任务 worktree 维持 fetch-only 永不自动合并;一切自动同步动作留审计;pause 门控适用。另设 auto_pull 开关,默认关闭,人工开启后方可自动 pull。
验收:
- auto_pull 关闭(默认):主 checkout 无任何自动 pull;fetch/behind 提示照常
- auto_pull 开启:主 checkout 落后时自动 ff 前进并记录;脏树/非 ff 跳过并如实提示,绝不 force/merge
- 开关经 CLI 与工作台均可切换并持久化(重启后保持)
- 任务 worktree 仅 fetch + behind 显示,工作区不被自动改动
- pause 状态下不自动同步;恢复后下一周期补上
- 网络失败静默降级为"上次同步时间"显示
What:把"知道几点恢复就到点自动恢复"建成一等能力。链路:成员经 S4 受控申报 AgentReport 扩展 rate_limited 状态 + reset_at(RFC3339;用户也可在 UI/CLI 直接设定)→ server 持久化唤醒计划(SQLite:task/terminal、reset_at、恢复动作)→ 常驻 server 定时器到点执行恢复(重发 dispatch〔幂等 request_key〕或向该 agent prompt"继续")→ 全程审计。重启后计划重装(类型一恢复语义)。
边界(诚实约束):无 reset_at 不恢复——显示"限额中,恢复时间未知",绝不猜时间;恢复动作是"续跑",不是"验收";限额暂停是任务级状态,与 S6 的 server 级 pause 分开建模,互不混淆。
验收:
- 申报 rate_limited + reset_at(可用近未来时间实测)→ 到点自动恢复动作发生且留审计
- 无 reset_at → 停留且如实显示;reset_at 过期未恢复(server 不在)→ 重启后计划重装并对过期项提示而非盲目执行
- 与 server pause 互不干扰:pause 下的唤醒计划不触发派发,resume 后按计划继续
V15-4(2026-10-02,Haisu):
V15-4 建议修订为:主 checkout 允许自动 git pull --ff-only(仅干净树),我同意这个。要加一个设置项,可以人工开启自动 pull,或者关闭自动 pull。
落地为:auto_pull 设置项(settings 持久化,默认关闭,CLI 与工作台双入口切换);开启后方允许主 checkout 自动 --ff-only pull;fetch/behind 提示不受开关影响。已并入切片定义与验收。
- 全部切片长在 V14 已合并的地基上(S1–S6),不新建架构层——符合宪章 Architecture Order:gh/git CLI、S4 申报通道、S6 调度、V08 服务均为已验证复用点。
- V14 父单 #27 的"PR/checks 查看"由 V15-2 收口;#49(音效/主题/i18n/SSH)保持排后不动。
- V12 资源验收仍在各自切片内按需测量(如 V15-5 的定时器精度不另立性能门)。
已验证:V14 全量合并且 CI 绿(PR #50);五缺口为用户一天真实使用的一手结论(2026-10-02 口述)。
未验证:本文件全部为规划,无任何实现;各切片验收为草拟,实现 PR 时以 issue 为准;V15-4 的裁决待确认。
状态维护(2026-10-18,#186):依据实时 issue / PR / 合并与既有验收记录修正过期状态;本轮未运行产品测试或真实验收,历史证据不升级为当前 PASS。
Viva Wiki
Charter & Product
Core-Thesis Vision Customer-Zero User-Stories Product-Model Workflows First-Usable-Version Workbench-Navigation Phase-1-Scope
Architecture
Conceptual-Architecture Domain-Model Temporal-Model Resident-Container Transition-Record
Decisions
Decisions ADR-0001 · ADR-0002 · ADR-0003 · ADR-0004 · ADR-0005 · ADR-0006 ADR-0007 · ADR-0008 · ADR-0009 · ADR-0010 · ADR-0011 · ADR-0012 · ADR-0013
Development
Rust-Rollout-Plan G0-Interface-Contracts Terminal-PTY-Selection V15-Workbench-Deepening
Research
Research-Hermes Research-Hermes-Holographic-Memory Research-Agent-Memory-Architecture Research-Orca Research-Orca-Reuse-Audit Research-Herdr-Runtime-Parity Research-VS-Code-Workspace Research-Self-Model-Relationship
Validation
V12-G1-Baselines V12-Final-Acceptance V13-Python-Retirement F01-F04-Acceptance CLI-Update-Validation
Releases & History
Releases Goal-Drift-Log Technology-Selection-Archive Start-Prompt-Track
主仓库:zuohaisu/viva · 工作规则:AGENTS.md