Skip to main content

项目管理

Asset
ADP-PLN-FEAT-DOC-0032
Feature
project-management
领域
plane-core
作用域
application-level
文档状态
draft
产品生命周期
active
文档 Owner
DOC
事实源
canonical-docs
工程 Owner
PLN
Development Ready
not-ready
更新
2026/10/14

FEATURE DEVELOPMENT PACKAGE

工程就绪状态

工程 Owner:PLN · 仓库:PLN

BLOCKED
development · not ready
  • 原子需求与验收
  • 设计与工程合同
  • 代码与仓库定位
  • 里程碑与工作包
  • 验证计划
  • 无阻断决策
verification · not ready
  • Development Ready 已通过
  • 验收标准已覆盖
  • 正式测试已登记
  • Fixture 与环境已定义
  • 测试规格已物化到正式测试
release · not ready
  • Verification Ready 已通过
  • 实现修订可定位
  • 发布证据已登记
  • 兼容与迁移已定义
  • Runbook 与回滚已定义
查看阻断项(5)
  • Development Ready 缺少:原子需求与验收
  • Development Ready 缺少:设计与工程合同
  • Development Ready 缺少:代码与仓库定位
  • Development Ready 缺少:里程碑与工作包
  • Development Ready 缺少:验证计划

功能目标​

在一个 Workspace 内创建和维护 Project identity、可见性、基础设置与生命周期,并让所有 Project 子能力引用同一个稳定 Project 边界。

功能结论​

主题当前结论
用户Workspace Admin/Member 当前可创建 Project;Project Admin 或 Workspace Admin 当前可更新和删除。
入口Workspace Project 列表、Project 导航,以及 /{workspaceSlug}/settings/projects/{projectId}。
可见结果维护名称、identifier、描述、Logo、封面、network、timezone 与 Project Profile;Admin 可归档或删除。
当前系统保证Project 必须属于一个 Workspace;同一 Workspace 中 active Project 的 name 与 identifier 唯一;identifier 保存为大写;Project Profile 不改变 Project 边界。
明确不做不在本页拥有成员权限、Feature 开关、状态、Project Automation enablement/runtime lifecycle/audit、Profile 模板详情、归档详情页或工作项业务事实。
权威 owner本页拥有 Project identity 与基础生命周期;子能力各自拥有配置和数据。

当前落地状态、已批准合同与差距​

  • 当前落地状态:Plane 提供 Project 创建、列表/详情、General Settings、archive/unarchive 和 delete API;Web General Settings 仅 Project Admin 可编辑并显示 archive/delete 控件。
  • 已批准合同:Project 是项目级 Feature 的主边界,隶属且不可跨越 Workspace;规划正文由指定仓库持有,Plane 原生工作管理与人工验收保持独立。
  • 当前差距:archive API 当前允许 Project Admin/Member,而 Web 控件仅向 Admin 展示;目标角色矩阵需要收敛。
  • 当前差距:network 的 current Secret(0) / Public(2) 对列表可见、详情进入和自动加入之间存在细粒度行为,尚未形成用户可解释的稳定合同。
  • 后续交付:确认创建权、network 语义、archive/delete 权限及恢复边界后,再固定 API schema 与验收场景。

Project 身份与基础字段​

General Settings 分别显示只读的项目 UUID(支持复制)和可编辑的项目标识符。UUID 用于外部连接定位;标识符用于工作项编号。UUID 不授予访问权限;执行服务绑定和 Issue 委托见Automation 用户操作。

字段当前 source evidenceOwner
id / workspace稳定 Project identity 与强制 Workspace 外键本页
name / identifierWorkspace 内 active 唯一;identifier 大写、最大 12 字符本页
description / logo / coverGeneral Settings 展示与编辑本页
network当前为 Secret 或 Public本页,但访问效果与成员与访问共同约束
timezone创建时默认继承 Workspace timezone,可在 Project 设置修改本页
project_profile / project_profile_template_versionProject 信息架构画像与模板应用版本Project Profiles
archived_at / deleted_atProject 生命周期标记本页;归档导航由归档展开
feature flags / defaultscycles/modules/pages/intake/type/time tracking/default assignee/state 等各专项 Feature,不在本页重复定义

用户与权限​

  • 当前 Workspace Admin 与 Member 可创建 Project;创建者自动成为 Project Admin。
  • 如果创建请求指定不同的 project lead,当前 source 会将其加入 Project Admin;是否继续保持此耦合待决策。
  • 当前 Project Admin 或 Workspace Admin 可更新 Project 基础字段和删除 Project。
  • 当前 Project 列表按 Workspace Role、Project membership 与 network 筛选:Guest 只看到已加入 Project;Member 可看到已加入或 Public Project。
  • retrieve 当前仍要求调用者是 Project member;Public 不是匿名公开,也不等于自动拥有 Project Role。

