Pārlūkot izejas kodu

docs: define document write boundaries

yanqiliang 3 mēneši atpakaļ
vecāks
revīzija
7be655ac8a

+ 25 - 0
01-项目文档_docs/00-项目管理/02-流程与规范/开发流程.md

@@ -20,6 +20,28 @@
 
 ## 硬性检查点
 
+### 文档写入权限与固定位置
+
+不同角色或 AI 只能在职责范围内写入固定位置:
+
+| 角色 | 允许写入 | 禁止写入 |
+| --- | --- | --- |
+| 开发者 / 开发者 AI | 当前模块源码、当前模块上下文包、当前模块 OpenSpec change、`04-验收报告` 中的开发者自检报告、`05-问题反馈` 中的开发者自检问题反馈 | 项目管理流程规范、项目总控入口、其他模块文档、其他模块 OpenSpec change、输入资料 |
+| 开发者自检验收 Agent | `04-验收报告`、`05-问题反馈`、当前模块文档中的报告/问题反馈路径索引 | 直接修改源码、裁定项目管理复核结果、执行最终 archive |
+| 项目管理复核验收 Agent | `04-验收报告`、`05-问题反馈`、`功能模块总进度表.md`、当前模块文档中的复核结论索引 | 替开发者提交代码、修改其他模块实现、跳过 OpenSpec archive |
+| OpenSpec Agent | 当前模块 OpenSpec archive、`openspec/specs`、`06-归档总结`、归档后状态索引 | 在项目管理复核前执行最终 archive、改写开发者实现 |
+| 项目管理协同 Agent | 项目总控入口、流程规范、Agent/Prompt/Skill、总进度表、归档与复盘文档 | 未经项目负责人确认的大范围删除、改写输入资料或替代业务裁定 |
+
+固定输出目录:
+
+1. 验收报告:`01-项目文档_docs/04-验收报告`。
+2. 问题反馈:`01-项目文档_docs/05-问题反馈`。
+3. 归档总结:`01-项目文档_docs/06-归档总结`。
+4. 功能模块上下文包:`01-项目文档_docs/03-功能模块/功能编码_功能名称`。
+5. 当前最新执行口径:`01-项目文档_docs/00-项目管理/项目总控入口.md`。
+
+除项目负责人明确要求外,不得新增平行的“最新入口”“最新口径索引”或临时流程文件。
+
 ### 编码前检查
 
 开发者或开发者 AI 正式编码前必须确认:
@@ -42,6 +64,7 @@
 3. 模块文档状态、验收清单和总进度表已同步。
 4. 问题反馈已写入 `01-项目文档_docs/05-问题反馈`,或明确无阻塞问题反馈。
 5. 模块分支已准备合并回 `develop`。
+6. 所有文档写入均符合“文档写入权限与固定位置”,未散落到模块目录、源码目录、OpenSpec archive 或聊天记录中。
 
 ### 项目复核检查
 
@@ -52,6 +75,7 @@
 3. develop 污染检查已完成。
 4. 模块文档、OpenSpec 和总进度表一致。
 5. 问题反馈无阻塞项。
+6. 复核结论未引入旧模块口径、旧状态或平行最新入口。
 
 ### 归档检查
 
@@ -63,6 +87,7 @@
 4. 归档总结已写入 `01-项目文档_docs/06-归档总结`。
 5. 模块文档、总进度表和项目总控入口已同步为 `已归档`。
 6. 归档相关变更已提交 git。
+7. 归档后当前状态以项目总控入口、总进度表和归档总结为准,历史验收报告和 OpenSpec archive 原始记录仅作为审计快照。
 
 ## 开发者领取模块
 

+ 11 - 0
01-项目文档_docs/00-项目管理/03-交付验收/开发者模块交付与归档流程.md

@@ -23,6 +23,16 @@
 
 OpenSpec change 由开发者或开发者 AI 在领取模块后创建,命名以功能模块文档中的 `openspec_change` 为准。
 
