Repository navigation
ADR 0009
Provenance — Migrated 2026-10-06 from
docs/decisions/0009-workspace-project-repository-task.md@ zuohaisu/viva@871a00a · 迁移自主仓库该文件;正文相对链接已改为 Wiki 链接,原始状态/日期/作者行保留,原文以 Git 历史为准。
Status: Accepted(Haisu 显式指令,2026-09-27)· Supersedes: ADR 0003("用 Workspace 取代所有 Project 概念")
效力说明:"强制用 Workspace 取代所有 Project 概念"已被 Haisu 明确取代。新的边界是"这些概念需要清楚区分,但不要求每个概念立即拥有独立服务或复杂数据库"。归属规则(谁拥有什么知识)是本文的设计部分,随实现演进。
旧定义把 Workspace 抬成唯一语境对象,并明确写"没有 Project"。结果是:一个 workspace 只能对应一个仓库目录,无法表达"Haisu 用 Viva 管理多个项目、一个项目跨多个仓库、一个仓库同时服务两个项目",也无法区分"意图"(要做什么)与"执行环境"(在哪个 checkout 里做)。
对象与包含关系:
Workspace(长期工作语境,如 "开发协作")
└─ Project(一摊有名字的工作,如 "Viva" / "Hiring automation")
└─ Repository(一个 git 仓库;一个项目可引用多个,一个仓库也可被多个项目引用)
└─ Worktree(一个可独立写入的 checkout,按任务分配)
Task(意图,属于 Workspace;可以跨多个 worktree / 多个执行;可以没有 worktree)
- Workspace:长期语境与注册单位(本地目录/仓库的集合、project memory 指针)。
- Project:Workspace 里的工作单元;拥有 repositories 列表。项目知识(project knowledge)挂在 Project 上。
-
Repository:真实 git 仓库路径;多对多关系必须显式声明(
viva project bind),不靠目录嵌套推断。 - Worktree:执行环境。可写任务(delivery/implementation/fix/chore)必须有自己的 worktree;研究/规划/review 任务只读运行在仓库里,不创建 worktree。
- Task:意图对象,属于 Workspace(可关联 Project/Repository),不是 worktree 的属性:它可以先于 worktree 存在,也可以被多个执行服务。
-
Worktree 归属 Viva,不落在仓库内部:
~/.viva/worktrees/<repository>/<task-id>,避免污染 owner 未选择忽略的仓库。
-
viva project add/bind/list与Task.project_id使"项目"重新可见;workspace 不再是项目的别名。 - 归属测试(谁拥有这条知识)因此可执行:personal → 成员、project → Project、team/skill → 团队(见
docs/architecture/temporal-model.md§4)。 - 一个任务一个 worktree 的规则让"同一成员并行两个任务"天然隔离(验收场景 1/2)。
- 仍然只做本地:多仓库、多项目都是本机路径,不引入远端项目概念。
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