149 KiB
PMFlow 产品推进执行标准
版本日期:2026-04-24
本文档是 PMFlow 产品方案落地的推进标准。它回答四件事:
- 当前产品方案推进到哪里了。
- 下一步应该继续往哪里推进。
- 每次推进的范围、验收和文档回写怎么做。
- 新开 Codex 线程时如何接续,避免重做、漏做或偏离方向。
产品方向真源仍以 docs/PMFLOW_PRODUCT_BLUEPRINT.md 为准。本文档不重新定义战略,只管理落地节奏和进度。
1. 当前推进判断
截至 2026-04-24,PMFlow 已经完成“产品方向收敛 + 前端本地高保真主链 + 后端局部控制面”的阶段,但还没有完成“真实数据闭环产品化”。
1.1 已经推进到位的部分
产品方向
- 已明确 PMFlow 不是“聊天工具 + 项目管理工具”,而是“对话驱动的 AI 产品执行操作系统”。
- 已明确首版方向为
solo-first, team-ready,面向个人开发者、一人公司、半技术产品创作者和 1-10 人 AI 应用小团队。 - 已明确团队协作不是传统多人维护任务表,而是围绕 AI 维护的项目真相层进行异步审查和人机混编执行。
- 已明确 V1 主链为:
创意输入 -> AI 结构化提取 -> 变更确认 -> 项目对象沉淀 -> 任务拆解 -> 推送 IDE / agent -> 开发与测试回写 -> 发布 -> 数据反馈 -> 下一轮迭代。
真源:
docs/PMFLOW_PRODUCT_BLUEPRINT.mdUSER.md
前端产品域
当前已经存在三条独立产品域:
frontend/src/features/personal-space/- 空间入口。
- 用本地 mock 展示继续推进、待我确认、AI 正在推进、暂存想法、草案箱和新建项目入口。
frontend/src/features/project-launch/- 新项目启动台。
- 用本地状态机覆盖意图输入、AI 工作、人类确认、草案修改、失败态、创建成功态和移动端 bottom sheet。
frontend/src/features/pmflow-os/- PMFlow OS 项目内主体验。
- 已有本地 truth store 和页面:
CommandCenter / StructuredExtraction / ChangeReview / MemoryWritebackResult / WorkGraph / ExecutionBridge / ReleaseGrowth / TeamLayer / ProjectMemory。 - 已有本地状态动作:
sendMessage -> generateExtraction -> acceptChange/editChange/deferChange -> promoteAcceptedToGraph -> pushTaskToExecution -> writeBackExecution -> publishRelease -> ingestGrowthSignal。
当前性质:
- 这是产品主链的高保真原型和本地行为闭环。
- 还不是正式后端数据闭环。
- 不接真实 AI 提取,不写真实数据库,不消费真实项目对象。
后端控制面
当前已经出现 AI 应用项目控制面的初步生产化能力:
backend/app/models/ai_project_control.py- 模型目录、项目模型绑定、模型推荐快照、模型用量、模型评测。
- Prompt Package。
- IDE 工作区绑定、Repo 绑定、GitHub App 安装/仓库/webhook 投递。
- TaskCodeLink、ProgressEvent、DevSession。
- ReleaseValidationRun、FeedbackIngest、IterationRecommendation、RevenueEvent、ROISnapshot、ComplianceCheckRun、EvidencePack。
backend/app/services/ai_project_control_service.py- 模型推荐、模型绑定、prompt package、开发同步、GitHub/repo 绑定、进度事件、发布验证、反馈/收入/合规等服务能力。
backend/app/api/sstc_api/model_control.py- 模型推荐、模型绑定、模型用量、Prompt Package、发布验证、反馈摄取、收入记录、合规检查等接口。
backend/app/api/dev_sync.py- GitHub App 安装、仓库绑定、开发任务、项目 dev-sync summary、任务进度事件等接口。
当前性质:
- 后端已经有 V1 产品化需要的部分基础对象和接口。
- 但它们还没有和
frontend/src/features/pmflow-os/的本地 truth store 正式打通。 ChangeSet / Approval / Evidence / Project Memory这条主产品链仍主要停留在前端本地态和旧 SSTC/semantic facts 体系之间,缺少统一的 PMFlow OS 产品级 API 合同。
1.2 当前缺口
当前最大缺口不是再讨论产品方向,而是:
把已经成立的产品主链从本地原型推进成真实可用的数据闭环。
关键缺口按优先级排序:
Project Thread / ChangeSet / Evidence / Approval / Project Memory的前后端合同没有完全收口。project-launch还没有接真实 AI 结构化、真实项目创建和真实草案确认。pmflow-os本地 store 还没有接后端读写,当前仍是 mock truth store。ChangeReview的接受、修改、暂缓还没有写入正式对象、审批记录和证据链。ExecutionBridge已接入真实 execution-summary/dev-sync、execution handoff、运行端领取和 progress writeback;当前缺口不再是执行桥读写合同,而是执行质量、审查责任和个人队列的产品化。ReleaseGrowth已接入 execution evidence gate、release validation run、feedback ingest 和 recommendation -> ChangeSet draft 回流;revenue、ROI、compliance 还没有串成完整发布后反馈循环。TeamLayer已接入 reviewer routing 与 review decision 状态展示;Role Inbox、Decision Desk、Team Feed 仍缺完整真实数据模型。ExecutionBridge页面还没有消费 dev-sync / GitHub / PromptPackage 真实接口。ReleaseGrowth已接入 execution evidence gate、release validation run 与 feedback ingest;revenue、ROI、compliance 还没有串成完整发布后反馈循环。TeamLayer已接入 reviewer routing / review decision 读模型,能展示待审 ChangeSet、建议审查人、审查原因、风险类型、缺角色 warning、审查状态和审查意见;Role Inbox、Decision Desk、Team Feed 仍缺完整真实数据模型。
2. 下一步推进方向
下一步不要扩大战线,不要新增新的战略产品表面;可以在已确认的 Main Flow / Space / Account Settings 这些既有表面内并行推进。正确方向是:
把 V1 主链真实闭环化。
也就是从“本地高保真原型”推进到“真实项目对象 + 真实 AI 提取 + 真实确认写入 + 真实执行回写”。
2.1 下一阶段总目标
阶段目标命名为:
V1 Productized Loop
验收标准:
- 用户从
/project-launch输入一个 AI 应用创意。 - 后端生成可审查的结构化草案或变更集。
- 用户确认后创建项目,并写入项目真相层。
- 进入
/command-center后能看到真实项目线程、结构化提取、待确认项和项目对象。 - 用户接受变更后,正式对象、审批记录、证据链同步更新。
- 至少一个任务能生成 Prompt Package,并进入 Execution Bridge。
- Execution Bridge 能消费真实 dev-sync summary 或 progress event。
- 发布/反馈页能消费至少一类真实 release validation / feedback / revenue / compliance 数据。
2.2 暂不推进的方向
下一阶段暂不推进:
- 完整财务系统。
- 完整合规平台。
- 企业组织树和复杂权限矩阵。
- 多项目 portfolio。
- 应用市场、投融资、孵化生态。
- 前台多 agent 选择器。
- 与产品主链无关的后台治理页扩展。
这些都不是当前瓶颈。
3. 推荐推进顺序
3.0 功能原型一致性治理
任何 PMFlow 核心功能在继续出图、重画、实现或新开线程接续前,必须先确认是否已有 canonical 功能契约。若已有契约,后续只能在该契约下新增状态、补充局部区域或做明确版本迭代,不能把同一功能重新设计成另一套页面。
功能契约至少包含:
- 功能定位
- 页面/状态列表
- 固定导航壳
- 核心对象模型
- 状态标签体系
- 用户动作
- AI 动作
- 系统状态
- 移动端规则
- 不可随意改变的部分
- 可扩展的部分
确认流程:
- 先列出本轮涉及的功能清单。
- 每次只提交一个功能契约给用户确认。
- 用户确认后,才把该功能契约写入本文档或对应产品真源。
- 后续原型图、实现、验收都以已确认契约为准。
- 如需重构,必须先说明旧版是什么、新版改什么、迁移影响是什么,并得到明确确认。
当前需要逐个确认的功能清单:
- 新项目启动台
- 个人空间首页
- 项目指挥台
- 本轮结构化提取
- 决策与待确认
- 项目记忆
- 移动端底部导航
- 项目切换器
- 项目工作台
- 开发执行联动
- 发布与增长
- 团队协作
Phase A:产品合同收口
目标:
把 pmflow-os 本地类型、现有 SSTC/semantic facts/ai_project_control 后端对象和 V1 蓝图对象对齐。
范围:
- 梳理
ProjectThread / ChangeSet / ChangeItem / Evidence / Approval / ProjectMemory / ExecutionRun的后端合同。 - 明确哪些对象复用现有表,哪些需要新表或投影表。
- 明确
frontend/src/features/pmflow-os/types.ts如何映射到 API response。 - 明确哪些接口走已有
sstc_api/dev_sync,哪些需要新增pmflow_os_api。
产物:
- API/Schema 设计说明或直接 Pydantic schema。
- 更新
docs/architecture/CODE_REFERENCE_INDEX.md。 - 如新增表,必须 Alembic migration。
验收:
- 能回答“前端每一个本地对象从哪个后端字段来,写回到哪里去”。
- 不能再出现前端原型对象和后端业务对象各讲各话。
Phase B:Project Launch 真实创建链
目标:
把新项目启动台从本地状态机接到真实项目创建/草案确认主链。
范围:
/project-launch意图输入接真实 API。- AI 结构化结果必须产出可审查草案,而不是直接静默创建。
- 用户确认后创建项目,并跳转真实
/command-center。 - 创建结果必须写入项目真相层初始对象:Idea、Requirement、Decision、Risk、Task 或等价 SSTC 对象。
验收:
- 真实接口创建项目。
- 失败时显式失败,不用 mock 冒充成功。
- 创建成功后进入真实项目上下文。
- 项目创建前移动端仍不展示正式底部导航。
Phase C:Change Review 与 Project Memory 写入
目标:
让对话/结构化提取生成的 ChangeSet 能被接受、修改、暂缓,并写入正式项目对象和证据链。
当前拆分:
- C1:真实 Change Review 数据底座与审查状态机,已实现
ChangeSet / ChangeItem / Approval / EvidenceLink表和accept / edit / defer,但不 commit。 - C2:提交入库,把已接受/已编辑 ChangeItem 写入
truth_nodes / tasks / semantic_facts并完成高风险 approval gate。
范围:
StructuredExtractionPage接真实提取结果。ChangeReviewPage接真实 ChangeSet。- 接受/修改/暂缓动作调用后端。
- C2 写入后
ProjectMemoryPage / WorkGraphPage / TeamFeed能读到最新对象。
验收:
- ChangeSet 有 Evidence。
- 高风险变更需要 Approval。
- C1 接受后只进入
accepted / edited / deferred审查状态,不进入 Project Memory。 - C2 commit 后对象状态从 proposed/draft 进入 confirmed 或对应正式状态。
- 暂缓后不进入项目真相层,但仍留审计。
Phase D:Execution Bridge 真实开发同步
目标:
让 PMFlow 真正连接开发执行,而不是只展示执行概念。
范围:
ExecutionBridgePage消费devSyncApi。- 任务能生成 Prompt Package。
- 能绑定 repo 或展示 GitHub App 安装状态。
- 能创建或读取 ProgressEvent。
- 能把 PR/commit/test 信息回写到任务和 Team Feed。
验收:
- 至少一个真实任务能进入执行桥。
- 能看到真实 Prompt Package 或 dev task。
- 能看到真实 progress event。
- 任务状态能随回写变化。
Phase E:Release / Growth 轻量闭环
目标:
上线后反馈进入下一轮迭代,不停在“开发完成”。
范围:
ReleaseGrowthPage已消费 execution evidence gate、release validation run 与 feedback ingest。- 继续扩展 feedback / revenue / compliance 到统一发布后信号读模型。
- 支持 revenue event 或基础 ROI snapshot。
- 支持 compliance check 的轻量门禁。
- 反馈能生成 IterationRecommendation 或下一轮 ChangeSet。
验收:
- 发布前有门禁。
- 发布后有反馈/收入/成本/合规至少一类真实信号。
- 信号能回流为下一轮建议,不只是展示图表。
Phase F:Team-ready 最小闭环
目标:
不做重型团队管理,但补齐小团队围绕项目真相层协作的最小能力。
范围:
- 成员归属。
- 角色收件箱 Role Inbox。
- Team Feed。
- Decision Desk 或高风险变更多人审查。
- Agent Workforce 的只读可见化。
验收:
- 不同角色看到不同待处理项。
- 高风险 ChangeSet 能先展示建议 reviewer/owner 与审查原因;自动指定或权限化分派不属于当前最小闭环。
- Team Feed 展示 AI 提取、人工确认、执行回写、测试/发布变化。
4. 单次任务范围标准
每次 Codex 执行产品推进任务,必须控制为一个“可闭环增量”,不要跨太多面。
4.1 默认范围
一次任务最多覆盖:
- 一个产品表面:如 Project Launch / Change Review / Execution Bridge。
- 一个后端合同或服务切片。
- 一个前端接入切片。
- 对应测试。
- 对应文档进度回写。
如果预计改动超过 5 个核心文件或超过约 200 行业务代码,必须先拆子任务,除非是同一根因的缺陷修复。
4.2 推荐任务模板
每次新任务开始前,先给自己明确:
- 本次要推进的 Phase。
- 本次要打通的用户路径。
- 涉及的前端入口。
- 涉及的后端 API / service / model。
- 本次不处理的边界。
- 最小验证命令。
- 完成后要更新的进度文档。
4.3 禁止范围漂移
产品推进任务里禁止顺手做:
- 无关视觉重构。
- 无关后台治理页扩展。
- 无关权限体系大改。
- 无关 AI prompt 大改。
- 无关模型路由策略调整。
- 无关文案大清洗。
除非这些问题直接阻断本次用户路径。
4.4 Codex 并行推进协议
PMFlow 允许多个 Codex 线程并行推进。产品上可以按“大模块 lane”长期并行,例如主流程、空间、个人中心,但实际执行单位仍必须是明确的 Packet。不能只用“做空间”“做个人中心”“做主流程”这类模糊大模块直接开工;每个模块 lane 都必须拆成带 write_scope 的 Packet。没有 write_scope 的任务不允许并行执行。
每个并行 Packet 开始前必须声明:
packet_idphaseowner_threadbase_refread_scopewrite_scopeforbidden_pathsshared_filesdepends_onmerge_afterverificationdocs_to_sync
并行硬规则:
- 只有
write_scope不重叠的 Packet 才允许并行。 - 任意两个 Packet 若同时需要改
router / schema / migration / shared API client / shared store / CLAUDE.md / CODE_REFERENCE_INDEX.md,必须串行。 - 每轮并行最多保留一个
contract / migration / router owner;其它线程只能消费该 owner 已定义的稳定接口。 - 并行线程不得在自己的
write_scope外做“顺手修复”;发现阻塞问题时,只记录到 integration notes 或新建后续 Packet。 - 同一批并行开发必须指定一个
integration owner,负责最终合并共享文件、跑集成验证和更新进度台账。
4.4.1 大模块并行治理
大模块并行的目标是让不同产品表面长期同时推进,但不让它们抢同一批共享文件、共享状态和共享合同。
大模块 lane 可以长期存在;Packet 必须短生命周期。lane owner 负责该产品表面的连续性,Packet owner 负责一次可验证增量。一个 lane 同一时间可以只有一个活跃 Packet,也可以拆成同 lane 内串行小 Packet;不同 lane 只有在 write_scope 不重叠时才允许并行。
大模块并行必须遵守以下规则:
- 先由
Shell / Integration owner冻结公共壳、路由、导航、Provider、共享 API client、共享文档归属。 Main Flow / Space / Account Settings等模块线程只能写自己 lane 的 owned files。- 任一模块需要改共享文件,必须先把该修改拆给
Shell / Integration owner,不能在模块 Packet 里顺手改。 - 模块之间只能通过稳定合同交互:URL、route params、只读 summary API、事件/待确认摘要、用户偏好 API;禁止跨模块直接 import 对方 store 内部实现。
- Space 只能聚合和跳转,不直接写 Project Memory、ChangeSet commit、Execution Bridge 回写。
- Account Settings 只能处理用户资料、偏好、通知和账户壳,不直接改项目主链、权限核心或 AI 路由。
- Main Flow 可以继续推进 PMFlow OS 主链,但不得顺手重做 Space 首页或个人中心。
- 每批大模块并行仍必须有一个 integration owner 统一执行
Parallel Integration Gate。
共享高冲突文件默认只归 Shell / Integration owner:
frontend/src/router/index.tsxfrontend/src/main.tsxfrontend/src/lib/api.ts或其它共享 API basefrontend/src/features/pmflow-os/components/PMFlowOsFrame.tsxfrontend/src/features/pmflow-os/components/MobileBottomNav.tsxbackend/app/api/router.pybackend/app/models/__init__.pybackend/alembic/versions/*CLAUDE.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mddocs/architecture/API_CONTRACTS.md
4.4.2 当前大模块 lane 划分
Lane 0:Shell / Integration
定位:
- 冻结公共应用壳、路由、移动底部导航、Provider、共享文档和合并顺序。
- 不承担具体产品表面的大量 UI 实现。
默认写范围:
frontend/src/router/index.tsxfrontend/src/main.tsxfrontend/src/features/pmflow-os/components/PMFlowOsFrame.tsxfrontend/src/features/pmflow-os/components/MobileBottomNav.tsxCLAUDE.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mddocs/architecture/API_CONTRACTS.md
Lane 1:Main Flow / PMFlow OS 主流程
定位:
- 打穿 V1 主链:Project Thread -> Structured Extraction -> Change Review -> Project Memory -> Execution Bridge -> Release/Growth。
- 这是产品核心闭环,优先级最高。
默认写范围:
frontend/src/features/pmflow-os/frontend/src/api/pmflowOs.tsbackend/app/api/pmflow_os_api/backend/app/services/pmflow_os_projection_service.pybackend/app/services/pmflow_change_review_service.pybackend/app/schemas/pmflow_os.pybackend/tests/test_pmflow_*
默认禁止:
- 不改
frontend/src/features/personal-space/。 - 不改 Account Settings 域。
- 不改共享 router / nav / docs,除非本 Packet 就是 integration owner。
Lane 2:Space / 个人空间入口
定位:
- 建设
/space作为所有项目、想法、草案、待确认和 AI 推进状态的上层入口。 - Space 是聚合与导航层,不是 Project Memory 或 ChangeSet 的写入层。
默认写范围:
frontend/src/features/personal-space/frontend/src/pages/PersonalSpacePage.tsxfrontend/src/api/space.ts(如需要)backend/app/api/space_api/(如需要,只读聚合优先)- Space 相关测试
默认禁止:
- 不改
frontend/src/features/pmflow-os/store.tsx。 - 不改 PMFlow OS 主流程页面。
- 不改 ChangeSet commit / Execution Bridge 写回服务。
- 不直接写项目真相层;写动作必须跳转或调用已有主流程合同。
Lane 3:Account Settings / 个人中心与设置
定位:
- 建设
/me、个人资料、偏好、通知、AI 使用偏好和账户操作。 - Account Settings 是用户偏好层,不是项目协作层或权限核心重构。
默认写范围:
frontend/src/features/account-settings/(建议新建)frontend/src/features/pmflow-os/pages/AccountPage.tsxfrontend/src/features/pmflow-os/components/AccountControls.tsxfrontend/src/api/accountSettings.ts(如需要)backend/app/api/account_settings_api/(如需要)- Account Settings 相关测试
默认禁止:
- 不改 Project Memory / ChangeSet / Execution Bridge。
- 不改 Space 聚合。
- 不改 OAuth/JWT/auth core;如必须改,另开安全 Packet。
- 不改共享 router / nav,除非由 integration owner 串行处理。
4.4.3 P0 公共壳冻结结果
截至 2026-04-26,P0 对当前共享壳的冻结结论如下。后续 main-flow-phase-d-execution / space-v1-workbench / account-settings-v1 必须按此边界开工。
Route 归属
| 路由 | 当前实现 | 归属 lane | 后续规则 |
|---|---|---|---|
/space |
已存在,PersonalSpaceStandalone -> frontend/src/pages/PersonalSpacePage.tsx -> frontend/src/features/personal-space/ |
Space | Space lane 可改页面域;不得在本 lane 改 router,除非通过 Shell owner |
/project-launch |
已存在,ProjectLaunchStandalone -> frontend/src/pages/ProjectLaunchPage.tsx -> frontend/src/features/project-launch/ |
Project Launch / Shell owned route | 非本批三线程主任务;后续只作为 Space 和 Main Flow 的入口/跳转消费 |
/pmflow-os |
已存在,alias 到 CommandCenterStandalone,支持 ?projectId=<id> 真实项目上下文 |
Main Flow | Main Flow lane 消费;route alias 归 Shell owner |
/command-center |
已存在,standalone 与 AuthGuard children 双入口均存在 | Main Flow | 当前作为免登录产品预览壳和项目指挥台入口;后续是否收敛双入口由 Shell owner 单独处理 |
/change-review |
已存在,移动底导“待确认”指向此路由 | Main Flow | Space 只能聚合摘要并跳转,不直接写 Change Review 状态 |
/execution-bridge |
已存在于 AuthGuard children | Main Flow | Phase D 真实接入由 Main Flow lane 负责 |
/release-growth |
已存在于 AuthGuard children | Main Flow | Phase E 再推进,不进入本批 Space / Account scope |
/me |
已存在,standalone 与 AuthGuard children 双入口均存在,页面来自 frontend/src/features/pmflow-os/pages/AccountPage.tsx |
Account Settings | Account lane 可改 AccountPage/AccountControls;route 归 Shell owner |
/settings |
当前未实现 | Account Settings reserved | 不在 P0 临时新增;由 account-settings-v1 提出需要后,Shell owner 串行加 route |
Provider 与共享状态
frontend/src/main.tsx当前全局挂载QueryClientProvider -> PMFlowOsProvider -> ToastProvider -> RouterProvider。PMFlowOsProvider当前是全局 provider,但业务所有权归Main Flow / PMFlow OS。- Space 和 Account Settings 可读取稳定公开 hook/API,但禁止直接改
frontend/src/features/pmflow-os/store.tsx或依赖其内部 mutation 细节。 - 如果 Space 需要“待确认 / AI 正在推进 / 最近项目”摘要,优先新增
frontend/src/api/space.ts与只读后端聚合接口,不能从 PMFlow OS store 内部反向拼。 - 如果 Account Settings 需要用户偏好,优先新增
frontend/src/api/accountSettings.ts与独立后端接口,不能把个人偏好塞进 PMFlow OS truth store。
导航与移动底部栏
frontend/src/features/pmflow-os/components/MobileBottomNav.tsx是正式应用壳唯一移动底部导航实现。- 当前五项固定为:
空间 -> /space、指挥台 -> /command-center、待确认 -> /change-review、动态 -> /command-center、我的 -> /me。 - Space / Main Flow / Account 三个模块线程不得各自改底部导航。任何导航项新增、重命名、跳转变更,都必须交给 Shell owner。
- 当前
动态暂时回到/command-center,属于保留占位;后续如实现/activity或动态页,必须单独开 Shell / Integration Packet。
下一批开工条件
main-flow-phase-d-execution可以直接开工,前提是不改 router、MobileBottomNav、PMFlowOsFrame 的导航归属。space-v1-workbench可以直接开工,前提是只改personal-spaceowned files 和可选space.ts / space_api,不碰 PMFlow OS store。account-settings-v1可以直接开工,前提是不新增/settingsroute;如确需/settings,先把 route 需求写入 integration notes,再由 Shell owner 添加。
4.5 V1 Productized Loop 默认并行切片
V1 主链并行开发默认按 lane 切分:
Contract Lane:API / Schema / DB migration / 核心对象合同,只允许单线程拥有。Backend Lane:service + route + tests,必须依赖 Contract Lane。Frontend Lane:frontend/src/api/+ React Query / store 接入,必须依赖稳定 API 合同。UI Lane:页面展示、状态、交互、响应式,只能改功能域内组件,不能改 API 合同。Docs/Test Lane:回归补充、文档同步、验证矩阵,可以和非共享代码并行,但最终由 integration owner 统一收口。
默认合并顺序:
- Contract / migration
- Backend service / API
- Frontend API / store
- UI / page
- Docs / test / integration
4.6 Phase C2 并行试点拆包
当前下一阶段 Phase C2:ChangeSet commit 入库 默认拆成四个 Packet:
C2-contract- Lane:
Contract Lane - 目标:定义 commit API、写入规则、高风险 approval gate、响应合同和失败语义。
- 写范围:PMFlow OS 产品合同、API 合同、schema 草案或对应设计文档。
- 退出条件:后端和前端实现线程不需要再自行决定 API shape。
- Lane:
C2-backend- Lane:
Backend Lane - 目标:实现 ChangeSet commit service、route、transaction、权限边界和后端测试。
- 依赖:
C2-contract - 写范围:
backend/app/api/pmflow_os_api/、backend/app/services/pmflow_change_review_service.py、backend/app/schemas/pmflow_os.py、相关 tests;若需要 migration,必须回到 Contract Lane 串行处理。
- Lane:
C2-frontend- Lane:
Frontend Lane - 目标:接入 commit API,更新
pmflow-osstore、Change Review 状态和错误/成功反馈。 - 依赖:
C2-contract - 写范围:
frontend/src/api/pmflowOs.ts、frontend/src/features/pmflow-os/store.tsx、ChangeReviewPage或 owned 组件测试。
- Lane:
C2-docs-verification- Lane:
Docs/Test Lane - 目标:同步产品推进台账、代码索引、API 合同、架构库存,并执行最终集成验证。
- 依赖:
C2-backend、C2-frontend - 写范围:文档和验证记录;共享文档由 integration owner 统一合并。
- Lane:
C2-contract 必须先完成;C2-backend 和 C2-frontend 只能在合同稳定后有限并行;最终必须由一个 integration owner 统一收口。
4.7 分支与 worktree 协议
并行开发默认使用独立分支和独立 worktree:
- 分支命名:
codex/<packet_id>。 - 每个 Packet 必须记录启动时的
base_ref。 - 每个并行线程优先使用独立 git worktree,避免同一工作区文件互相覆盖。
- 合并前必须检查当前分支是否落后主集成分支。
- 合并前必须检查
git diff --name-only,确认没有写出write_scope。 - 触碰共享高冲突文件时,必须交由 integration owner 合并。
4.8 Packet commit 协议
并行开发不是“每改一行就提交”,也不是“多个 Packet 混在一个长期分支里攒”。默认规则:
- 一个 Packet 对应一个短生命周期分支:
codex/<packet_id>。 - Packet 完成、验证通过、文档同步完成后,必须形成至少一个可审查 commit。
- Codex 必须自行执行 commit gate 判定,不把“该不该提交”默认丢给用户判断。
- 复杂 Packet 可以在同一分支内做多个 checkpoint commit,但每个 commit 都必须是逻辑完整切片,不能提交半成品、失败验证或越界改动。
- 不允许把多个不同 Packet 的实现混进同一个 commit。
- 不允许在旧 Packet 分支上继续做新 Packet;新 Packet 必须从最新 integration base 或明确依赖分支重新开
codex/<new_packet_id>。 - 如果新 Packet 依赖尚未合并的
Contract Lane,优先等待合同分支合入;确需提前开发时,必须以该合同分支作为base_ref,并在任务包里写明depends_on / merge_after。 - integration owner 只合并通过
Parallel Integration Gate的 Packet commit;未验证 commit 只能留在 Packet 分支内,不进入主集成分支。 - 每个 Packet 合并后,旧 Packet 分支只用于追溯,不再追加新业务改动。
commit gate 判定:
auto_commit:满足全部条件时,Codex 应自行提交当前 Packet 分支。- 当前改动全部在
write_scope内。 - 没有混入用户或其它线程的未归属改动。
- 触碰共享高冲突文件时,当前线程就是该文件的 owner 或 integration owner。
- 必要验证已通过;若验证无法执行,原因和影响已经写入结果与任务包。
- 必要文档已同步。
- commit 内容只包含当前 Packet。
- 当前改动全部在
hold_no_commit:满足任一条件时,Codex 不得提交,只能报告阻塞和证据。- 验证失败且失败与本 Packet 相关。
git diff --name-only发现越界改动。- 工作区混入无法归属的用户改动或其它线程改动。
- 发现 migration 多 head、合同不稳定、API shape 未定或依赖 Packet 未完成。
- 需要破坏性删除、重置、强推、覆盖、批量迁移等高风险操作。
ask_before_commit:满足任一条件时,Codex 必须先说明事实并等用户拍板。- 用户明确要求只改不提交。
- commit 需要包含共享高冲突文件,但当前线程不是 owner。
- 验证无法运行且该 Packet 风险较高。
- 需要把多个 Packet 的改动临时合在一个 commit 里。
- 需要提交历史遗留脏改动才能让当前 Packet 自洽。
推荐 commit 节奏:
contractPacket:合同文档、schema 草案或 migration 约束稳定后 commit。backendPacket:后端实现和对应测试通过后 commit。frontendPacket:API/store/UI 接入和对应前端验证通过后 commit。docs-verificationPacket:文档同步、最终验证记录和进度台账完成后 commit。
4.9 Parallel Integration Gate
每批并行开发结束后,integration owner 必须执行集成验收:
git diff --name-only检查每个 Packet 是否越界。- 后端改动:
python -m py_compile+ 相关pytest。 - 前端改动:
npm run typecheck+npm run build+ 相关 focused tests。 - migration 改动:
alembic heads必须单 head;必要时执行alembic upgrade head。 - 文档:产品推进台账、代码索引、API 合同、架构库存同步完成。
- 若后端或 migration 改动已经落地,按项目规则执行热部署/重启;若不能执行,必须明确写阻塞原因。
5. 每次完成后的进度回写标准
后续 Codex 每完成一个 PMFlow 产品推进任务,必须自己更新进度,不需要用户额外提醒。
5.1 必须更新的地方
每次完成后至少更新:
- 本文档
## 8. 进度台账- 新增一条记录。
- 写清完成内容、影响范围、验证结果、下一步建议。
- 如果新增/删除/重命名文件或入口:
- 更新
CLAUDE.md - 更新
docs/architecture/ARCHITECTURE_INVENTORY.md - 更新
docs/architecture/CODE_REFERENCE_INDEX.md
- 更新
- 如果新增/修改 API/Schema:
- 更新
docs/architecture/CODE_REFERENCE_INDEX.md - 必要时更新
docs/architecture/API_CONTRACTS.md
- 更新
- 如果新增运行边界、禁止项或系统行为约束:
- 更新
docs/architecture/RUNTIME_GUARDRAILS.md
- 更新
- 如果改变产品战略或不可偏离项:
- 更新
docs/PMFLOW_PRODUCT_BLUEPRINT.md - 更新
USER.md
- 更新
5.2 进度台账记录格式
每条记录必须包含:
- 日期。
- Phase。
- 状态:
done / partial / blocked。 - 完成内容。
- 涉及文件。
- 验证命令和结果。
- 未完成或风险。
- 下一步建议。
5.3 什么时候不用更新蓝图
普通实现、接 API、修 bug、补测试,不更新产品蓝图。
只有以下情况才更新蓝图:
- 用户改变产品定位。
- V1 范围改变。
- 团队方向改变。
- 新增/删除核心产品表面。
- 改变不可偏离项。
6. 新开线程接续标准
任何新 Codex 线程,如果用户要求继续 PMFlow 产品推进,必须先读:
USER.mddocs/PMFLOW_PRODUCT_BLUEPRINT.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mdCLAUDE.mddocs/architecture/CODE_REFERENCE_INDEX.md
然后再查当前目标相关代码。
新线程不得:
- 重新讨论 PMFlow 是否应该做对话驱动 OS。
- 重新建议变成传统项目管理工具。
- 重新发散大而全模块。
- 忽略
## 8. 进度台账直接从头设计。 - 把本地原型当成真实后端闭环。
- 把已有后端
ai_project_control / dev_sync / sstc model_control忽略后重造一套。
7. 当前下一步推荐任务
当前已完成:
P8:Review Decision Loop 剩余消费面收口。
原因:
- Main Flow 已把
reviewerRouting从“只读建议”推进到review request -> reviewer decision -> approval audit,并复用PMFlowApproval形成审计记录。 - Space 已把待审/已请求/已决策事项纳入
/space的个人下一步队列,Account 已补 review decision / high-risk approval 的页面内提醒偏好合同。 - P8 集成仍不新增战略页面,不改 router/nav,不接真实通知中心;继续使用既有
/change-review / /team-layer / /space / /me表面。
7.1 P8 并行建议
P8 可以三条 lane 并行,但共享高冲突文件必须由 Main Flow 或 Shell / Integration 串行处理。
Main Flow Packet:main-flow-p8-review-decision-loop
状态:已完成。
目标:
- 把 reviewerRouting 从“只读建议”推进到“审查决策闭环”。
- 支持对待审 ChangeSet 请求审查、记录 reviewer decision、形成
PMFlowApproval审计记录。 - 让
ChangeReviewPage / TeamLayerPage展示审查状态、审查意见、高风险 approval gate 和下一步动作。 - reviewer decision 只影响审查/approval 状态,不自动 commit ChangeSet。
- high-risk ChangeItem 必须继续遵守 C2 approval gate。
建议写范围:
backend/app/api/pmflow_os_api/backend/app/services/pmflow_change_review_service.pybackend/app/services/pmflow_os_projection_service.pybackend/app/schemas/pmflow_os.pybackend/tests/test_pmflow_change_review_api.pybackend/tests/test_pmflow_os_projection_api.pyfrontend/src/api/pmflowOs.tsfrontend/src/features/pmflow-os/store.tsxfrontend/src/features/pmflow-os/store.api.test.tsxfrontend/src/features/pmflow-os/types.tsfrontend/src/features/pmflow-os/pages/ChangeReviewPage.tsxfrontend/src/features/pmflow-os/pages/TeamLayerPage.tsx- 相关 Main Flow 文档
禁止:
- 不新增 migration,优先复用
PMFlowApproval。 - 不新增 route/nav。
- 不改 Space / Account。
- 不自动 commit ChangeSet。
- 不接真实邮件、桌面推送或系统通知中心。
Space Packet:space-p7-review-attention-queue
状态:已完成。
目标:
- 把 Team Review 的待审事项接入
/space的“我的下一步”队列。 - 只读消费
truth-state.reviewerRouting;如果 Main Flow P8 已完成,再只读消费reviewDecision / approvalState。 - 展示“我需要审什么 / 哪些审查卡住了项目”,所有动作仍只跳主流程。
建议写范围:
frontend/src/api/space.tsfrontend/src/features/personal-space/frontend/src/features/personal-space/PersonalSpacePage.test.tsx- Space 相关文档
禁止:
- 不写 ChangeSet、
PMFlowApproval、ProgressEvent、ReleaseValidationRun、FeedbackIngest。 - 不改 PMFlow OS、Account、router 或 bottom nav。
- 不虚构 reviewer 或待审项。
Account Settings Packet:account-p8-review-decision-preference
状态:已完成。
目标:
- 扩展 Account Settings 的提醒偏好合同,增加 review decision / reviewer request / high-risk approval 相关偏好。
- 仍然只控制页面内提醒强度,不接真实通知中心。
- 偏好关闭只能静默强调,不得隐藏真实 reviewerRouting、approval、evidence 或 audit state。
建议写范围:
frontend/src/api/accountSettings.tsfrontend/src/features/account-settings/AccountSettingsPanel.tsxfrontend/src/features/account-settings/accountSettings.test.ts- Account 相关文档
禁止:
- 不改 PMFlow OS、Space、router 或 backend schema。
- 不把偏好当业务权限。
7.2 P8 Integration Owner 收口
状态:已完成。
目标:
- 检查 Main Flow / Space / Account 三个 Packet 的
git diff --name-only是否越界。 - 统一处理共享文档、API 索引和状态台账冲突。
- 确认 P8 仍不新增战略页面,仍使用既有
/change-review / /team-layer / /space / /me表面。 - 跑 Main Flow / Space / Account focused tests、全量 typecheck/build,并在后端变更后重启 backend 确认 healthy。
- 更新
## 8. 进度台账、CODE_REFERENCE_INDEX.md、ARCHITECTURE_INVENTORY.md与必要的CLAUDE.md。
8. 进度台账
2026-04-26 / big-module-integration-p8 / done
完成内容:
- 从
e8bb125P8 共同基线新建codex/big-module-integration-p8,依次合入main-flow-p8-review-decision-loop、space-p7-review-attention-queue、account-p8-review-decision-preference。 - 确认 P8 未新增 route/nav,
frontend/src/router/index.tsx与frontend/src/features/pmflow-os/components/MobileBottomNav.tsx未进入集成 diff。 - Main Flow 合同作为 reviewer decision 真源:
truth-state.reviewerRouting包含reviewDecision / approvalState / requestedAt / decidedAt / decisionReason,POST /pmflow-os/change-sets/{change_set_id}/review-decisions只写审查/approval 审计,不自动 commit。 - Space 只读消费
truth-state.reviewerRouting生成/space的review_attention下一步队列,不写 ChangeSet、PMFlowApproval、ProgressEvent 或发布/反馈对象。 - Account 只提供
getReviewDecisionNotificationPreference页面内提醒偏好消费合同;偏好关闭只能静默提醒强度,不隐藏 reviewerRouting、approval、evidence 或 audit state。 - 共享文档、代码索引和 inventory 已统一为 P8 收口后的边界说明。
涉及文件:
- 合并依赖分支带入的 Main Flow / Space / Account owned files
CLAUDE.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.md
验证:
PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m py_compile backend/app/api/pmflow_os_api/__init__.py backend/app/services/pmflow_change_review_service.py backend/app/services/pmflow_os_projection_service.py backend/app/schemas/pmflow_os.py通过。PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_pmflow_change_review_api.py backend/tests/test_pmflow_os_projection_api.py backend/tests/test_account_settings_api.py -q通过:35 passed;仍有既有backend/app/schemas/recipe.pyPydantic V2 class-based config deprecation warning。cd frontend && npm run test -- src/features/pmflow-os通过:13 passed;仍有既有 React Router v7 future flag warning。cd frontend && npm run test -- src/features/personal-space/PersonalSpacePage.test.tsx通过:3 passed;仍有既有 React Router v7 future flag warning。cd frontend && npm run test -- src/features/account-settings/accountSettings.test.ts通过:12 passed。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning(ai-steward / sstc / charts / governancechunk 环)。docker compose restart backend已执行,docker compose ps backend确认pmflow-backend恢复healthy。
2026-04-26 / main-flow-p8-review-decision-loop / done
完成内容:
- 新增
POST /pmflow-os/change-sets/{change_set_id}/review-decisions,支持request_review / approve / request_changes / reject,统一{code,message,data}包络返回changeSetDetail / truthState / warnings。 request_review校验 reviewer 必须属于当前项目且具备OWNER / REVIEWER角色;缺 reviewer 时 fail-closed 返回reviewer_missingwarning,不写入虚假审查状态。approve / request_changes / reject复用PMFlowApproval写审查审计记录;approve只把选中待审项标为 accepted,并使 high-risk item 满足 C2 approval gate,仍不自动 commit ChangeSet;request_changes / reject不写 Project Memory、不创建正式任务。ProjectTruthState.reviewerRouting扩展reviewDecision / approvalState / requestedAt / decidedAt / decisionReason和 requested/approved/changes/rejected 汇总计数;已决策项可继续在 Team layer 留痕,terminal decision 不再误报缺 reviewer。ChangeReviewPage增加审查决策面板,展示审查状态、建议 reviewer、审查意见、高风险 approval gate 和四类决策动作。TeamLayerPage增加待我审、已请求、已决策统计,并展示每个 routing item 的审查状态、审查意见与请求/决策时间。
涉及文件:
backend/app/api/pmflow_os_api/__init__.pybackend/app/schemas/pmflow_os.pybackend/app/services/pmflow_change_review_service.pybackend/app/services/pmflow_os_projection_service.pybackend/tests/test_pmflow_change_review_api.pybackend/tests/test_pmflow_os_projection_api.pyfrontend/src/api/pmflowOs.tsfrontend/src/features/pmflow-os/store.tsxfrontend/src/features/pmflow-os/store.api.test.tsxfrontend/src/features/pmflow-os/types.tsfrontend/src/features/pmflow-os/pages/ChangeReviewPage.tsxfrontend/src/features/pmflow-os/pages/TeamLayerPage.tsxdocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mdCLAUDE.md
验证:
PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m py_compile backend/app/api/pmflow_os_api/__init__.py backend/app/services/pmflow_change_review_service.py backend/app/services/pmflow_os_projection_service.py backend/app/schemas/pmflow_os.py通过。PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_pmflow_change_review_api.py backend/tests/test_pmflow_os_projection_api.py -q通过:31 passed;仍有既有backend/app/schemas/recipe.pyPydantic V2 class-based config deprecation warning。cd frontend && npm run test -- src/features/pmflow-os通过:13 passed;仍有既有 React Router v7 future flag warning。cd frontend && npm run typecheck未通过,阻塞在当前 worktree 缺失多项frontend/src/lib/*公共 helper(如@/lib/api、@/lib/utils、@/lib/datetime),不属于本 Packet write scope。cd frontend && npm run build未通过,原因同typecheck,停在同一批缺失frontend/src/lib/*公共 helper。docker compose ps backend/docker compose --env-file .env.example ps backend未能进入 backend health 检查:当前 worktree 缺少.env,Compose 要求BACKEND_PORT / LLM_PROVIDER / DASHSCOPE_API_KEY等必填 runtime env,.env.example中 API key 为空;未写宿主机配置,未用 dummy secret 重启服务。
未完成或风险:
- 本 Packet 不接 Space 个人队列、不扩展 Account review preference、不接真实通知中心;后续仍按 P8 剩余消费面推进。
- 本 Packet 不新增 migration、不改 router/nav、不改 Space/Account,不执行真实外部通知或自动 Project Memory commit。
2026-04-26 / space-p7-review-attention-queue / implemented
完成内容:
/space的nextActionQueue新增review_attention类型,只读消费ProjectTruthState.reviewerRouting(status/warningCode/summary/items)。- Team Review 待审事项按“高风险待我审 -> request_changes/rejected 后待处理 -> reviewer missing warning -> 普通 pending review”排序进入“我的下一步”。
- 高风险、普通待审与 review decision 后待处理项只跳
/change-review?projectId=<id>&changeSetId=<id>;reviewer 缺失 warning 只跳已有/team-layer?projectId=<id>。 PersonalSpacePage仅补充待审查的队列表达、icon、CTA 与空态文案,不新增模块,不写 ChangeSet、PMFlowApproval、ProgressEvent 或 PMFlow OS store。- reviewerRouting 为空时保持空态,不虚构 reviewer、审查意见或待审 ChangeSet。
涉及文件:
frontend/src/api/space.tsfrontend/src/features/personal-space/PersonalSpacePage.tsxfrontend/src/features/personal-space/PersonalSpacePage.test.tsxCLAUDE.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.md
验证:
cd frontend && npm run test -- src/features/personal-space/PersonalSpacePage.test.tsx通过:3 passed;仍有既有 React Router v7 future flag warning。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning(ai-steward / sstc / charts / governancechunk 环),构建成功。
2026-04-26 / account-p8-review-decision-preference / implemented
完成内容:
- 在
frontend/src/api/accountSettings.ts新增getReviewDecisionNotificationPreference(settings, event),覆盖review_requested / review_approved / review_changes_requested / review_rejected / high_risk_approval_required。 - Review decision 类事件统一映射到现有
pendingConfirmation偏好,继续输出 P7 的reminderIntensity / evidenceDisplay / showInAppReminder / showProminentReminder合同,并固定notificationTransport=in_app_only。 - helper 明确返回
reviewerRoutingPolicy=preserve_reviewer_routing、approvalPolicy=preserve_approval_state、evidencePolicy=preserve_business_evidence、auditPolicy=preserve_audit_state;偏好关闭只静默页面内提醒,不隐藏真实 reviewerRouting、approval、evidence 或 audit state。 AccountSettingsPanel通知偏好文案扩展到 review request / decision 与高风险 approval,不新增后端字段、不改 schema、不接真实通知中心。
涉及文件:
frontend/src/api/accountSettings.tsfrontend/src/features/account-settings/AccountSettingsPanel.tsxfrontend/src/features/account-settings/accountSettings.test.tsCLAUDE.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.md
验证:
cd frontend && npm run test -- src/features/account-settings/accountSettings.test.ts通过:12 passed。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning(ai-steward / sstc / charts / governancechunk 环),构建成功。
未完成或风险:
- 本轮只定义 Account Settings 偏好消费合同,不改 Main Flow review request / decision API,不改 Space attention queue。
- Review 偏好仍只影响页面内提醒表达;不得被 Main Flow 当作业务权限或 evidence/filter 开关。
2026-04-26 / shell-p8-rebaseline-next-plan / done
完成内容:
- 将第 7 节“当前下一步推荐任务”从已完成的 Team Review P1 重定为
P8:Review Decision Loop。 - 明确 P8 当前目标为
reviewerRouting -> review request -> reviewer decision -> approval audit -> personal attention,不再停留在 reviewer routing 只读建议。 - 写清 P8 三条可并行 Packet 边界:
main-flow-p8-review-decision-loop、space-p7-review-attention-queue、account-p8-review-decision-preference,以及big-module-integration-p8的收口职责。 - 明确 P8 不新增战略页面、不改 router/nav、不接真实通知中心;仍使用既有
/change-review / /team-layer / /space / /me表面。
涉及文件:
docs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mdCLAUDE.md
验证:
git diff --name-only已执行,diff 仅包含本 Packet 文档 write scope。rg -n "当前最建议下一步|P8|Review Decision Loop|Team Review P1" docs/PMFLOW_PRODUCT_DELIVERY_STANDARD.md CLAUDE.md docs/architecture/CODE_REFERENCE_INDEX.md docs/architecture/ARCHITECTURE_INVENTORY.md已用于确认推荐任务真源更新。
2026-04-26 / big-module-integration-p7 / done
完成内容:
- 新建
codex/big-module-integration-p7,从codex/big-module-integration-p6依次收口shell-p7-rebaseline-next-plan、iteration-loop-p2-recommendation-quality-batch、space-p6-personal-next-action-queue、account-p7-review-notification-intensity。 - 确认本轮未新增 route/nav,仍使用既有
/release-growth、/change-review、/space、/me表面;frontend/src/router/index.tsx与frontend/src/features/pmflow-os/components/MobileBottomNav.tsx未进入 P7 集成 diff。 - Main Flow 已把同组 recommendation 批量生成 ChangeSet draft、recommendation quality grouping、Change Review 来源解释接入集成线;Space 已把“我的下一步”队列接入
/space只读聚合;Account 已把提醒强度和证据展示偏好合同接入/me。
涉及文件:
- 合并依赖分支带入的 Main Flow / Space / Account owned files
CLAUDE.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.md
验证:
- P7 integration 分支已形成 merge commits:
86c6ec7 merge shell p7 rebaseline、8d60b18 merge iteration loop p2 recommendation quality、4a74eea merge space p6 personal next action queue、77fa288 merge account p7 notification intensity。 PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_pmflow_os_projection_api.py backend/tests/test_account_settings_api.py -q通过:24 passed。cd frontend && npm run test -- src/features/pmflow-os通过:10 passed。cd frontend && npm run test -- src/features/personal-space/PersonalSpacePage.test.tsx通过:2 passed。cd frontend && npm run test -- src/features/account-settings/accountSettings.test.ts通过:11 passed。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning(ai-steward / sstc / charts / governancechunk 环)。docker compose restart backend已执行,docker compose ps backend确认pmflow-backend恢复healthy。docker compose restart backend已执行,docker compose ps backend确认pmflow-backend恢复healthy。
未完成或风险:
- P7 本身不包含 Team Review;Team Review 已由后续
team-review-p1-change-review-routing-p7从 P7 base 单独收口。
2026-04-26 / team-review-p1-change-review-routing-p7 / done
完成内容:
- 从
codex/big-module-integration-p7新开codex/team-review-p1-change-review-routing-p7,合入既有codex/team-review-p1-change-review-routing实现,解决与 Iteration Loop P2 在 schema、projection、store 和测试上的重叠。 - 在
ProjectTruthState新增reviewerRouting(status, warningCode, summary, items)只读投影,从 open/pending ChangeSet、待审 item 风险、跨对象类型、iteration_recommendationevidence、项目成员与OWNER / REVIEWER角色生成建议审查人、来源、风险等级、优先级、审查原因、fallback role 和目标跳转 URL。 TeamLayerPage真实模式展示待审 ChangeSet reviewer routing:ready / empty / warning、来源(下一轮迭代 / AI 提取 / 手动)、风险等级、建议审查人或 fallback role、审查原因、待审 item 数、证据数,并跳转/change-review?projectId=<id>&changeSetId=<id>。- 保持监督式边界:不新增 route,不新增 migration,不做复杂权限系统,不自动 assign reviewer,不写 approval;缺成员、缺
OWNER / REVIEWER角色或缺 evidence 时只显示 warning,不虚构 reviewer。 - 保留 P7 的 recommendation group 批量 ChangeSet draft 合同和测试,没有用 reviewer routing 覆盖 Iteration Loop P2。
涉及文件:
backend/app/schemas/pmflow_os.pybackend/app/services/pmflow_os_projection_service.pybackend/tests/test_pmflow_os_projection_api.pyfrontend/src/api/pmflowOs.tsfrontend/src/features/pmflow-os/store.tsxfrontend/src/features/pmflow-os/types.tsfrontend/src/features/pmflow-os/pages/TeamLayerPage.tsxfrontend/src/features/pmflow-os/store.api.test.tsxCLAUDE.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.md
验证:
PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m py_compile backend/app/services/pmflow_os_projection_service.py backend/app/schemas/pmflow_os.py backend/tests/test_pmflow_os_projection_api.py通过。PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_pmflow_os_projection_api.py -q通过:23 passed;仍有既有backend/app/schemas/recipe.pyPydantic V2 class-based config deprecation warning。PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_pmflow_os_projection_api.py backend/tests/test_account_settings_api.py -q通过:27 passed;仍有同一 Pydantic warning。cd frontend && npm run test -- src/features/pmflow-os通过:12 passed;仍有既有 React Router v7 future flag warning。cd frontend && npm run test -- src/features/personal-space/PersonalSpacePage.test.tsx通过:2 passed;仍有既有 React Router v7 future flag warning。cd frontend && npm run test -- src/features/account-settings/accountSettings.test.ts通过:11 passed。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning(ai-steward / sstc / charts / governancechunk 环)。
未完成或风险:
- 该历史记录对应 Team Review P1,当时只是 reviewer routing 读模型与 TeamLayer 展示;Main Flow P8 之后已接入 review decision / PMFlowApproval 审计,但仍不代表正式 reviewer assignment、权限审批流、通知或自动审查任务已接入。
- Role Inbox、Decision Desk、Team Feed 的完整真实数据模型仍是后续 Team lane 工作。
2026-04-26 / shell-p7-rebaseline-next-plan / implemented
完成内容:
- 将第 7 节“当前下一步推荐任务”从已完成的
Phase D.2:Execution Bridge 执行交接合同重定为P7:Iteration Quality / Reviewer / Personal Queue 三线并行。 - 明确 P6 后当前真实闭环状态:
feedback -> recommendation -> ChangeSet draft -> Change Review accept/edit/defer已成立,仍不自动 commit、不写 Project Memory、不创建正式 Task。 - 写清 P7 三个推荐 Packet 边界:
main-flow-p7-iteration-quality、main-flow-p7-reviewer-decision-desk、space-p7-personal-queue。 - 明确 P7 不新增战略页面、不新增顶层路由、不改移动底部导航,不绕过 Change Review 人类确认边界。
验证:
git diff --name-only仅包含本 Packet 文档 write scope。rg -n "Phase D.2|当前最建议下一步|P7|Iteration Quality" docs/PMFLOW_PRODUCT_DELIVERY_STANDARD.md CLAUDE.md docs/architecture/CODE_REFERENCE_INDEX.md docs/architecture/ARCHITECTURE_INVENTORY.md已用于确认推荐任务真源更新。
2026-04-26 / space-p6-personal-next-action-queue / implemented
完成内容:
- 在
frontend/src/api/space.ts新增nextActionQueue只读聚合模型,把高风险 ChangeSet 待确认、release blocked / failed evidence、handoff consumed 但无后续 progress、iteration draft 待确认、feedback/revenue/compliance 信号待处理收敛为统一“我的下一步”队列。 /space桌面端和移动端新增首屏“我的下一步”队列,按优先级和更新时间排序;每个 item 只跳转/change-review、/execution-bridge或/release-growth。- 保留原有继续推进、待确认、执行中、发布关注、发布后反馈、下一轮迭代建议等明细区块作为二级上下文;空态明确,不虚构项目、反馈、recommendation 或 ChangeSet。
- 本轮不写 ChangeSet、不写 ProgressEvent、不写 ReleaseValidationRun、不写 FeedbackIngest,不改 PMFlow OS 页面、Account Settings 或 router。
涉及文件:
frontend/src/api/space.tsfrontend/src/features/personal-space/PersonalSpacePage.tsxfrontend/src/features/personal-space/PersonalSpacePage.test.tsxCLAUDE.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.md
验证:
cd frontend && npm run test -- src/features/personal-space/PersonalSpacePage.test.tsx通过:2 passed;仍有既有 React Router v7 future flag warning。cd frontend && npm run typecheck未通过,阻塞来自本 packet 禁止路径外的既有 Account Settings / PMFlow OS 测试类型错误:frontend/src/features/account-settings/accountSettings.test.ts的reminderIntensity字面量推断为string,以及frontend/src/features/pmflow-os/store.api.test.tsx的AccountNotificationPreference测试 fixture 缺少reminderIntensity / evidenceDisplay。cd frontend && npm run build同样在tsc -b阶段被上述禁止路径外类型错误阻塞,尚未进入 Vite build。
未完成或风险:
- 当前工作区同时存在 Main Flow / Account Settings lane 的未提交改动;Space P6 提交只能 stage 本 packet 文件与文档,不能混入这些越界文件。
- 若 integration owner 要求全量 typecheck/build 绿灯,需要先由 Account / Main Flow owner 修复对应测试 fixture 类型。
2026-04-26 / account-p7-review-notification-intensity / implemented
完成内容:
- 将 Account Settings 通知偏好从简单开关扩展为本地 UI 提醒表达合同:每类提醒继续保留
enabled / desktop / emailDigest兼容字段,同时新增reminderIntensity=silent|normal|prominent与evidenceDisplay=compact|expanded。 - 新增
getAccountReminderConsumption(settings, event),覆盖change_review_high_risk / iteration_draft_ready / release_blocked / execution_stalled,稳定输出surface / notificationKey / reminderIntensity / evidenceDisplay / showInAppReminder / showProminentReminder / evidencePolicy / auditPolicy / notificationTransport=in_app_only。 - 默认值向后兼容 P1-P6:旧数据缺少新字段时,旧开启等价
normal + compact,旧关闭等价silent + compact;偏好关闭只静默页面内提醒,不隐藏 ChangeSet、recommendation、release evidence、execution 状态或审计状态。 AccountSettingsPanel通知偏好区新增提醒强度和证据展示配置;桌面提醒、邮件摘要仍只记录偏好,不代表真实邮件、桌面推送或系统通知中心已接入。- 本轮只扩展前端本地 helper 和页面设置,不改后端 schema、migration、router、PMFlow OS store、Space 或 Main Flow 页面。
涉及文件:
frontend/src/api/accountSettings.tsfrontend/src/features/account-settings/AccountSettingsPanel.tsxfrontend/src/features/account-settings/accountSettings.test.tsCLAUDE.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.md
验证:
cd frontend && npm run test -- src/features/account-settings/accountSettings.test.ts通过:11 passed。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning(ai-steward / sstc / charts / governancechunk 环),构建成功。PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m py_compile backend/app/services/pmflow_os_projection_service.py backend/app/schemas/pmflow_os.py通过。PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_pmflow_os_projection_api.py -q通过:22 passed;仍有既有backend/app/schemas/recipe.pyPydantic V2 class-based config deprecation warning。cd frontend && npm run test -- src/features/pmflow-os通过:11 passed;仍有既有 React Router v7 future flag warning。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning(ai-steward / sstc / charts / governancechunk 环)。docker compose restart backend已执行,docker compose ps backend确认pmflow-backend恢复healthy。git diff --name-only已执行,diff 均在本 Packet write scope 内。
未完成或风险:
- 该历史记录对应 Team Review P1,当时只是 reviewer routing 读模型与 TeamLayer 展示;Main Flow P8 之后已接入 review decision / PMFlowApproval 审计,但仍不代表正式 reviewer assignment、权限审批流、通知或自动审查任务已接入。
- Role Inbox、Decision Desk、Team Feed 的完整真实数据模型仍是后续 Team lane 工作。
2026-04-26 / big-module-integration-p6 / done
完成内容:
- 收口 Iteration Loop P1、Space P5 与 Account P6 的并行成果,当前集成分支已包含
ea8f9d0 feat(pmflow-os): draft changesets from iteration recommendations、5db6f71 feat(space): surface iteration draft attention、8cc0cd9 feat(account): map iteration review reminders。 - 确认本轮没有修改
frontend/src/router/index.tsx、frontend/src/features/pmflow-os/components/MobileBottomNav.tsx或新增 route/nav;现有/release-growth、/change-review、/space、/me入口继续承接本批成果。 - 共享文档边界已同步:Main Flow 负责 recommendation -> ChangeSet draft 写入口与 ReleaseGrowth 触发动作;Space 只读消费 recommendation draft 状态并跳转主流程;Account 只把
iteration_recommendation / next_change_review映射到待确认提醒偏好,不接真实邮件、桌面推送或系统通知中心。 - P6 后,发布后反馈闭环已从“feedback -> recommendation 展示”推进到“recommendation -> 下一轮 ChangeSet draft -> Change Review accept/edit/defer”,仍保持不自动 commit、不写 Project Memory、不创建正式任务的监督式边界。
涉及文件:
CLAUDE.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.md- 合并依赖分支带入的 Main Flow / Space / Account owned files
验证:
git diff --name-only已执行,最终待提交 diff 仅为 P6 integration 文档收口。PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_pmflow_os_projection_api.py backend/tests/test_account_settings_api.py -q通过:23 passed;仍有既有backend/app/schemas/recipe.pyPydantic V2 class-based config deprecation warning。cd frontend && npm run test -- src/features/pmflow-os通过:9 passed。cd frontend && npm run test -- src/features/personal-space/PersonalSpacePage.test.tsx通过:2 passed;仍有既有 React Router v7 future flag warning。cd frontend && npm run test -- src/features/account-settings/accountSettings.test.ts通过:10 passed。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning(ai-steward / sstc / charts / governancechunk 环)。docker compose restart backend已执行,docker compose ps backend确认pmflow-backend恢复healthy。
未完成或风险:
- P6 仍不执行真实发布、不接外部支付、不接真实邮件/桌面推送或系统通知中心。
- 下一轮可以继续做 recommendation draft 的质量分组、批量生成策略或 Team/Reviewer 审查,但必须保持 Change Review 人类确认边界。
2026-04-26 / account-p6-iteration-review-preference-consume / implemented
完成内容:
- 扩展
frontend/src/api/accountSettings.ts的 post-release 偏好合同,新增next_change_review事件,并把iteration_recommendation / next_change_review的 surface 收敛到change_review。 pendingConfirmation偏好控制 iteration recommendation 与下一轮 ChangeSet 待审的页面内提醒;偏好关闭只静默提醒,不隐藏 ChangeSet、recommendation 或证据。- 本轮只做 Account Settings API/helper 与测试,不改 ReleaseGrowthPage、Space、PMFlow OS store、router、auth core,不接真实邮件/桌面推送。
涉及文件:
frontend/src/api/accountSettings.tsfrontend/src/features/account-settings/accountSettings.test.ts
验证:
cd frontend && npm run test -- src/features/account-settings/accountSettings.test.ts通过:10 passed。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning,但构建成功。
未完成或风险:
- Main Flow / Space 只消费该 helper 语义,不把偏好当业务权限;待确认对象仍由 Change Review 真源控制。
2026-04-26 / space-p5-iteration-draft-attention / implemented
完成内容:
- 在
frontend/src/api/space.ts将发布后反馈关注继续扩展到 iteration draft attention:只读识别releaseSignals.recommendations[*].changeSetCreated / changeSetId和待审 ChangeSet 关系。 /space桌面端和移动端能把“下一轮待确认变更 / 已生成 ChangeSet draft”的关注项展示出来;项目动作跳/change-review?projectId=<id>&changeSetId=<id>或/release-growth?projectId=<id>。- 本轮不生成 recommendation、不创建 ChangeSet、不写 ChangeSet 状态、不写 Project Memory、不执行发布或外部支付。
涉及文件:
frontend/src/api/space.tsfrontend/src/features/personal-space/PersonalSpacePage.tsxfrontend/src/features/personal-space/PersonalSpacePage.test.tsx
验证:
cd frontend && npm run test -- src/features/personal-space/PersonalSpacePage.test.tsx在 P6 integration 中通过:2 passed;仍有既有 React Router v7 future flag warning。cd frontend && npm run typecheck在 P6 integration 中通过。cd frontend && npm run build在 P6 integration 中通过;Vite 仍提示既有 manual chunk circular warning,但构建成功。
未完成或风险:
- Space P5 只消费主流程结果,不负责 recommendation -> ChangeSet draft 写入;后续字段调整仍由 Space lane 只读适配。
2026-04-26 / big-module-integration-p5 / done
完成内容:
- 收口 Release Feedback P1、Space P4 与 Account P5 的并行成果,当前集成分支已包含
1d213ba feat(pmflow-os): ingest release feedback signals、7025459 feat(space): surface post-release feedback attention、66ec4c7 feat(account): define post-release notification preferences。 - 确认本轮没有修改
frontend/src/router/index.tsx、frontend/src/features/pmflow-os/components/MobileBottomNav.tsx或新增 route/nav;现有/release-growth、/space、/me入口继续承接本批成果。 - 共享文档边界已同步:Main Flow 负责
release-feedback-ingests、execution-summary.releaseSignals与 ReleaseGrowth 真实信号展示;Space 只读消费releaseSignals派生“发布后反馈关注”并跳转主流程;Account 只提供 post-release 通知偏好 helper,不接真实邮件、桌面推送或系统通知中心。 - P5 后,Release/Growth 已从“发布前门禁 + 验证记录”推进到“发布后 feedback / revenue / iteration recommendation 信号读模型雏形”;下一步应优先把 iteration recommendation 进入 ChangeSet draft,而不是扩新页面。
涉及文件:
CLAUDE.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.md- 合并依赖分支带入的 Main Flow / Space / Account owned files
验证:
git diff --name-only已执行,最终待提交 diff 仅为 P5 integration 文档收口。PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_pmflow_os_projection_api.py backend/tests/test_account_settings_api.py -q通过:22 passed;仍有既有backend/app/schemas/recipe.pyPydantic V2 class-based config deprecation warning。cd frontend && npm run test -- src/features/pmflow-os通过:8 passed。cd frontend && npm run test -- src/features/personal-space/PersonalSpacePage.test.tsx通过:2 passed;仍有既有 React Router v7 future flag warning。cd frontend && npm run test -- src/features/account-settings/accountSettings.test.ts通过:10 passed。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning(ai-steward / sstc / charts / governancechunk 环)。docker compose restart backend已执行,docker compose ps backend确认pmflow-backend恢复healthy。
未完成或风险:
- P5 仍不执行真实发布、不接外部支付、不接真实邮件/桌面推送或系统通知中心。
IterationRecommendation当前只作为发布后建议底座展示;进入 ChangeSet draft 需后续 Main Flow packet 单独处理。
2026-04-26 / account-p5-feedback-notification-preference-contract / implemented
完成内容:
- 在
frontend/src/api/accountSettings.ts新增AccountPostReleaseNotificationEvent与getPostReleaseNotificationPreference(settings, event),覆盖feedback_received / revenue_signal / compliance_blocked / iteration_recommendation。 - feedback、revenue、compliance 事件映射到
releaseGate偏好;iteration recommendation 映射到pendingConfirmation偏好。 - helper 返回
spaceReadable / showInAppReminder / desktopPreference / emailDigestPreference / evidencePolicy / reminderPolicy / mutedDetail,明确偏好只控制页面内提醒表达,不隐藏业务证据。 - 本轮只做 Account Settings API/helper 与测试,不改 ReleaseGrowthPage、Space、PMFlow OS store、router、auth core,不接真实邮件/桌面推送。
涉及文件:
frontend/src/api/accountSettings.tsfrontend/src/features/account-settings/accountSettings.test.ts
验证:
cd frontend && npm run test -- src/features/account-settings/accountSettings.test.ts通过:10 passed。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning,但构建成功。
未完成或风险:
- Main Flow / Space 尚未消费该 post-release helper;本阶段只冻结偏好合同。
desktopPreference / emailDigestPreference仍只是偏好记录,不代表真实系统级桌面通知、邮件通知或通知中心已接入。
2026-04-26 / space-p4-feedback-attention-readmodel / implemented
完成内容:
- 在
frontend/src/api/space.ts新增feedbackAttention只读聚合,从 PMFlow OSexecution-summary.releaseSignals派生发布后 feedback、revenue、ROI、compliance 与 iteration recommendation 关注项。 /space桌面端和移动端新增“发布后反馈关注”区块;项目主动作仍只跳/release-growth?projectId=<id>。- 发布后信号缺失时显示明确空态,不使用 mock feedback、mock revenue 或默认成功结果冒充真实运营信号。
- 本轮不创建 feedback ingest、不写 RevenueEvent、不写 ComplianceCheckRun、不写 ProgressEvent、不写 ChangeSet、不执行发布或外部支付。
涉及文件:
frontend/src/api/space.tsfrontend/src/features/personal-space/PersonalSpacePage.tsxfrontend/src/features/personal-space/PersonalSpacePage.test.tsx
验证:
cd frontend && npm run test -- src/features/personal-space/PersonalSpacePage.test.tsx在 P5 integration 中通过:2 passed;仍有既有 React Router v7 future flag warning。cd frontend && npm run typecheck在 P5 integration 中通过。cd frontend && npm run build在 P5 integration 中通过;Vite 仍提示既有 manual chunk circular warning,但构建成功。
未完成或风险:
- Space P4 只消费发布后信号读模型,不负责信号创建或下一轮建议落 ChangeSet。
- 如果后续 PMFlow OS 暴露独立
releaseSignals明细页或独立 recommendation 合同,Space 仍应只读切换字段并保持跳转主流程。
2026-04-26 / release-feedback-p1-feedback-ingest-readmodel / implemented
完成内容:
- 在 PMFlow OS 后端新增轻量写入口
POST /pmflow-os/projects/{project_id}/release-feedback-ingests,复用现有AIProjectControlService.ingest_feedback与FeedbackIngest / IterationRecommendation模型,不新增 migration。 GET /pmflow-os/projects/{project_id}/execution-summary新增releaseSignals投影,聚合真实发布后feedback / revenueEvents / recommendations,并显式返回releaseGateStatus / latestValidationRunId / changeSetCreated=false关系信息。ReleaseGrowthPage真实模式新增“发布后反馈信号”区域和“摄取发布后反馈”表单;无信号时展示明确 empty/warning,不用 mock 成功数据补位。- 前端
PMFlowOsProvider新增createReleaseFeedbackIngest动作,真实模式调用 PMFlow OS API 并 refetch truth-state / execution-summary;demo 模式仍只在显式?demo=1下走本地演示 mutation。 - 本阶段只沉淀下一轮 iteration recommendation 所需数据,不自动创建 ChangeSet,不触发真实发布,不接外部支付,不接邮件/桌面推送。
涉及文件:
backend/app/api/pmflow_os_api/__init__.pybackend/app/schemas/pmflow_os.pybackend/app/services/pmflow_os_projection_service.pybackend/tests/test_pmflow_os_projection_api.pyfrontend/src/api/pmflowOs.tsfrontend/src/features/pmflow-os/store.tsxfrontend/src/features/pmflow-os/store.api.test.tsxfrontend/src/features/pmflow-os/pages/ReleaseGrowthPage.tsxdocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mdCLAUDE.md
验证:
PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m py_compile backend/app/api/pmflow_os_api/__init__.py backend/app/services/pmflow_os_projection_service.py backend/app/schemas/pmflow_os.py通过。PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_pmflow_os_projection_api.py -q通过:18 passed;仍有既有backend/app/schemas/recipe.pyPydantic V2 class-based config deprecation warning。cd frontend && npm run test -- src/features/pmflow-os通过:2 passed / 8 passed。cd frontend && npm run typecheck未通过:当前独立 worktree 没有被.gitignore忽略的frontend/src/lib/*本地 helper 文件,导致全仓@/lib/api、@/lib/utils、@/lib/datetime、@/lib/display、@/lib/rbac等 alias 解析失败;这些文件不在本 Packet write scope,未越界补入。cd frontend && npm run build同样停在上述frontend/src/lib/*缺失的 TypeScript 解析错误,未进入 Vite build。
未完成或风险:
- 本阶段只接入 feedback ingest 与 releaseSignals 读模型;RevenueEvent / ComplianceCheckRun 已可被后续扩展继续纳入更完整发布后运营读模型。
- iteration recommendation 已能生成下一轮 ChangeSet draft;P7 继续推进 recommendation quality batch,使同类建议可分组、去重、评估风险并批量进入待确认中心。
- 全量前端 typecheck/build 需在包含
frontend/src/lib/*helper 的集成环境或由 Shell / Integration owner 修正该 ignored 文件边界后重新验证。
2026-04-26 / iteration-loop-p1-recommendation-to-changeset-draft / implemented
完成内容:
- 新增
POST /pmflow-os/projects/{project_id}/iteration-recommendations/{recommendation_id}/change-set-drafts,复用项目成员/OWNER/REVIEWER 权限边界和统一{code,message,data}包络。 - 后端从真实
IterationRecommendation生成 openPMFlowChangeSet、pending_reviewPMFlowChangeItem和PMFlowEvidenceLink(source_type='iteration_recommendation');item 类型限定在Requirement / Task / Risk / Decision,不自动 commit、不写 Project Memory、不创建正式 Task。 - recommendation 的
recommendation_summary会记录changeSetId / changeSetCreated / changeSetCreatedAt,重复调用复用既有 draft 并返回iteration_recommendation_changeset_reusedwarning。 execution-summary.releaseSignals会把 recommendation 的changeSetCreated / changeSetId和 relationship 聚合状态投影给前端,nextActions 从“只展示建议”推进为“生成下一轮待确认 ChangeSet draft”。ReleaseGrowthPage在真实 recommendation 卡片上新增“生成下一轮待确认变更”动作,成功后通过 store refetch truth-state / execution-summary,使 Change Review 能继续 accept / edit / defer。
涉及文件:
backend/app/api/pmflow_os_api/__init__.pybackend/app/schemas/pmflow_os.pybackend/app/services/pmflow_os_projection_service.pybackend/tests/test_pmflow_os_projection_api.pyfrontend/src/api/pmflowOs.tsfrontend/src/features/pmflow-os/store.tsxfrontend/src/features/pmflow-os/store.api.test.tsxfrontend/src/features/pmflow-os/pages/ReleaseGrowthPage.tsxdocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mdCLAUDE.md
验证:
PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m py_compile backend/app/api/pmflow_os_api/__init__.py backend/app/services/pmflow_os_projection_service.py backend/app/schemas/pmflow_os.py通过。PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_pmflow_os_projection_api.py -q通过:19 passed;仍有既有backend/app/schemas/recipe.pyPydantic V2 class-based config deprecation warning。cd frontend && npm run test -- src/features/pmflow-os通过:2 files / 9 tests passed。cd frontend && npm run typecheck未通过:当前独立 worktree 没有被.gitignore忽略的frontend/src/lib/*本地 helper 文件,导致全仓@/lib/api、@/lib/utils、@/lib/datetime、@/lib/display、@/lib/rbac等 alias 解析失败;这些文件不在本 Packet write scope,未越界补入。cd frontend && npm run build同样停在上述frontend/src/lib/*缺失的 TypeScript 解析错误,未进入 Vite build。
边界:
- 本阶段只把 release feedback recommendation 转入 Change Review 待确认中心;不执行部署、不触发外部支付/推送、不自动写 Project Memory、不自动创建正式任务。
- Space 仍只读消费
releaseSignals并跳转主流程;Account Settings 只提供偏好 helper,不参与 PMFlow OS 写入。
2026-04-26 / iteration-loop-p2-recommendation-quality-batch / implemented
完成内容:
execution-summary.releaseSignals.recommendations新增 recommendation quality 字段:groupKey / duplicateOf / mergedCount / impactLevel / riskLevel / suggestedChangeTypes / reviewPriority / quality,并新增recommendationGroups聚合同组建议。- 新增
POST /pmflow-os/projects/{project_id}/iteration-recommendation-groups/{group_key}/change-set-drafts,支持按同组 recommendation 批量生成一个 open ChangeSet draft;重复调用会复用既有 draft 并返回iteration_recommendation_group_changeset_reused。 - 后端批量 draft 仍只生成 pending_review
Requirement / Task / Risk / DecisionChangeItem 与PMFlowEvidenceLink(source_type='iteration_recommendation_group'),不自动 commit、不写 Project Memory、不创建正式 Task。 - 已生成 draft 的 recommendation 会在
recommendation_summary追踪groupKey / groupChangeSetId / changeSetId / changeSetCreated,使 releaseSignals 与 Change Review 能解释同组反馈来源。 ReleaseGrowthPage新增 recommendation group 卡片,展示合并数量、影响、风险、审查优先级、建议变更类型与生成理由,并调用真实批量 API;单条 recommendation 动作保留。ChangeReviewPage在打开来自 release feedback iteration group 的 ChangeSet 时展示来源组、recommendation 数、feedback 数、风险/影响/审查优先级与 rationale,帮助 reviewer 判断为什么生成这一组待确认变更。
涉及文件:
backend/app/api/pmflow_os_api/__init__.pybackend/app/schemas/pmflow_os.pybackend/app/services/pmflow_os_projection_service.pybackend/tests/test_pmflow_os_projection_api.pyfrontend/src/api/pmflowOs.tsfrontend/src/features/pmflow-os/store.tsxfrontend/src/features/pmflow-os/store.api.test.tsxfrontend/src/features/pmflow-os/pages/ReleaseGrowthPage.tsxfrontend/src/features/pmflow-os/pages/ChangeReviewPage.tsxdocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mdCLAUDE.md
验证:
PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m py_compile backend/app/api/pmflow_os_api/__init__.py backend/app/services/pmflow_os_projection_service.py backend/app/schemas/pmflow_os.py通过。PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_pmflow_os_projection_api.py -q通过:20 passed;仍有既有backend/app/schemas/recipe.pyPydantic V2 class-based config deprecation warning。cd frontend && npm run test -- src/features/pmflow-os通过:2 files / 10 tests passed。cd frontend && npm run typecheck未通过:当前独立 worktree 缺少被.gitignore排除的frontend/src/lib/*本地 helper 文件,导致全仓@/lib/api、@/lib/utils、@/lib/datetime、@/lib/display、@/lib/rbac等 alias 解析失败;这些文件不在本 Packet write scope,未越界补入。cd frontend && npm run build同样停在上述frontend/src/lib/*缺失的 TypeScript 解析错误,未进入 Vite build。
边界:
- 本阶段只提升下一轮建议质量与批量待确认能力;不执行部署、不接外部支付、不接推送、不自动写 Project Memory、不创建正式 Task。
- Space / Account / router / bottom nav 未改;Personal Queue 承接可在后续 P7 packet 中单独推进。
2026-04-26 / big-module-integration-p4 / done
完成内容:
- 收口 Release Validation P1、Space P3、Account P3 与 Release/Growth P2 的并行成果,当前集成分支已包含
875b929 feat(pmflow-os): record release validation runs、b9b4b5a feat(space): surface release validation attention、fe7807b feat(account): define release notification consumption、32af422 feat(pmflow-os): respect release notification preferences。 - 确认本轮只做共享文档收口和依赖分支合并,没有修改
frontend/src/router/index.tsx、frontend/src/features/pmflow-os/components/MobileBottomNav.tsx或新增 route/nav;现有/release-growth、/space、/me入口足够承接本批成果。 - 共享文档冲突已按 lane 边界合并:Main Flow 负责 release gate、release validation run 和 ReleaseGrowth 偏好消费;Space 只读消费
truth-state.releases / execution-summary.releaseGate并跳转主流程;Account 只提供通知偏好 helper,不接真实邮件、桌面推送或通知中心。 CODE_REFERENCE_INDEX.md、ARCHITECTURE_INVENTORY.md与CLAUDE.md已同步到 P4 后的当前合同,明确 ReleaseGrowthPage 可创建 validation run、消费 Account notification preference,但不执行部署命令、不隐藏真实证据和审计状态。
涉及文件:
CLAUDE.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.md- 合并依赖分支带入的 Main Flow / Space / Account owned files
验证:
git diff --name-only已执行,最终待提交 diff 仅为 P4 integration 文档收口。PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_pmflow_os_projection_api.py backend/tests/test_account_settings_api.py -q通过:21 passed;仍有既有backend/app/schemas/recipe.pyPydantic V2 class-based config deprecation warning。cd frontend && npm run test -- src/features/pmflow-os通过:6 passed。cd frontend && npm run test -- src/features/personal-space/PersonalSpacePage.test.tsx通过:2 passed;仍有既有 React Router v7 future flag warning。cd frontend && npm run test -- src/features/account-settings/accountSettings.test.ts通过:9 passed。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning(ai-steward / sstc / charts / governancechunk 环)。docker compose restart backend已执行,docker compose ps backend确认pmflow-backend恢复healthy。
未完成或风险:
- P4 仍不接真实发布部署、邮件、桌面推送或系统通知中心;这些必须后续单独开 Packet。
- 本轮未做路由/导航变更;如后续新增
/settings或发布验证独立入口,必须继续由 Shell / Integration owner 串行处理。
2026-04-26 / release-growth-p2-notification-preference-consume / implemented
完成内容:
ReleaseGrowthPage真实模式读取 Account Settings 通知偏好,通过shouldShowAccountNotification(settings, "releaseGate")控制发布门禁强调提醒,通过shouldShowAccountNotification(settings, "failureAlert")控制失败强调提醒。releaseGate偏好关闭时,页面不展示“发布门禁提醒”强调卡,也降低缺证据 / 阻塞门禁视觉强调;底层releaseGate状态、执行证据、阻塞原因、下一步动作和发布验证记录仍完整展示。failureAlert偏好关闭时,失败 evidence 与阻塞原因仍可见,但不展示额外醒目的“失败提醒”卡,也不把阻塞原因渲染成额外告警态。- 本阶段只消费本地页面内提醒偏好,不接邮件、桌面推送或通知中心;不修改 Account Settings 合同、PMFlow OS store、后端发布验证 API、router、Space 或 Account 页面。
store.api.test.tsx补充 ReleaseGrowth 偏好开启 / 关闭两条路径,覆盖提醒展示、静默展示和 release evidence 仍可见。
涉及文件:
frontend/src/features/pmflow-os/pages/ReleaseGrowthPage.tsxfrontend/src/features/pmflow-os/store.api.test.tsxdocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.md
验证:
cd frontend && npm run test -- src/features/pmflow-os通过:2 passed / 6 passed。cd frontend && npm run typecheck未通过:当前前端树缺失整组共享src/lib/*模块(例如@/lib/api、@/lib/utils、@/lib/datetime、@/lib/display、@/lib/rbac),影响全仓大量既有文件和 forbiddenrouter/index.tsx;本 Packet 未越界修复。cd frontend && npm run build同样停在上述共享src/lib/*缺失的 TypeScript 解析错误,未进入 Vite build。
未完成或风险:
- 本阶段不隐藏业务真相,只控制提醒表达强度;发布证据、审计状态和 validation run 仍以 PMFlow OS 真实读侧为准。
- 全量前端 typecheck/build 需由 Shell / Integration owner 或共享前端基础模块 owner 先恢复
frontend/src/lib/*后再重新验证。
2026-04-26 / release-validation-p1-real-run-records / implemented
完成内容:
- 新增
POST /pmflow-os/projects/{project_id}/release-validation-runs,复用 PMFlow OS 项目成员/OWNER/REVIEWER 权限边界和统一{code,message,data}返回包络。 - 复用现有
ReleaseValidationRun模型,不新增 migration;从当前execution-summary.releaseGate固化status / evidence / blockingReasons / nextActions / createdBy / createdAt / humanDecision。 - ready evidence +
enter_release_candidate生成readyrun;needs confirmation evidence 生成needs_confirmationrun;failed / blocked evidence 或keep_blocked生成blockedrun。 - 无 execution evidence 或
releaseGate.status=empty时返回release_validation_evidence_empty,不创建成功 run,也不使用 mock validation。 execution-summary.releaseGate.latestValidationRun返回最新发布验证记录,ReleaseGrowthPage真实模式新增“发布验证记录”区域和“生成发布验证记录 / 记录保持阻塞”动作;页面仍不执行真实部署。frontend/src/api/pmflowOs.ts改为 PMFlow OS API 层自包含/apifetch 包络解析,避免当前工作树缺失共享@/lib/api时影响 PMFlow OS focused tests;不改全局 API client。
涉及文件:
backend/app/api/pmflow_os_api/__init__.pybackend/app/services/pmflow_os_projection_service.pybackend/app/schemas/pmflow_os.pybackend/tests/test_pmflow_os_projection_api.pyfrontend/src/api/pmflowOs.tsfrontend/src/features/pmflow-os/store.tsxfrontend/src/features/pmflow-os/store.api.test.tsxfrontend/src/features/pmflow-os/pages/ReleaseGrowthPage.tsxdocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.md
验证:
PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m py_compile backend/app/api/pmflow_os_api/__init__.py backend/app/services/pmflow_os_projection_service.py backend/app/schemas/pmflow_os.py通过。PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_pmflow_os_projection_api.py -q通过:17 passed;仍有既有backend/app/schemas/recipe.pyPydantic V2 class-based config deprecation warning。cd frontend && npm run test -- src/features/pmflow-os通过:4 passed。cd frontend && npm run typecheck未通过:当时前端树缺失整组共享src/lib/*模块(例如@/lib/api、@/lib/utils、@/lib/datetime、@/lib/display、@/lib/rbac),影响全仓大量既有文件和 forbiddenrouter/index.tsx;本 Packet 未越界修复。cd frontend && npm run build同样停在上述共享src/lib/*缺失的 TypeScript 解析错误,未进入 Vite build。
未完成或风险:
- 本阶段只创建发布验证记录和人工确认快照,不执行部署命令、不写外部系统。
- 全量前端 typecheck/build 需由 Shell / Integration owner 在整合最新主线后重新验证。
2026-04-26 / account-p3-release-notification-consumption-contract / implemented
完成内容:
- 在
frontend/src/api/accountSettings.ts新增AccountReleaseNotificationEvent与getReleaseGateNotificationPreference(settings, event)轻量合同。 - Release/Growth 后续页面可按事件类型消费偏好:
release_gate_blocked / release_gate_ready / release_validation_blocked / release_validation_needs_confirmation映射到releaseGate,failed_event映射到failureAlert。 - helper 明确返回
inAppEnabled / desktopPreference / emailDigestPreference,以及notificationKey / surface / reason,用于后续 Main Flow 页面决定页面内提醒展示或静默。 - 本轮只做 Account Settings API/helper 与测试,不改
ReleaseGrowthPage、PMFlow OS store、router、auth core,不新增后端字段,不接入真实邮件/桌面推送。
涉及文件:
frontend/src/api/accountSettings.tsfrontend/src/features/account-settings/accountSettings.test.tsdocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.md
验证:
cd frontend && npm run test -- src/features/account-settings/accountSettings.test.ts通过:9 passed。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning,但构建成功。
未完成或风险:
- Main Flow 尚未在
ReleaseGrowthPage消费该 helper;后续应由 Main Flow lane 读取账号设置后按 release gate / release validation / failed event 类型调用。 desktopPreference / emailDigestPreference仍只是偏好记录,不代表真实系统级桌面通知、邮件通知或通知中心已接入。
2026-04-26 / space-p3-validation-run-attention / implemented
完成内容:
- 在
frontend/src/api/space.ts将releaseAttention从单纯 release gate 关注升级为truth-state.releases发布验证投影 +execution-summary.releaseGate的只读聚合。 /space桌面端和移动端“发布关注”区块现在优先显示“发布验证阻塞 / 发布验证待确认”;没有发布验证投影时才回落显示“发布候选 / 发布门禁阻塞”。- 发布关注项只展示来源标签、验证/门禁状态、检查项摘要、阻塞原因和更新时间;点击只跳转
/release-growth?projectId=<id>。 - 发布验证缺失时显示“暂无发布验证记录”空态,不使用 mock 或默认成功结果冒充真实验证。
- 本轮不创建 validation run、不写 ProgressEvent、不写 ReleaseValidationRun、不新增后端接口、不执行发布命令。
涉及文件:
frontend/src/api/space.tsfrontend/src/features/personal-space/PersonalSpacePage.tsxfrontend/src/features/personal-space/PersonalSpacePage.test.tsxdocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.md
验证:
cd frontend && npm run test -- src/features/personal-space/PersonalSpacePage.test.tsx通过:2 passed;仍有既有 React Router v7 future flag warning。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning,但构建成功。
未完成或风险:
- Space P3 只消费 release validation 投影,不负责创建/更新 release validation run;真实运行记录仍由 Release/Growth lane 维护。
- 当前 Space 侧使用
truth-state.releases的状态和 gateItems 表达验证结果;若后续 PMFlow OS 暴露独立validationRuns合同,需要由 Space lane 再切换到更精确字段。
2026-04-26 / big-module-integration-p3 / done
完成内容:
- 收口 Release/Growth P1、Space P2 与 Account P2 的并行成果,确认三条 lane 均已形成独立提交后再进入集成验证。
- Release/Growth P1 已形成
e90adbc feat(pmflow-os): gate releases on execution evidence,将execution-summary.releaseGate接入ReleaseGrowthPage,从 branch、commit、PR、test、failed evidence 推导ready / blocked / needs_confirmation / empty发布门禁状态。 - Space P2 已形成
9ba9876 feat(space): surface release attention read model,只读消费execution-summary.releaseGate并在/space展示发布关注项,动作只跳/release-growth?projectId=<id>。 - Account P2 已形成
5a86007 feat(account): map notification preferences to surfaces,把通知偏好映射到待确认、Execution Bridge、Release/Growth 和失败提醒四类页面内提醒消费模型,不接入真实邮件/桌面推送。 - 本轮未修改 router、MobileBottomNav 或 PMFlow OS frame;现有
/release-growth、/space、/me入口已足够承接本批成果。 - 同步
CLAUDE.md、CODE_REFERENCE_INDEX.md、ARCHITECTURE_INVENTORY.md与本交付台账,确认 Main Flow 产出发布门禁判断、Space 只读聚合、Account 只影响本地 UI 提醒消费。
涉及文件:
CLAUDE.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.md
验证:
PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_pmflow_os_projection_api.py backend/tests/test_account_settings_api.py -q通过。cd frontend && npm run test -- src/features/pmflow-os通过。cd frontend && npm run test -- src/features/personal-space/PersonalSpacePage.test.tsx通过。cd frontend && npm run test -- src/features/account-settings/accountSettings.test.ts通过。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning,但构建成功。
未完成或风险:
- Release/Growth P1 仍只做发布门禁判断,不执行真实部署、不写 release validation run。
- Space 暂存想法真实只读聚合后端合同仍未实现。
- Account P2 只控制页面内提醒消费模型,不代表系统级桌面通知、邮件通知或通知中心已接入。
- 本轮未执行热部署/重启;当前环境是本地开发工作区。部署环境要生效,需要按实际栈执行 backend restart/reload。
下一步建议:
- 进入
release-validation-p1-real-run-records:把当前 release gate 判断推进为真实 release validation run 记录,保留“不执行真实部署”的边界,先沉淀发布前证据链和人工确认结果。
2026-04-26 / release-growth-p1-execution-evidence-gate / implemented
完成内容:
- 在
ExecutionSummaryProjection中新增releaseGate投影,从ProgressEvent的 branch、commit、PR、test、failed / blocked 证据推导发布判断。 releaseGate.status覆盖ready / blocked / needs_confirmation / empty:测试通过可进入发布候选,failed / test_failed / blocked 事件 fail-closed 阻塞发布,无 execution evidence 时返回明确 empty/warning。- 扩展 execution progress event 合同,允许显式
failedevent 回写。 ReleaseGrowthPage真实模式改为只消费execution-summary.releaseGate、execution evidence、阻塞原因、下一步动作和 warning;不再展示静态“已发布/增长指标”mock 结果。- 静态高保真发布/增长原型只保留在显式
?demo=1/dataSource=demo模式。 - 本轮不执行发布命令、不做真实部署、不新增 migration。
涉及文件:
backend/app/schemas/pmflow_os.pybackend/app/services/pmflow_os_projection_service.pybackend/tests/test_pmflow_os_projection_api.pyfrontend/src/api/pmflowOs.tsfrontend/src/features/pmflow-os/pages/ReleaseGrowthPage.tsxfrontend/src/features/pmflow-os/pages/ExecutionBridgePage.tsxfrontend/src/features/pmflow-os/store.api.test.tsxdocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.md
验证:
PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m py_compile backend/app/api/pmflow_os_api/__init__.py backend/app/services/pmflow_os_projection_service.py backend/app/schemas/pmflow_os.py通过。PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_pmflow_os_projection_api.py -q通过:14 passed;仍有既有backend/app/schemas/recipe.pyPydantic V2 class-based config deprecation warning。cd frontend && npm run test -- src/features/pmflow-os通过:4 passed。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning,但构建成功。
未完成或风险:
- ReleaseGrowth P1 只生成发布判断和下一步动作,不触发真实部署、不写 release validation run。
- 增长反馈、收入、ROI 和 compliance 的真实发布后反馈循环仍待后续 Packet 接入。
2026-04-26 / space-p2-release-attention-readmodel / implemented
完成内容:
- 在
frontend/src/api/space.ts新增releaseAttention只读聚合,从已有项目摘要、truth-state与execution-summary.releaseGate派生个人空间发布关注项。 /space桌面端和移动端新增“发布关注”区块,显示测试失败、PR 未合并、发布门禁阻塞、发布候选或需要人工确认的项目。- 发布关注项只展示 release gate 状态、阻塞原因、证据标签和更新时间;点击只跳转
/release-growth?projectId=<id>。 - 本轮不写 Project Memory、不写 ChangeSet、不写 ProgressEvent、不新增后端接口、不执行发布命令。
- 暂存想法仍保持真实 empty/warning,不使用 mock 冒充。
涉及文件:
frontend/src/api/space.tsfrontend/src/features/personal-space/PersonalSpacePage.tsxfrontend/src/features/personal-space/PersonalSpacePage.test.tsxdocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.md
验证:
cd frontend && npm run test -- src/features/personal-space/PersonalSpacePage.test.tsx通过:2 passed;仍有既有 React Router v7 future flag warning。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning,但构建成功。
未完成或风险:
- Space P2 依赖 Main Flow
release-growth-p1-execution-evidence-gate的execution-summary.releaseGate合同;最终合并需确保该合同先进入 integration base。 - 本轮只做个人空间 read model,不做发布验证运行、真实部署、增长反馈或发布后指标聚合。
2026-04-26 / big-module-integration-p2 / done
完成内容:
- 收口 Main Flow D.3、Space P1 与 Account P1 的并行成果,并将 Space / Account lane 代码先分别形成独立 commit,避免 forbidden lane 文件混入 integration commit。
- Main Flow D.3 已形成
a7008bb feat(pmflow-os): add execution progress writeback,负责把 branch、commit、PR、test progress event 回写到 execution-summary。 - Space P1 已形成
6c0f6da feat(space): route workbench execution items,执行中 / AI 正在推进项只跳转/execution-bridge?projectId=<id>,不写 execution event。 - Account P1 已形成
95892d2 feat(account): add account settings sync contract,新增account_settings_api、schema、service 与测试,不改 OAuth/JWT/auth core。 - Shell / Integration 串行补上
backend/app/api/router.py的account_settings_api核心路由挂载,避免前端/api/account-settings/me在真实环境 404。 - 同步
CODE_REFERENCE_INDEX.md、ARCHITECTURE_INVENTORY.md与本交付台账,确认 Space 只读、Account 独立偏好合同、Main Flow 执行回写三条边界。
涉及文件:
backend/app/api/router.pydocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.md
验证:
PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m py_compile backend/app/api/router.py backend/app/api/account_settings_api/__init__.py backend/app/schemas/account_settings.py backend/app/services/account_settings_service.py通过。PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_account_settings_api.py -q通过:4 passed;仍有既有backend/app/schemas/recipe.pyPydantic V2 class-based config deprecation warning。cd frontend && npm run test -- src/features/pmflow-os通过。cd frontend && npm run test -- src/features/personal-space/PersonalSpacePage.test.tsx通过:2 passed;仍有既有 React Router future flag warning。cd frontend && npm run test -- src/features/account-settings/accountSettings.test.ts通过:5 passed。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning,但构建成功。
未完成或风险:
- 本轮未执行热部署/重启;当前环境是本地开发工作区。部署环境要生效,需要按实际栈执行 backend restart/reload。
- Account P1 当前复用
integrations表保存偏好包,后续如要独立偏好表,必须另开 migration Packet。 - Space 暂存想法真实只读聚合后端合同仍未实现,当前仍明确展示 empty/warning。
下一步建议:
- Release/Growth P1 已由
e90adbc feat(pmflow-os): gate releases on execution evidence完成,后续应进入真实 release validation run 记录。
2026-04-26 / space-p1-real-workbench-dashboard / implemented
完成内容:
- 将
/space继续收敛为真实个人工作台 read model:继续推进、待确认、执行中、最近项目、草案、暂存想法均来自frontend/src/api/space.ts的只读聚合,不写主流程状态。 - 继续推进项目卡片主动作保持
/pmflow-os?projectId=<id>;待确认项保持/change-review?projectId=<id>&changeSetId=<id>;执行中 / AI 正在推进项改为/execution-bridge?projectId=<id>。 - 执行中仍只消费 PMFlow OS
execution-summary、recentProgressEvents、activeDevTasks与loopStage摘要,不直接写 execution event 或触发执行动作。 - 暂存想法后端合同仍未接入,继续返回空数组并展示明确 warning,不使用 mock/demo 数据冒充真实状态。
- 补充 Space focused 测试,锁定六个工作台区块和三类主流程导航 URL。
涉及文件:
frontend/src/api/space.tsfrontend/src/features/personal-space/PersonalSpacePage.tsxfrontend/src/features/personal-space/PersonalSpacePage.test.tsxdocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.md
验证:
cd frontend && npm run test -- src/features/personal-space/PersonalSpacePage.test.tsx通过。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍提示既有 manual chunk circular warning,但构建成功。
剩余缺口:
- 暂存想法真实只读聚合后端合同尚未实现;当前 Space 明确暴露为空态和 warning,不使用演示数据兜底。
2026-04-26 / main-flow-p1-execution-handoff-consume / done
完成内容:
- 在 D.2 的
handoff_created起点上继续补齐执行交接消费闭环,新增POST /pmflow-os/projects/{project_id}/execution-handoffs/{prompt_package_id}/consume。 - 后端校验项目成员权限、项目边界与
PromptPackage(package_kind='execution_handoff')边界;消费动作只记录运行端领取,不执行本机命令、不写宿主机配置。 PMFlowOSProjectionService.consume_execution_handoff将PromptPackage.package_payload.latest_handoff更新为handoff_state=consumed,并写入ProgressEvent(event_type='handoff_consumed', derived_task_status='coding')。execution-summary会因最新handoff_consumed事件把执行状态投影为coding,前端执行桥可显示“运行端领取确认”。- 前端
ExecutionBridgePage在真实模式新增“标记为已领取”动作,调用consumePMFlowExecutionHandoff后 refetchtruth-state / execution-summary;demo 模式仍只走本地演示推进。 - 修复 D.2 中 active
PromptPackage.package_payload嵌套 JSONB 更新可能未被 SQLAlchemy 标脏的问题,显式使用flag_modified。
涉及文件:
backend/app/api/pmflow_os_api/__init__.pybackend/app/services/pmflow_os_projection_service.pybackend/app/schemas/pmflow_os.pybackend/tests/test_pmflow_os_projection_api.pyfrontend/src/api/pmflowOs.tsfrontend/src/features/pmflow-os/store.tsxfrontend/src/features/pmflow-os/store.api.test.tsxfrontend/src/features/pmflow-os/pages/ExecutionBridgePage.tsxCLAUDE.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.md
验证:
PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m py_compile backend/app/api/pmflow_os_api/__init__.py backend/app/services/pmflow_os_projection_service.py backend/app/schemas/pmflow_os.py通过。PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_pmflow_os_projection_api.py -q通过:10 passed;仍有既有backend/app/schemas/recipe.pyPydantic V2 class-based config deprecation warning。cd frontend && npm run test -- src/features/pmflow-os/store.api.test.tsx通过:3 passed。cd frontend && npm run test -- src/features/pmflow-os通过:4 passed。cd frontend && npm run typecheck通过。cd frontend && npm run build通过。
未完成或风险:
- 本轮仍不执行真实命令;Codex / Local Bridge / GitHub agent 的 branch、commit、PR、test 回写仍属于下一步 D.3。
- 本轮新增后端运行时代码但未执行热部署/重启;当前环境是本地开发工作区,未连接实际部署服务。部署环境需要按实际栈执行 backend restart/reload。
下一步建议:
- 进入 D.3:补 Dev Sync 写回闭环,把运行端执行结果回写为 branch/commit/PR/test progress event,并投影回
execution-summary / truth-state。
2026-04-26 / big-module-integration-p1 / done
完成内容:
- 作为
Shell / Integration owner收口 Batch P1 三条 lane:Main Flow D.2、Space V1 Workbench Hardening、Account Settings V1。 - 已确认当前分支为
codex/main-flow-phase-d2-execution-handoff-contract,Main Flow D.2 已落提交f95bd15 feat(pmflow-os): add execution handoff contract,本轮不重写 D.2,只验证其与 Space / Account dirty worktree 的组合。 - 已检查 tracked diff 与 untracked files,当前脏文件均落在本次集成范围:
AGENTS.md / CLAUDE.md / TASK_BRIEF_TEMPLATE.md / ARCHITECTURE_INVENTORY.md / personal-space / account-settings / accountSettings.ts / space.ts / AccountPage.tsx。 - Space 改动符合 P0 边界:
frontend/src/api/space.ts只读聚合项目摘要、PMFlow OStruth-state / execution-summary,待确认项只跳转/change-review,不直接写 Project Memory、ChangeSet 状态或 Execution Bridge event。 - Account Settings 改动符合 P0 边界:
/me由AccountSettingsPanel承接个人资料、AI 偏好和通知偏好;当时首版只做浏览器本机持久化,不改 OAuth/JWT/auth core、router、MobileBottomNav、PMFlow OS store 或项目主链,后续已由account-p1-preferences-backend-contract补后端同步合同。 - P0 文档残留已收口:
AGENTS.md / CLAUDE.md / TASK_BRIEF_TEMPLATE.md的大模块 lane、integration owner、共享文件锁与 Packet 模板规则可纳入 integration commit;ARCHITECTURE_INVENTORY.md修正旧的 Space 只能消费 mock data / 禁止接后端描述,改为当前只读聚合合同。 CODE_REFERENCE_INDEX.md已确认包含 Space API、Account Settings API、PMFlow OS D.2 execution handoff API 索引;CLAUDE.md已确认不再保留旧的“commit 未实现”描述。
涉及文件:
AGENTS.mdCLAUDE.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/ARCHITECTURE_INVENTORY.mddocs/architecture/TASK_BRIEF_TEMPLATE.mdfrontend/src/api/space.tsfrontend/src/api/accountSettings.tsfrontend/src/features/personal-space/PersonalSpacePage.tsxfrontend/src/features/personal-space/PersonalSpacePage.test.tsxfrontend/src/features/personal-space/components/SpaceChrome.tsxfrontend/src/features/account-settings/AccountSettingsPanel.tsxfrontend/src/features/account-settings/accountSettings.test.tsfrontend/src/features/pmflow-os/pages/AccountPage.tsx
验证:
cd frontend && npm run test -- src/features/personal-space/PersonalSpacePage.test.tsx通过:1 passed。cd frontend && npm run test -- src/features/account-settings/accountSettings.test.ts通过:3 passed。cd frontend && npm run test -- src/features/pmflow-os通过:4 passed。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍输出既有 manual chunk circular warning(ai-steward / sstc / charts / governance),未阻断构建。PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_pmflow_os_projection_api.py -q通过:9 passed;仍有既有backend/app/schemas/recipe.pyPydantic V2 class-based config deprecation warning。
未完成或风险:
- 本 integration packet 未新增或修改后端运行时代码、Schema 或 migration;本轮未执行热部署/重启。当前验证发生在本地开发工作区,未连接实际部署服务;若要让 Main Flow D.2 的后端提交在部署环境生效,需要在对应部署机执行
docker compose restart backend、scripts/docker_stack.sh restart|dev-restart或等价发布流程。 - Space 的
savedIdeas后端只读聚合合同仍未实现;当前 UI 明确展示 empty/warning,不使用 mock 数据冒充真实内容。 - Account Settings V1 当时仍是前端合同 + 本机持久化;后续已由
account-p1-preferences-backend-contract独立新增account_settings_api合同,当前全局 router 挂载仍需 Shell / Integration owner 串行处理。
下一步建议:
- 进入 D.3:补 Dev Sync 写回闭环,把 Codex / Local Bridge / GitHub agent 的 branch、commit、PR、test progress event 回写到
execution-summary / truth-state。
2026-04-26 / Space V1 Workbench Hardening / implemented
完成内容:
- 将
/space收敛为只读个人工作面聚合入口,继续覆盖继续推进 / 待我确认 / AI 正在推进 / 暂存想法 / 草案箱 / 最近项目,不写 Project Memory、ChangeSet 状态或 Execution Bridge event。 frontend/src/api/space.ts作为 Space read model wrapper,仅消费项目摘要、PMFlow OStruth-state与execution-summary;项目主动作仍进入/pmflow-os?projectId=<id>。- 待确认项只读取 ChangeSet / approvals 摘要,点击进入稳定主流程
/change-review?projectId=<id>&changeSetId=<id>,不直接执行 accept/edit/defer/commit。 - 暂存想法合同已显式建模为
savedIdeas;当前后端只读聚合未接入时返回空数组并展示 warning,禁止用 mock/demo 数据冒充真实想法。 - 移动端继续使用 Space 独立单手路径,补齐最近项目区块,不把桌面多栏布局压缩到手机。
- 补充
PersonalSpacePage.test.tsxfocused 回归,锁定六个 Space 区块与“暂存想法未接入不冒充真实数据”的空态。
涉及文件:
frontend/src/api/space.tsfrontend/src/features/personal-space/PersonalSpacePage.tsxfrontend/src/features/personal-space/PersonalSpacePage.test.tsxfrontend/src/features/personal-space/components/SpaceChrome.tsxdocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.md
验证:
cd frontend && npm run test -- src/features/personal-space/PersonalSpacePage.test.tsx通过。cd frontend && npm run typecheck未通过,阻塞来自 Main Flow 越界文件frontend/src/features/pmflow-os/pages/ExecutionBridgePage.tsx:21的既有import type语法错误,本 Space 包不跨线修。cd frontend && npm run build未通过,同样阻塞于frontend/src/features/pmflow-os/pages/ExecutionBridgePage.tsx:21,未进入 Vite build 阶段。
剩余缺口:
- 暂存想法真实只读聚合后端合同尚未实现;当前 Space 明确暴露为空态和 warning,不使用演示数据兜底。
2026-04-26 / Account P2 Notification Preference Consumption / implemented
完成内容:
frontend/src/api/accountSettings.ts新增通知偏好消费模型,将pendingConfirmation / executionWriteback / releaseGate / failureAlert映射到待确认中心 / Execution Bridge / Release Growth / 全局失败提醒四类页面内提醒。- 新增
shouldShowAccountNotification与getAccountNotificationConsumption,用于本地 UI 判断页面提醒显示或静默;不接入真实邮件、桌面推送或系统级通知中心。 - 修正通知偏好合并逻辑:旧本机缓存或后端返回缺字段时,按默认偏好逐项补齐,避免浅合并导致
desktop/emailDigest丢失。 AccountSettingsPanel在通知偏好区域展示“页面内提醒消费说明”,明确哪些开关会影响待确认、执行回写、发布门禁和失败提醒,也明确桌面/邮件仅记录偏好、不代表系统级推送已接入。- 测试覆盖通知偏好读取、保存、消费模型和 fallback。
涉及文件:
frontend/src/api/accountSettings.tsfrontend/src/features/account-settings/AccountSettingsPanel.tsxfrontend/src/features/account-settings/accountSettings.test.tsdocs/architecture/ARCHITECTURE_INVENTORY.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.md
验证:
cd frontend && npm run test -- src/features/account-settings/accountSettings.test.ts通过:7 passed。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍输出既有 manual chunk circular warning,未阻断构建。
未完成或风险:
- 本轮只在 Account Settings 合同和本地 UI 消费层落地通知偏好,不修改 PMFlow OS truth store、router、JWT/OAuth/auth core,也不新增后端表。
- 由于本包 write scope 不包含
ExecutionBridgePage / ReleaseGrowthPage / ChangeReviewPage,本轮没有跨页直接接入这些页面;后续如要让各页面读取该 helper,应单独开对应 Main Flow/Integration packet。
2026-04-26 / Account P1 Preferences Backend Contract / implemented
完成内容:
- 新增
backend/app/api/account_settings_api/,建立GET /account-settings/me与PUT /account-settings/me合同,统一返回{code,message,data}。 - 新增
backend/app/schemas/account_settings.py,锁定个人资料、默认语言、AI 回答深度、证据显示偏好、待确认/执行回写/发布门禁/失败提醒通知偏好合同。 - 新增
backend/app/services/account_settings_service.py,当前复用既有integrations表以account_settings_preferences类型按tenant_id + user_id持久化账号偏好;未新增表,因此未触发 Alembic migration。 frontend/src/api/accountSettings.ts改为有 token 时优先账号同步;后端不可用或未登录时明确回落本机暂存。- Shell / Integration 已将
account_settings_api挂入backend/app/api/router.py的核心路由组,真实环境可通过/api/account-settings/me访问。 /me保存状态继续区分已保存到当前账号 / 仅本机暂存 / 保存失败,不假装云端成功。- 本 Packet 不改 OAuth/JWT/auth core,不改
/settingsroute,不改 PMFlow OS store,不做组织权限、账单、安全中心、设备管理或团队空间。
涉及文件:
frontend/src/api/accountSettings.tsfrontend/src/features/account-settings/AccountSettingsPanel.tsxfrontend/src/features/account-settings/accountSettings.test.tsbackend/app/api/router.pybackend/app/api/account_settings_api/__init__.pybackend/app/schemas/account_settings.pybackend/app/services/account_settings_service.pybackend/tests/test_account_settings_api.pydocs/architecture/ARCHITECTURE_INVENTORY.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.md
验证:
cd backend && /Users/guojing/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/bin/python3 -m pytest tests/test_account_settings_api.py通过:4 passed。cd frontend && npm run test -- src/features/account-settings/accountSettings.test.ts通过:5 passed。
未完成或风险:
- 本轮已由 Shell / Integration owner 串行 include
account_settings_api;后续新增账号设置子能力仍不得塞入 OAuth/JWT/auth core。 - 当前复用
integrations表承接 P1 合同,避免越界新增 model/migration;后续如果需要独立偏好表,再开 migration Packet。
2026-04-26 / Account Settings V1 / implemented
完成内容:
- 新增
frontend/src/api/accountSettings.ts,定义个人资料、默认语言、AI 回答深度、证据展示偏好和通知偏好前端合同;首版用浏览器本地持久化承接设置保存,不写 PMFlow OS truth store。 - 新增
frontend/src/features/account-settings/AccountSettingsPanel.tsx,承接/me桌面设置页与移动端分组列表 + bottom sheet。 - 将
/me的AccountPage.tsx改为薄入口,继续复用AccountControls.tsx的退出登录 bottom sheet,不改 router、MobileBottomNav、PMFlow OS store 或 OAuth/JWT/auth core。 - 通知偏好已覆盖
待确认 / 执行回写 / 发布门禁 / 失败提醒,每类支持总开关、桌面提醒和邮件摘要。 - 保存状态已收口为
仅本机暂存 / 已保存到当前账号 / 保存失败三态;当前 V1 只做本机暂存,不假装云端账号保存。 - 补充
frontend/src/features/account-settings/accountSettings.test.ts,锁定默认设置和持久化行为。
涉及文件:
frontend/src/api/accountSettings.tsfrontend/src/features/account-settings/AccountSettingsPanel.tsxfrontend/src/features/account-settings/accountSettings.test.tsfrontend/src/features/pmflow-os/pages/AccountPage.tsxCLAUDE.mddocs/architecture/ARCHITECTURE_INVENTORY.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.md
验证:
npm run test -- src/features/account-settings/accountSettings.test.ts通过:3 passed。npm run typecheck通过。npm run build通过;Vite 仍输出既有 manual chunk circular warning,未阻断构建。- Playwright 本地浏览器检查通过:
http://localhost:5186/me桌面与 390px 移动视口均可渲染,移动端通知偏好 bottom sheet 可打开。
未完成或风险:
- Account Settings V1 当时是前端合同 + 本地持久化;后续已由
account-p1-preferences-backend-contract独立新增backend/app/api/account_settings_api/同步合同,仍不能塞入 auth core 或 PMFlow OS truth store。
2026-04-26 / P0 Shell Module Boundaries / done
完成内容:
- 核对当前公共壳真实落点:
frontend/src/router/index.tsx、frontend/src/main.tsx、MobileBottomNav.tsx、PMFlowOsFrame.tsx。 - 冻结大模块 route 归属:
/space归 Space,/project-launch作为启动层入口,/pmflow-os / /command-center / /change-review / /execution-bridge / /release-growth归 Main Flow,/me归 Account Settings。 - 明确
/settings当前未实现,仅作为 Account Settings reserved route;后续如需新增,必须由 Shell / Integration owner 串行处理。 - 冻结全局 provider 归属:
QueryClientProvider -> PMFlowOsProvider -> ToastProvider -> RouterProvider,Space / Account 不得直接改 PMFlow OS store 内部 mutation。 - 冻结移动端底部导航归属:唯一实现为
MobileBottomNav.tsx,固定空间 / 指挥台 / 待确认 / 动态 / 我的;其中动态仍是/command-center占位,后续要做/activity必须单独开 Shell Packet。 - 同步修正
ARCHITECTURE_INVENTORY.md中 C1/C2 commit 的旧描述,明确 C2 backend/frontend commit 已完成。
涉及文件:
docs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mdCLAUDE.md
验证:
git diff --name-only已确认本轮只改文档与约束文件,未改前端共享壳代码。- 本轮未修改前端代码,因此未运行
npm run typecheck。
未完成或风险:
/settings尚未实现;account-settings-v1如需要该入口,必须先把 route 需求交给 Shell / Integration owner。动态底部导航仍指向/command-center,后续如做动态页需独立 Packet。
下一步建议:
- 并行启动
main-flow-phase-d-execution、space-v1-workbench、account-settings-v1;三个 Packet 均不得改 router/nav/provider/shared docs,最终由 integration owner 收口。
2026-04-26 / Phase D.2 - Execution Handoff Contract / done
完成内容:
- 新增
POST /pmflow-os/projects/{project_id}/execution-handoffs后端入口,复用 PMFlow OS 项目成员/OWNER/REVIEWER 权限边界。 PMFlowOSProjectionService.create_execution_handoff校验 task/project/tenant 边界,校验可选 active repo binding;无 repo 时允许创建 handoff draft 并保留 repo warning。- 对任务复用 active
PromptPackage;没有 active package 时,从真实Project / Task / Project Memory / RepoBinding生成 deterministicPromptPackage(package_kind='execution_handoff'),不使用 demo 文案。 - 创建
ProgressEvent(event_type='handoff_created', source='pmflow_os')作为执行起点,payload 记录runtime_target / prompt_package_id / repo_binding_id / boundary。 - 前端
ExecutionBridgePage在真实模式展示“发起执行交接”按钮,调用createPMFlowExecutionHandoff后 refetchtruth-state / execution-summary;demo 模式仍只走本地推进。 - 无 active task、无 repo、无 prompt package 时继续显示明确 empty/warning 和下一步,不回退假数据。
涉及文件:
backend/app/api/pmflow_os_api/__init__.pybackend/app/services/pmflow_os_projection_service.pybackend/app/schemas/pmflow_os.pybackend/tests/test_pmflow_os_projection_api.pyfrontend/src/api/pmflowOs.tsfrontend/src/features/pmflow-os/store.tsxfrontend/src/features/pmflow-os/store.api.test.tsxfrontend/src/features/pmflow-os/pages/ExecutionBridgePage.tsxfrontend/src/features/pmflow-os/components/ExecutionBridgeCards.tsxdocs/architecture/PMFLOW_OS_PRODUCT_CONTRACT.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.md
验证:
PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m py_compile backend/app/api/pmflow_os_api/__init__.py backend/app/services/pmflow_os_projection_service.py backend/app/schemas/pmflow_os.py通过。PYTHONPATH=backend /opt/homebrew/bin/python3.11 -m pytest backend/tests/test_pmflow_os_projection_api.py -q通过:9 passed。cd frontend && npm run test -- src/features/pmflow-os通过。cd frontend && npm run typecheck通过。cd frontend && npm run build通过;Vite 仍输出既有 manual chunk circular warning,未阻断构建。
未完成或风险:
- D.2 只创建 handoff 合同、PromptPackage 与 progress event 起点,不直接执行本机命令;真实命令执行仍必须通过 Local Bridge、Codex、GitHub agent 或兼容 MCP host。
- 当前未新增 migration,沿用既有
PromptPackage / RepoBinding / ProgressEvent。
下一步建议:
- 进入 D.3:补 Dev Sync 写回闭环,把 Codex/Local Bridge/GitHub agent 的执行结果回写为 branch/commit/PR/test progress event,并把任务状态/证据链投影回
truth-state。
2026-04-26 / Big Module Parallel Governance / done
完成内容:
- 将大模块并行治理写入产品推进标准:允许
Main Flow / Space / Account Settings作为长期模块 lane 并行,但实际执行仍必须拆成带write_scope的短生命周期 Packet。 - 明确
Shell / Integration owner负责共享路由、导航、Provider、共享 API base、共享文档和合并顺序。 - 定义当前四条 lane:
Shell / Integration、Main Flow / PMFlow OS 主流程、Space / 个人空间入口、Account Settings / 个人中心与设置。 - 明确每条 lane 的默认写范围、默认禁止范围和跨模块交互边界。
- 更新下一批推荐任务:先执行
P0-shell-module-boundaries,再并行推进main-flow-phase-d-execution / space-v1-workbench / account-settings-v1,最后由 integration owner 收口。
涉及文件:
docs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/TASK_BRIEF_TEMPLATE.mdAGENTS.mdCLAUDE.md
验证:
- 文档静态检查完成;本轮只更新治理文档和任务模板,未改代码、API、Schema 或 migration,未运行编译/单测。
未完成或风险:
- 该记录是大模块治理规则落盘;具体公共壳真实路由和 provider 核对已由后续
P0 Shell Module Boundaries完成。
下一步建议:
- 后续按 P0 冻结结果同时分派
main-flow-phase-d-execution、space-v1-workbench、account-settings-v1三个大模块 Packet。
2026-04-26 / Phase C2 Frontend - ChangeSet Commit Wiring / done
完成内容:
- 在
frontend/src/api/pmflowOs.ts增加commitPMFlowChangeSet,调用POST /pmflow-os/change-sets/{change_set_id}/commit,默认mode=atomic。 - 扩展 PMFlow OS 前端类型,允许后端投影返回
ChangeSet.status=committed/partially_committed与ChangeItem.status=committed/skipped。 - 将
PMFlowOsProvider.promoteAcceptedToGraph的真实模式接到后端 commit API,commit 后 refetchtruth-state;demo 模式继续使用本地 mutation。 - 将
ChangeReviewPage的真实模式主按钮从“下一阶段开放”改为“确认写入项目记忆”,不再用前端本地状态冒充正式写入。 - 补充 API 模式 store 测试,确认
promoteAcceptedToGraph("11")会调用commitPMFlowChangeSet("11", { mode: "atomic", ... }),且不会本地写入requirements。
涉及文件:
frontend/src/api/pmflowOs.tsfrontend/src/features/pmflow-os/types.tsfrontend/src/features/pmflow-os/store.tsxfrontend/src/features/pmflow-os/store.api.test.tsxfrontend/src/features/pmflow-os/pages/ChangeReviewPage.tsxfrontend/src/features/pmflow-os/components/ProjectStructuredLoop.tsxfrontend/src/features/pmflow-os/components/chrome.tsxdocs/architecture/PMFLOW_OS_PRODUCT_CONTRACT.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.md
验证:
npm run test -- src/features/pmflow-os/store.api.test.tsx通过:3 passed。npm run test -- src/features/pmflow-os通过:4 passed。npm run typecheck通过。npm run build通过;Vite 仍输出既有 manual chunk circular warning,未阻断构建。
未完成或风险:
- 前端真实 commit 依赖后端已完成审查状态;若仍存在
pending_reviewitem,后端会按合同显式返回changeset_not_reviewed。 - Release / ModelDecision / MetricSignal commit 仍按 C2 合同暂缓或 fail-closed。
- 当前为本地开发工作区验证,未执行部署环境热重启。
下一步建议:
- 执行 Phase D:把
ExecutionBridgePage切到GET /pmflow-os/projects/{project_id}/execution-summary与 dev-sync 真实数据,继续保留 demo fallback。
2026-04-26 / Phase C2 Backend - ChangeSet Atomic Commit / done
完成内容:
- 新增
POST /pmflow-os/change-sets/{change_set_id}/commit后端入口,复用项目成员/OWNER/REVIEWER 权限边界,统一响应包络。 - 在
PMFlowChangeReviewService实现 atomic commit:只处理accepted / edited项,默认提交全部 eligible items;存在未审项时阻断全量 commit;任一写入失败则回滚整个事务。 - 将
Requirement / Decision / Risk写入truth_nodes,将Task写入truth_nodes(node_type='task') + tasks,并为 truth node/task 写入semantic_factsseed。 - 补齐高风险 approval gate:
risk_level=high必须存在同 item 的 approved/edited approval 与 evidence,否则返回409 high_risk_approval_required且不写正式对象。 - 将
PMFlowChangeSet / PMFlowChangeItem序列化扩展到committed / partially_committed / skipped状态,避免 commit 后投影被误映射为 deferred。 - 将
backend/app/api/__init__.py改为轻量包入口,避免 focused API 测试导入单个模块时拉起 Feishu/MCP 等可选依赖。
涉及文件:
backend/app/api/__init__.pybackend/app/api/pmflow_os_api/__init__.pybackend/app/schemas/pmflow_os.pybackend/app/services/pmflow_change_review_service.pybackend/tests/test_pmflow_change_review_api.pydocs/architecture/PMFLOW_OS_PRODUCT_CONTRACT.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.md
验证:
/opt/homebrew/bin/python3.11 -m py_compile backend/app/api/__init__.py backend/app/api/pmflow_os_api/__init__.py backend/app/services/pmflow_change_review_service.py backend/app/schemas/pmflow_os.py backend/tests/test_pmflow_change_review_api.py通过。/opt/homebrew/bin/python3.11 -m pytest tests/test_pmflow_change_review_api.py -q通过:6 passed。/opt/homebrew/bin/python3.11 -m pytest tests/test_pmflow_change_review_api.py tests/test_pmflow_os_projection_api.py tests/test_pmflow_launch_api.py -q通过:18 passed。
未完成或风险:
- C2 V1 暂不支持
ModelDecision / MetricSignalcommit;按合同必须 fail-closed。 - 本地仍有未提交删除痕迹,未纳入本次提交。
- 当前为本地开发工作区验证,未执行部署环境热重启。
下一步建议:
- 已执行
C2-frontend;下一步进入 Phase D Execution Bridge 真实数据接入。
2026-04-26 / G0 Freeze + C2 Contract / done
完成内容:
- 将当前非删除工作区成果直接 checkpoint 到
master,形成b52428f docs: codify PMFlow product delivery governance与e04ea4d chore: checkpoint current PMFlow workspace两个提交;删除痕迹未提交,避免未确认地固化旧截图、表格、tunnel 脚本和临时文件删除。 - 收口 Phase C2 commit 合同:
POST /pmflow-os/change-sets/{change_set_id}/commit的请求体、权限、原子提交模式、响应结构、错误码、高风险 approval gate、C2 V1 objectType 白名单和 ProjectTruthState 投影规则。 - 明确 C2 V1 默认
mode=atomic,任一 eligible item 写入失败时整个 commit 回滚,禁止半写入 Project Memory。 - 明确 C2 必须实现
Requirement / Decision / Task / Risk;Release可选;ModelDecision / MetricSignal暂缓并必须 fail-closed。
涉及文件:
docs/architecture/PMFLOW_OS_PRODUCT_CONTRACT.mddocs/architecture/API_CONTRACTS.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.md
验证:
git status --short --branch已确认 checkpoint 后仅剩未提交删除痕迹。git diff --cached --name-status阶段检查未发现删除项被纳入 checkpoint。- 本轮 C2-contract 只改合同文档,未新增代码、Schema 或 migration,未运行编译/单测。
未完成或风险:
- 工作区仍有未提交删除痕迹,需用户单独确认是否删除或恢复。
- C2 后端 route/service/schema 与前端 API/store 尚未实现。
下一步建议:
- 执行
C2-backend:实现 atomic ChangeSet commit service、route、权限、事务、高风险 gate 与后端测试。 - 合同稳定后并行执行
C2-frontend:接入 commit API,替换真实模式下的 demo-onlypromoteAcceptedToGraph。
2026-04-26 / Parallel Delivery Governance / done
完成内容:
- 新增 Codex 并行推进协议,明确并行单位必须是带
read_scope / write_scope / forbidden_paths / shared_files / base_ref / merge_after的 Packet。 - 建立 V1 Productized Loop 默认并行 lane:
Contract / Backend / Frontend / UI / Docs-Test,并固定合同、后端、前端、UI、文档集成的合并顺序。 - 将下一阶段 Phase C2 拆成
C2-contract / C2-backend / C2-frontend / C2-docs-verification四个可分派 Packet,明确依赖和写范围。 - 新增分支、worktree、Packet commit 与 commit gate 协议:并行线程默认使用
codex/<packet_id>分支、记录base_ref、优先独立 worktree;Packet 完成后由 Codex 自行判定auto_commit / hold_no_commit / ask_before_commit,通过验证后形成可审查 commit,新 Packet 从最新 integration base 或明确依赖分支重新开分支。 - 新增
Parallel Integration Gate,要求 integration owner 检查越界 diff、后端/前端/migration 验证、文档同步和热部署说明。
涉及文件:
docs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mddocs/architecture/TASK_BRIEF_TEMPLATE.mdAGENTS.mdCLAUDE.mddocs/architecture/ARCHITECTURE_INVENTORY.md
验证:
- 文档静态检查通过:新增协议覆盖并行前置条件、Packet 模板、write scope / forbidden paths、共享文件锁、branch / worktree / base ref、Packet commit、commit gate、merge order、integration gate。
- 本轮只改治理文档,未新增代码、API、Schema 或 migration,未运行编译/单测。
未完成或风险:
- 当前仓库仍是大面积脏工作区;正式启动多线程并行前,需要先冻结当前改动归属,避免历史脏状态被误判为新冲突。
下一步建议:
- 以
C2-contract作为第一条并行治理试点 Packet,先锁定 ChangeSet commit 合同,再分派后端和前端线程。
2026-04-25 / Phase A - PMFlow OS Product Contract / done
完成内容:
- 新增 PMFlow OS 产品合同,明确
ProjectTruthState / Thread / Message / ChangeSet / ChangeItem / Evidence / Approval / Requirement / Decision / Task / Risk / ModelDecision / TestRun / Release / MetricSignal / ExecutionContext / TeamFeed的前后端映射。 - 明确复用边界:正式项目对象优先复用
truth_nodes / tasks / semantic_facts,AI 应用控制面复用ai_project_control与 SSTC model_control,执行桥复用dev_sync / prompt_packages / progress_events。 - 明确建议新增但本轮不建表的 PMFlow OS 专属合同对象:
pmflow_threads / pmflow_thread_messages / pmflow_change_sets / pmflow_change_items / pmflow_approvals / pmflow_evidence_links。 - 定义 PMFlow OS API 草案:
truth-state / messages / extractions / change-set detail / accept / edit / defer / commit / execution-summary。 - 明确
accept/edit/defer只改变审查状态,commit才写入truth_nodes / tasks / semantic_facts等正式对象。
涉及文件:
docs/architecture/PMFLOW_OS_PRODUCT_CONTRACT.mddocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mdCLAUDE.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.md
验证:
- 静态检查引用路径与核心对象完成。
- 本轮只改文档,未新增代码、API、Schema 或 migration,未运行编译/单测。
未完成或风险:
- API 尚未实现,数据库 migration 尚未创建。
truth_nodes.node_type的历史值需要在后续 projection 实现时做白名单映射。ChangeSet / Approval / EvidenceLink / Thread仍需后续实现真实表与服务。
下一步建议:
- 执行 A3 最小真实读路径:新增只读
pmflow_os_apiprojection,先实现GET /pmflow-os/projects/{project_id}/truth-state与GET /pmflow-os/projects/{project_id}/execution-summary。
2026-04-25 / A3 - PMFlow OS 最小真实读路径 / done
完成内容:
- 新增只读后端入口
backend/app/api/pmflow_os_api/,注册GET /pmflow-os/projects/{project_id}/truth-state与GET /pmflow-os/projects/{project_id}/execution-summary,统一返回{code,message,data}。 - 新增
backend/app/services/pmflow_os_projection_service.py与backend/app/schemas/pmflow_os.py,把ProjectTruthState投影接到真实后端对象:Requirement / Decision / Risk / Release来自truth_nodes,Task来自tasks,Project Memory来自truth_nodes + semantic_facts,ExecutionContext来自dev-sync summary + prompt_packages + progress_events + repo/task code link。 Thread / ChangeSet / ChangeItem / Approval / EvidenceLink本轮没有稳定表,不用 mock 冒充;接口返回空集合并通过projectionWarnings明确说明。- 新增前端 API
frontend/src/api/pmflowOs.ts,封装getPMFlowTruthState(projectId)与getPMFlowExecutionSummary(projectId)。 frontend/src/features/pmflow-os/store.tsx现支持?projectId=<id>通过 React Query 读取真实truth-state;只有显式?demo=1或?dataSource=demo才启用本地 mock 演示动作。真实 API 失败时显示错误/空态,不静默 fallback 成 mock 成功。ProjectMemoryPage在真实模式下展示后端projectMemory.truthNodeFacts / semanticFacts,不再把前端 mock 当作项目记忆来源。
涉及文件:
backend/app/api/pmflow_os_api/__init__.pybackend/app/services/pmflow_os_projection_service.pybackend/app/schemas/pmflow_os.pybackend/app/api/router.pybackend/tests/test_pmflow_os_projection_api.pyfrontend/src/api/pmflowOs.tsfrontend/src/features/pmflow-os/store.tsxfrontend/src/features/pmflow-os/components/PMFlowOsFrame.tsxfrontend/src/features/pmflow-os/pages/CommandCenterPage.tsxfrontend/src/features/pmflow-os/pages/ProjectMemoryPage.tsxdocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mdCLAUDE.md
验证:
- 静态路径检查完成。
- 后端:
python -m py_compile(Python 3.12 runtime)通过。 - 后端:
pytest tests/test_pmflow_os_projection_api.py -q通过,覆盖空项目 truth-state、Project Memory projection、tasks projection、execution-summary 空态、tenant/project 权限边界。 - 后端 router import smoke:
from app.api.router import api_router通过。 - 前端:
npm run typecheck通过。 - 前端:
npm run build通过。
剩余缺口:
- 本轮不新增 migration,因此
Thread / ChangeSet / ChangeItem / Approval / EvidenceLink仍为空集合或 warning;后续 Phase C 再补真实表与 mutation。 WorkGraph / ExecutionBridge / ReleaseGrowth仍有部分静态展示区,A3 只保证 truth store 与 Project Memory 真实读取入口,不做 UI 重画和完整页面数据替换。- 后端代码已改,但当前是在本地开发工作区执行验证,未连接运行中的部署服务;热部署/重启需要在实际部署环境执行。
2026-04-25 / Phase B - Project Launch 真实创建链 / done
完成内容:
- 新增 Phase B 专用启动链表 migration
backend/alembic/versions/20260425_add_pmflow_launch_tables.py,只创建pmflow_launch_drafts / pmflow_threads / pmflow_thread_messages;本轮未创建pmflow_change_sets / pmflow_change_items / pmflow_approvals / pmflow_evidence_links。 - 新增后端启动链入口
backend/app/api/pmflow_launch_api/,注册POST /pmflow-launch/drafts与POST /pmflow-launch/drafts/{draft_id}/confirm,统一返回{code,message,data}。 - 新增
backend/app/services/pmflow_launch_service.py与backend/app/schemas/pmflow_launch.py:草案生成调用llm_service.generate_structured_object(function_name="pmflow_launch_draft_v1")并显式传routing_meta;结构化失败返回明确错误或 warnings,不用模板句冒充成功。 - confirm 在同一事务内锁定草案并创建
Project / UserProject / PMFlowThread / PMFlowThreadMessage / truth_nodes / tasks / semantic_facts seed / OperationLog,随后更新草案status=confirmed与confirmed_project_id;重复 confirm 幂等返回同一project_id,不重复写正式对象。 truth_nodes.content与任务 payload 写入launch_draft_id / thread_id / thread_message_id / source=pmflow_launch_confirmed_draft / confidence / evidence,确保初始 Project Memory 与 Task 能追溯到启动草案和首条用户输入。- A3
truth-stateprojection 已更新为优先读取pmflow_threads默认启动线程与pmflow_thread_messages,Project Memory 仍只来自truth_nodes + semantic_facts,不从 launch draft 直接拼。 - 新增前端 API
frontend/src/api/pmflowLaunch.ts,封装createPMFlowLaunchDraft与confirmPMFlowLaunchDraft。 frontend/src/features/project-launch/useProjectLaunchState.ts默认走真实 API;只有显式?demo=1或?dataSource=demo才启用本地演示状态机。draft/confirm 失败进入明确失败态,不静默跳 mock 成功态。- 新增
/pmflow-osroute alias,创建成功后使用后端返回的/pmflow-os?projectId=<id>进入 A3 真实读路径。
涉及文件:
backend/alembic/versions/20260425_add_pmflow_launch_tables.pybackend/app/models/pmflow_launch.pybackend/app/api/pmflow_launch_api/__init__.pybackend/app/services/pmflow_launch_service.pybackend/app/schemas/pmflow_launch.pybackend/app/services/pmflow_os_projection_service.pybackend/app/config/ai_prompts_catalog/part_scenes_06.pybackend/app/services/llm_service/shared_part_01.pybackend/tests/test_pmflow_launch_api.pybackend/tests/test_pmflow_os_projection_api.pyfrontend/src/api/pmflowLaunch.tsfrontend/src/features/project-launch/useProjectLaunchState.tsfrontend/src/features/project-launch/useProjectLaunchState.test.tsfrontend/src/router/index.tsxdocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mdCLAUDE.md
验证:
- 后端:
python -m py_compile新增后端模块、migration、router、prompt 聚合文件通过。 - 后端:
pytest tests/test_pmflow_launch_api.py tests/test_pmflow_os_projection_api.py -q通过,覆盖 draft 成功、结构化字段缺失、warnings、confirm 创建 Project/thread/message/truth_nodes/tasks、truth-state 回读、幂等、过期/跨 tenant/跨 user、rollback。 - Alembic:
alembic upgrade head在本地开发 PostgreSQL 成功从20260421_finalize_v1_productization升级到20260425_add_pmflow_launch_tables。 - 前端:
npm run test -- src/features/project-launch/useProjectLaunchState.test.ts通过,覆盖真实 draft API、draft 失败、confirm 成功、confirm 失败不进成功态、显式 demo 分支。 - 前端:
npm run typecheck通过。 - 前端:
npm run build通过。
剩余缺口:
- Phase B 只覆盖首次 Project Launch 创建链;项目内后续 ChangeSet / ChangeItem / Approval / EvidenceLink 审查系统仍留给 Phase C。
- 初始
semantic_factsseed 仅写用户确认后的 project-level facts;完整异步抽取和治理仍复用既有 semantic facts 管线。
2026-04-26 / Phase C1 - PMFlow Change Review 数据底座与审查状态机 / done
完成内容:
- 新增 C1 review 表 migration
backend/alembic/versions/20260426_add_pmflow_change_review_tables.py,只创建pmflow_change_sets / pmflow_change_items / pmflow_approvals / pmflow_evidence_links;未新增 commit 或 Phase C2 表。 - 新增模型
backend/app/models/pmflow_change_review.py,所有表包含tenant_id,并按tenant_id + project_id查询;ChangeItem归属ChangeSet,Approval记录accept / edit / defer的 before/after,EvidenceLink可引用 thread message。 - 新增服务
backend/app/services/pmflow_change_review_service.py,实现项目内消息、proposed_itemsextraction、ChangeSet detail、accept/edit/defer 审查状态机;老项目无真实线程时仅允许default或thread-project-{project_id}懒创建默认线程。 - 在
backend/app/api/pmflow_os_api/扩展/pmflow-osAPI:POST /projects/{project_id}/threads/{thread_id}/messages、POST /projects/{project_id}/extractions、GET /projects/{project_id}/change-sets/{change_set_id}、POST /change-items/{change_item_id}/accept|edit|defer,统一响应包络。 PMFlowOSProjectionService已投影changeSets / changeItems / evidence / approvals,activeChangeSetId取最近 open ChangeSet,loopStage映射为command_idle / extraction_ready / review_open;Project Memory 仍只来自truth_nodes + semantic_facts。- 前端
frontend/src/api/pmflowOs.ts增加 Change Review API wrapper;frontend/src/features/pmflow-os/store.tsx真实模式调用后端 message/extraction/accept/edit/defer,并在成功后 refetch truth-state。真实模式不再本地 promote accepted item,也不假装写入项目记忆;demo 模式仍需显式?demo=1或?dataSource=demo。
涉及文件:
backend/alembic/versions/20260426_add_pmflow_change_review_tables.pybackend/app/models/pmflow_change_review.pybackend/app/services/pmflow_change_review_service.pybackend/app/api/pmflow_os_api/__init__.pybackend/app/schemas/pmflow_os.pybackend/app/services/pmflow_os_projection_service.pybackend/tests/test_pmflow_change_review_api.pybackend/tests/test_pmflow_os_projection_api.pyfrontend/src/api/pmflowOs.tsfrontend/src/features/pmflow-os/store.tsxfrontend/src/features/pmflow-os/store.api.test.tsxfrontend/src/features/pmflow-os/pages/ChangeReviewPage.tsxfrontend/src/features/pmflow-os/components/ProjectStructuredLoop.tsxdocs/architecture/CODE_REFERENCE_INDEX.mddocs/architecture/ARCHITECTURE_INVENTORY.mddocs/architecture/PMFLOW_OS_PRODUCT_CONTRACT.mddocs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mdCLAUDE.md
验证:
- 后端:
python -m py_compile新增后端模型、service、schema、router、migration 通过。 - 后端:
pytest tests/test_pmflow_change_review_api.py tests/test_pmflow_os_projection_api.py tests/test_pmflow_launch_api.py -q通过,覆盖 message 懒创建线程、extraction、change items、evidence link、detail、accept/edit/defer、reviewed 自动推进、权限边界、truth-state 投影,以及 accepted/edited 不进入 Project Memory。 - Alembic:
alembic heads返回20260426_add_pmflow_change_review_tables (head);alembic upgrade head在本地开发 PostgreSQL 成功从20260425_add_pmflow_launch_tables升级到20260426_add_pmflow_change_review_tables。 - 前端:
npm run test -- src/features/pmflow-os通过。 - 前端:
npm run typecheck通过。 - 前端:
npm run build通过;Vite 仍提示既有循环 chunk warning,但构建成功。
剩余缺口:
- C1 不实现
/commit,不写truth_nodes / tasks / semantic_facts;accepted/edited 仅代表审查状态,不代表 confirmed Project Memory。 POST /extractions本轮只接收proposed_items,不默认调用 LLM 结构化提取;AI extraction 主链留给后续阶段。- 高风险
risk_level=high本轮只记录风险等级和 approval,commit gate 留给 C2。
下一步建议:
- 执行 Phase C2:实现 ChangeSet commit,把
accepted / editedChangeItem 按对象类型写入正式truth_nodes / tasks / semantic_facts,并补齐高风险 approval gate 与部分失败回滚/明细返回。
2026-04-24 / Product Blueprint / done
完成内容:
- 整理并落盘 PMFlow 产品蓝图真源。
- 明确 PMFlow 是“对话驱动的 AI 产品执行操作系统”。
- 明确
solo-first, team-ready、项目真相层、ChangeSet 待确认、Execution Bridge、人机混编团队等不可偏离项。
涉及文件:
docs/PMFLOW_PRODUCT_BLUEPRINT.mdUSER.mdCLAUDE.mddocs/architecture/ARCHITECTURE_INVENTORY.md
验证:
- 文档新增与引用检查完成。
- 无代码改动,未运行编译/测试。
下一步:
- 执行 Phase A:PMFlow OS 产品合同收口。
2026-04-24 / Delivery Standard / done
完成内容:
- 建立 PMFlow 产品推进执行标准。
- 记录当前推进状态、下一阶段方向、Phase A-F 推进顺序、单次任务范围标准和完成后进度回写标准。
- 明确新开线程必须先读蓝图、执行标准和代码索引,避免重做或漏做。
涉及文件:
docs/PMFLOW_PRODUCT_DELIVERY_STANDARD.mdUSER.mdCLAUDE.mddocs/architecture/ARCHITECTURE_INVENTORY.md
验证:
- 文档新增与引用检查完成。
- 无代码改动,未运行编译/测试。
下一步:
- 从 A1 对象合同映射开始,把前端
pmflow-os/types.ts与后端现有对象逐一对齐。