+开发者或开发者 AI 只允许写入以下区域:
+
+1. 当前模块源码:`04-新项目源码_source/pri-smart-hospital-miniprogram` 中与当前模块相关的文件。
+2. 当前模块上下文包:`01-项目文档_docs/03-功能模块/当前功能编码_功能名称`。
+3. 当前模块 OpenSpec change:`openspec/changes/当前openspec_change`。
+4. 开发者自检验收报告:`01-项目文档_docs/04-验收报告/YYYY-MM-DD_功能编码_开发者自检验收报告.md`。
+5. 开发者自检问题反馈:`01-项目文档_docs/05-问题反馈/YYYY-MM-DD_功能编码_开发者自检问题反馈.md`。
+
+开发者或开发者 AI 不得修改项目总控入口、项目管理流程规范、其他模块文档、其他模块 OpenSpec change、输入资料或最终 OpenSpec archive 产物;如确实需要修改,必须先报告项目负责人确认。
+
 ## 开发中
 
 开发者应按功能模块文档完成:
@@ -62,6 +72,7 @@ OpenSpec change 由开发者或开发者 AI 在领取模块后创建,命名以
 10. 将模块分支合并回 `develop`。
 11. 确认模块分支最终合并目标为 `develop`。
 12. 在最终交付说明中列出 archive 前置材料检查结果,包括 OpenSpec tasks、模块文档、总进度表、开发者自检验收报告和问题反馈状态。
+13. 确认本次写入文件均位于允许写入区域,未新增平行最新入口、临时流程文件或散落验收材料。
 
 ## 提交后状态
 

+ 2 - 0
01-项目文档_docs/00-项目管理/项目总控入口.md

@@ -4,6 +4,8 @@
 
 本文件用于帮助 AI 快速恢复项目管理上下文。
 
+本文件是项目唯一最新执行口径入口。后续如模块口径、首批优先级、验收归档规则、默认读取范围或开发者 AI 边界发生变化,必须优先同步本文件;不得另建“最新入口”“最新口径索引”等平行入口,避免后续出现多个最新版本。
+
 本项目的管理工作主要由现实项目负责人完成,AI 作为项目管理协同 Agent 辅助推进。管理类规则不要求开发者完整阅读,开发者主要使用开发者 AI 入口、防污染规则、当前模块上下文包、UI 标准、交付归档流程、分支规范、开发 Skill/Prompt 和当前模块 OpenSpec。
 
 ## 当前执行口径

+ 15 - 0
02-AI协作_ai-workflow/开发者AI防污染规则.md

@@ -11,6 +11,7 @@
 3. 开发者 AI 不做项目管理决策。
 4. 开发者 AI 不修改项目管理流程文档。
 5. 开发者 AI 不替项目负责人裁定验收结果。
+6. 开发者 AI 不创建“最新入口”“最新口径索引”等平行入口;当前最新执行口径只以 `01-项目文档_docs/00-项目管理/项目总控入口.md` 为准。
 
 ## 允许读取
 
@@ -29,6 +30,18 @@
 1. `02-AI协作_ai-workflow/03-Prompt模板_prompts/开发者自检验收.prompt.md`。
 2. `02-AI协作_ai-workflow/03-Prompt模板_prompts/开发者模块提交待验收.prompt.md`。
 
+## 允许写入
+
+开发者 AI 默认只允许写入:
+
+1. 当前模块相关源码。
+2. 当前模块上下文包。
+3. 当前模块 OpenSpec change。
+4. `01-项目文档_docs/04-验收报告` 中的当前模块开发者自检验收报告。
+5. `01-项目文档_docs/05-问题反馈` 中的当前模块开发者自检问题反馈。
+
+如需修改项目管理入口、流程规范、其他模块文档、输入资料或归档产物,必须先停止并报告项目负责人确认。
+
 ## 禁止主动执行
 
 开发者 AI 不应主动执行:
@@ -42,6 +55,7 @@
 7. 默认读取或直接修改旧版源码输入资料。
 8. 默认读取或修改其他业务模块文档和上下文包。
 9. 把真实支付、医保支付、就诊人新增编辑、挂号后记录状态塞入 `PRI-MP-REG-001`。
+10. 在模块目录、源码目录、OpenSpec 目录或聊天记录中散落验收报告、问题反馈或归档总结。
 
 ## 遇到管理文档时的处理
 
@@ -67,5 +81,6 @@
 你只负责根据当前模块上下文包完成本模块开发、自检和提交待验收准备。
 不要参与项目管理决策,不要重构项目管理文档,不要处理其他模块。
 不要默认读取旧源码输入资料、其他业务模块文档或管理复盘文档。
+不要创建新的最新入口或临时流程文件;当前最新执行口径只看项目总控入口。
 如遇到项目管理类文档,只提取与当前模块开发直接相关的约束。
 ```