Repository navigation
Workflows
Provenance — Migrated 2026-10-06 from
docs/product/workflows.md@ zuohaisu/viva@871a00a · 迁移自主仓库该文件;正文相对链接已改为 Wiki 链接,原始状态/日期/作者行保留,原文以 Git 历史为准。
Status: canonical · 版本:2026-09-27(多成员协作修订)· 素材:Customer-Zero 场景 S1–S9 · 验收对象:Phase-1-Scope · 本文中的"本轮"指 2026-09-27 的多成员修订轮,不是当前阶段(当前阶段见 Roadmap)
效力说明(2026-10-14):正文写于 2026-09-27。§1 的"members are present"与 §3 的"成员面板"所描述的 TUI 布局已被 Workbench-Navigation(2026-10-06)取代:左上 project/worktree、左下 agent sessions、右侧 terminal tabs/panes;长期成员仍是核心持久对象,由独立入口访问。
每条 workflow 标注它对对象模型的最低要求(这些就是验收线)和本轮的实现位置。
open viva
↓
members are present(谁在、谁在跑、谁可换)
↓
select workspace / project(语境:在哪工作)
↓
create or pick a Task(意图:要做什么;可先于 worktree 存在)
↓
assign one or more members(可以是一个成员,也可以让协调成员去派)
↓
dispatch → Execution(固定的七元归属:成员/任务/模型/工具/位置/来源/授权)
↓
work(并行;每个可写任务一个隔离 worktree;成员之间可派发/观察/停止)
↓
review(另一个成员只读复核;分歧与结论留在任务上)
↓
record(产出与未完成项写回 Task;知识按归属策展)
↓
return later / restart
↓
recover(如实区分 running / exited / unknown / recoverable;绝不重跑已完成)
↓
continue(task brief 带着目标、约束、尝试、失败原因、产出、未完成项交接)
闭环成立的标准:S1–S9 可真实发生,而不是功能齐全。
创建 Task → 分配给成员 → 各自在隔离 worktree 里真实并发。
最低要求:Task 对象 + 成员分配 + 工作位置策略 + 执行注册表。
实现:viva create-task、viva dispatch;worktree 定位与执行注册表见 crates/viva/src/。
执行在启动时固定归属;切换成员/Workspace 只影响导航。
最低要求:执行记录内含 member/task/workspace,事件从记录派生。
实现:crates/viva/src/tasks/(执行启动时写入归属);证据 crates/viva/tests/v03_tasks_history.rs。
reviewer 以 read_only 模式进入同一任务的产出,独立给结论;不写文件。
最低要求:角色模式限制 + 执行级 mode + 同一任务可挂多个执行。
实现:crates/viva/src/members/(角色允许的模式)与执行级 mode;证据 crates/viva/tests/v02_members_projects.rs。
停一个执行不影响其他执行(进程组级别隔离)。
最低要求:执行级 pid/pgid + 停止先写记录再发信号。
实现:viva stop-terminal;crates/viva/src/terminal/(进程组级停止);证据 crates/viva/tests/v05_terminal.rs、v14_runtime.rs。
重启后:状态如实分类、可恢复项列出、不重跑已完成;交接简报包含目标、约束、尝试、失败原因、产出、未完成项。
最低要求:执行记录持久化 + 任务级 outputs/unfinished + brief 生成。
实现:viva recovery list、viva result、viva handoff;server 启动时对账(crates/viva/tests/v07_*.rs、v14_runtime.rs);交接简报在 crates/viva/src/tasks/。
换成员模型只改绑定;历史与知识不动;不可用时报错不替换。
最低要求:engine 绑定 + 历史 append-only + 知识条目独立存储。
实现:crates/viva/src/members/(engine / tool 绑定与不可用时的显式失败);证据 crates/viva/tests/v02_members_projects.rs。
协调成员在用户授予的任务范围内派发/观察/停止;子授权不能放大;越权留原因。
最低要求:grant ledger(来源/范围/委派关系)+ 请求来源不被改写。
实现:viva grant;crates/viva/src/authority/(grant 账本、父子不放大、拒绝留痕);证据 crates/viva/tests/v04_authority_redaction.rs。
Task ↔ Repository ↔ Worktree/branch ↔ PR ↔ issue/checks/review 可追溯;只读。
最低要求:task.github 关联 + 只读连接器 + 证据写回任务。
实现:crates/viva/src/git/evidence.rs(经 gh 只读查询);证据 crates/viva/tests/v08_git_github.rs。
四类知识按 owner 分流;只有被后续执行使用过才算复用证据。
最低要求:kind/owner/provenance/usage。
实现:crates/viva/src/knowledge/(来源、生命周期、选择、使用记录);证据 crates/viva/tests/v11_knowledge.rs。
-
viva打开 TUI(布局已被 Workbench-Navigation 取代,见页首):成员面板 + 语境(workspace/project)+ 任务 + 执行 + 事件记录(experience journal 在 Rust 首版未实现)。不做 file tree / editor / debugger。 - 命令是交互模式;成员与语境是状态;两者同时存在。
- 需要编辑文件 → 打开 VS Code(Viva 不做编辑器)。
- CLI 与 TUI 共用同一个 composition root,任何能力在两个 surface 上行为一致;成员回调用的是同一个 CLI(这是"真实可调用"的含义)。
- 没有固定 dev→QA 流水线:成员与任务的组合是数据,不是状态机;谁审谁、什么顺序,由 Haisu 或持 grant 的协调成员决定。User-Stories Story 7 的 Dev → QA → 打回修复流转仍是目标(Haisu 2026-10-14),由协调成员动态派发实现,见 Roadmap M3。
-
没有自动反思调度:知识条目由人策展;
self_model_candidate没有晋升流程(未实现)。 - 没有自动远端写:push/PR/merge 需要 owner 明确授权,且不在本轮自动化范围内。
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