用户流程与系统响应​

  1. 用户在 Workspace 内创建 Project,提交 name、identifier 等基础字段。
  2. 服务端验证 Workspace、唯一性与字段格式,创建 Project、创建者 Admin membership,并初始化默认 states。
  3. Project Admin 在 General Settings 修改基础字段;archived Project 当前拒绝普通更新。
  4. archive 后 Project 从主要导航移出但保留恢复入口;unarchive 恢复可见性。
  5. delete 是独立高影响动作;当前模型走软删除基础设施,但用户可恢复性和保留期未批准,不应从实现推断。

数据、API 与事件​

当前 Project API 提供 collection/list-detail/item、identifier availability、archive/unarchive 与 delete,并产生 project activity/webhook。目标稳定合同至少要求:

  • Project id、Workspace id/slug 和 actor membership 在每次请求中一致;
  • name/identifier 唯一冲突返回稳定字段错误;
  • archive、unarchive、update、delete 并发时使用当前 version 或等价条件写;
  • archived Project 禁止新增下游业务数据,允许的只读/恢复路径明确;
  • delete 的影响范围、恢复能力和历史引用可解释;
  • Project activity/webhook 不泄露敏感配置,且不能替代保存结果。

跨层依赖​

  • Workspace 管理提供租户 identity 与默认 timezone。
  • 成员与访问拥有 direct membership 和 role;Public network 不替代 membership。
  • Feature 开关拥有 Cycles、Modules、Pages、Intake 等开关。
  • 状态拥有创建时初始化的状态集合。
  • Automation拥有项目执行服务绑定、Issue 委托开关与 Symphony 接入边界。它不是 Project 基础生命周期,也不保存 Project Workspace registry、DSH Profile/Application 或进程配置。

异常与停止条件​

  • Workspace 不匹配、actor 无创建/管理权限、name/identifier 冲突时 fail closed。
  • archived Project 的普通更新、Project Automation enablement 变更或新工作项写入不得悄悄成功;归档项目不能被 Symphony 领取,已有执行按取消/终态规则停止,不从进程存在推断交付结果。
  • network 变化将扩大可见范围时,若影响无法预览或权限 owner 不明确,应停止变更。
  • archive/delete 与下游执行、审批或发布仍活跃时,不得由本页自动取消或伪造完成。

验证与权威来源​

  • Web 设置:apps/web/app/(all)/[workspaceSlug]/(settings)/settings/projects/[projectId]/page.tsx
  • Web 表单与控制区:apps/web/core/components/project/form.tsx、apps/web/core/components/project/settings/control-section.tsx
  • API:apps/api/plane/app/views/project/base.py、apps/api/plane/app/urls/project.py
  • 模型与类型:apps/api/plane/db/models/project.py、packages/types/src/project/projects.ts

当前 source 证明代码路径存在,不证明 production activation;Project lifecycle 仍需真实 TEST 验收。

待决策问题​

  1. Project 创建权最终是 Workspace Admin only,还是 Admin + Member?
  2. Public Project 的“可发现、可进入、自动加入、可见工作项”应分别如何定义?
  3. archive 与 delete 的角色、影响预览、恢复期限和历史保留合同是什么?

规划与工作管理分工​

游戏愿景、Game Brief、GDD、架构和 Story 拆分使用 BMGD 工作流,产物保存在所属项目指定的规划仓库。 AutoDev 平台自身的需求和设计使用 canonical docs 与 OpenSpec。Plane 不维护第二份路线图、版本需求、 分析产物、规划审批或规划状态机;自定义项目规划入口、API、配置和 live models 全部退役。

Plane 保留原生 Issue、Module、Cycle、Milestone、父子/依赖关系、负责人、实时业务状态与评论。 规划来源通过固定仓库引用连接;物化只建立协作对象,不形成双向规划同步或自动接受产品成果。 独立 AutoDev Core 的任务与运行由其 owning 请求和执行源管理,不复制到 Plane。

从权威文档建立工作​

使用当前 v3 普通 Issue 物化候选或人工创建工作,来源绑定完整 Git commit、路径和 SHA-256。 kind 为 issue/task/bug,父子关系不强制 Epic。物化保持自动化关闭,委托由 Issue 开关明确发起。 BMGD 工作台的内容预览仍需所属仓库入库及实际 tracker 比对;接入 BMGD 不代表已经发布或委托。

人工验收与历史​

Issue 业务按钮和里程碑人工验收保留。指定人根据固定需求引用、当前原生工作范围和实际交付证据作出决定; Issue 数量、CI 成功、MR 合并和 100% 进度均不代表产品体验已通过。里程碑验收不再要求 Plane 版本计划。

migration 0099 在删除 live planning tables 前,将最终规划、产物、批准、成员映射和命令回执一次性保存到 PlanningRetirement: 只读历史。此前 Run/Epic 退役时的原始快照保留,最终修订不覆盖旧审批依据。 活动版本成员及其活动子项转换为原生里程碑归属;与直接/Cycle/Module 归属冲突时迁移原子中止。 旧里程碑合同和决定也归档,当前验收指纹清空并记审计,不自动继承旧批准。

历史可从 project history-archive/ 查看;没有旧规划读写 API、兼容参数或执行回退路径。 里程碑原生工作范围与人工验收合同见里程碑。