GOV8 建立连续型 Issue 治理基线
这个提交包含在:
+105
@@ -1,7 +1,11 @@
|
||||
# 开发交付与变更管理规约
|
||||
|
||||
**文档状态**:当前开发交付事实源。
|
||||
**分类**:开发治理。
|
||||
**适用范围**:hyb-oa 所有非微小代码、文档、测试、脚本和部署准备变更。
|
||||
**关联 Issue**:`GOV8`。
|
||||
**最近审计**:2026-05-13。
|
||||
**不得误读**:本文定义开发和变更流程,不替代具体业务 PRD、模块规约或测试规约。
|
||||
**路线口径**:开发必须围绕最新 Issue CSV 执行;hyb-oa 是唯一业务主系统,企业微信只做基础设施,飞书路线已废弃。
|
||||
|
||||
本文回答“一个变更怎么开始、怎么审查、什么时候提交、怎么交付”。测试细节以 [测试规约与回归门禁](./测试规约与回归门禁.md) 为准。
|
||||
@@ -32,6 +36,48 @@
|
||||
|
||||
如果回归失败,不能把 `Regression_Status` 标为 `DONE`。如果发现范围外缺口,记录到 Notes 或新 Issue。
|
||||
|
||||
### 2.1 连续型 Issue 策略
|
||||
|
||||
后续默认使用“少量长期连续合同 + 多行任务 + 阶段收口”,不再为每个小反馈、小链接修正或单点讨论新建 CSV。
|
||||
|
||||
| 治理流 | 覆盖范围 | 进入条件 |
|
||||
| --- | --- | --- |
|
||||
| `GOV8` | 文档、流程、审计、Issue 管理 | 材料散、权威不清、流程模板和审计问题 |
|
||||
| `R7E` | 真实扩大试运行 | 用户确认参与人、窗口、回滚和每日收口后 |
|
||||
| `ORG8` | 组织账号、角色、权限、企业微信绑定 | 组织主数据或权限边界问题 |
|
||||
| `WF8` | 审批、通知、催办、转审 | 审批通知能力增强,但不涉及复杂 BPM |
|
||||
| `BIZ8` | OCR、票据、财务、费用、项目轻量增强 | 业务主链路增强,但不涉及 ERP 或重预算 |
|
||||
| `QAOPS8` | 测试、发布、运维、上线准备 | 回归、门禁、备份、SLO、发布问题 |
|
||||
|
||||
连续型 Issue 规则:
|
||||
|
||||
- 同类型、同目标、同风险域的问题进入同一个连续 CSV。
|
||||
- 只有跨业务域、跨风险等级、跨里程碑,或当前治理流阶段性收口后,才新建下一版 CSV。
|
||||
- 一个连续 CSV 内用领域前缀表达子类,例如 `GOV8-DOC-*`、`ORG8-PERM-*`、`WF8-NOTIFY-*`。
|
||||
- 旧 Issue CSV 保留为历史审计证据,不删除、不批量回写、不移动到归档目录。
|
||||
- 如果新治理流替代旧合同,只在新 CSV 的 `Notes` 或文档索引中说明 `supersedes`。
|
||||
- 当前可执行合同只在 `docs/文档索引.md` 和 `docs/文档事实源状态矩阵.md` 中暴露,避免主入口被历史 Issue 淹没。
|
||||
|
||||
### 2.2 需求冻结和变更请求
|
||||
|
||||
非微小需求必须先进入需求事实源和当前同类型连续 CSV。需求冻结后,新增想法默认进入后续池;只有同时满足以下条件,才允许并入当前轮:
|
||||
|
||||
- 不扩大当前治理流范围。
|
||||
- 不改变已批准验收口径。
|
||||
- 不引入新的权限、状态机、数据迁移或生产风险。
|
||||
- 不增加未覆盖测试面。
|
||||
- 不导致当前 `Test_Method` 失效。
|
||||
|
||||
变更请求至少写清:
|
||||
|
||||
| 字段 | 说明 |
|
||||
| --- | --- |
|
||||
| 变更原因 | 为什么现在提出 |
|
||||
| 影响范围 | 影响哪些角色、流程、接口、页面、数据或文档 |
|
||||
| 处理方式 | 替代原需求、追加当前行、进入同治理流后续行或进入下一阶段 |
|
||||
| 测试影响 | 原测试是否仍有效,是否新增权限/视觉/公网/真机验证 |
|
||||
| 回滚路径 | 如何撤销或延后 |
|
||||
|
||||
## 3. 开发边界
|
||||
|
||||
- 每次只做当前 Issue 范围内的事,不顺手重构无关模块。
|
||||
@@ -40,6 +86,65 @@
|
||||
- 不在当前 MVP 首批范围内扩展预算、ERP、AI、飞书、企业微信原生审批、复杂 BPM 或重型项目管理。
|
||||
- 未经确认不得重置数据库、编辑迁移历史、修改生产配置、暴露真实密钥或处理真实敏感数据。
|
||||
|
||||
## 3.1 方案和计划模板
|
||||
|
||||
后续非微小变更在实施前必须至少给出以下轻量模板内容。模板可以写在回复、Issue CSV `Notes` 或对应规约中,但必须可审计。
|
||||
|
||||
### 需求整理模板
|
||||
|
||||
| 字段 | 要求 |
|
||||
| --- | --- |
|
||||
| 背景 | 真实反馈、试运行问题、业务制度或技术风险 |
|
||||
| 目标角色 | 员工、审批人、财务、管理员、老板/负责人等 |
|
||||
| 主流程 | 从发起到验收的业务路径 |
|
||||
| 必须做 | 当前轮必须完成的行为 |
|
||||
| 暂不做 | 明确冻结或后续池能力 |
|
||||
| 验收口径 | 用户或自动化如何判断完成 |
|
||||
|
||||
### 设计方案模板
|
||||
|
||||
| 字段 | 要求 |
|
||||
| --- | --- |
|
||||
| 数据/API | 新增或变更的数据、接口、字段和兼容性 |
|
||||
| 权限 | 服务端授权、角色边界、敏感字段和审计 |
|
||||
| 状态流 | 状态转换、非法跳转、并发和重复提交 |
|
||||
| 页面 | PC、移动、企业微信入口和视觉规则 |
|
||||
| 异常 | 缺配置、失败、重试、SKIP 和用户提示 |
|
||||
| 回滚 | 代码、配置、数据、迁移和发布回滚路径 |
|
||||
| 测试影响 | 需要新增或复跑的验证 |
|
||||
|
||||
### 开发计划模板
|
||||
|
||||
| 字段 | 要求 |
|
||||
| --- | --- |
|
||||
| 治理流 | GOV8/R7E/ORG8/WF8/BIZ8/QAOPS8 |
|
||||
| Issue 行 | 对应 CSV 行 ID |
|
||||
| 文件范围 | `docs/`、`server/`、`client/`、`scripts/qa/` 等 |
|
||||
| 依赖 | 前置 Issue 行和外部条件 |
|
||||
| 交接物 | 代码、文档、脚本、API 契约、测试证据 |
|
||||
|
||||
### 测试方案模板
|
||||
|
||||
| 字段 | 要求 |
|
||||
| --- | --- |
|
||||
| 主流程 | 至少覆盖一个业务流程级验证 |
|
||||
| 异常流程 | 权限不足、缺配置、失败、重复提交、撤回/驳回等 |
|
||||
| 权限 | 普通员工、审批人、财务、管理员边界 |
|
||||
| 视觉 | PC、移动、企业微信 UA 和关键视口 |
|
||||
| 公网/真机 | `/ready`、public bundle、live readiness、真实 OCR、真机反馈 |
|
||||
| SKIP 条件 | 只允许真实外部条件缺失时 SKIP,且必须记录补测条件 |
|
||||
|
||||
### 测试计划模板
|
||||
|
||||
| 字段 | 要求 |
|
||||
| --- | --- |
|
||||
| 执行时机 | 开发前、后端后、前端后、review 前、回填前、commit 前 |
|
||||
| 命令 | 可复现命令或人工步骤 |
|
||||
| 环境 | 本地、公网匿名、带凭据、企业微信真机 |
|
||||
| 证据路径 | artifacts、output、报告、Issue CSV Notes |
|
||||
| 负责人 | backend/frontend/qa/ops 或人工验收角色 |
|
||||
| 阻断条件 | 哪些失败必须停止推进 |
|
||||
|
||||
## 4. Review 规则
|
||||
|
||||
Review 不只看代码格式,优先检查行为风险:
|
||||
|
||||
@@ -1,13 +1,68 @@
|
||||
# 文档事实源状态矩阵
|
||||
|
||||
**文档状态**:当前文档治理事实源。
|
||||
**分类**:文档台账。
|
||||
**适用时间**:DCL7 之后。
|
||||
**关联 Issue**:`GOV8`。
|
||||
**最近审计**:2026-05-13。
|
||||
**不得误读**:本文登记文档权威性和状态,不替代具体 PRD、模块规约、测试规约或 Issue CSV。
|
||||
**治理口径**:中文优先,物理精简。历史资料不建 `docs/archive/`,已确认不用的文档从当前树移除,通过 git 历史恢复。
|
||||
|
||||
## 冲突优先级
|
||||
|
||||
最新 Issue CSV > 当前 PRD/模块规约 > 产品和设计规则 > 当前操作手册 > 技术参考 > 历史证据 > git 历史。
|
||||
|
||||
## 台账状态值
|
||||
|
||||
| Status | 含义 | 是否可直接指导开发 |
|
||||
| --- | --- | --- |
|
||||
| `CURRENT` | 当前事实源或当前执行合同 | 可以 |
|
||||
| `DRAFT` | 草案或准备材料,未完成启动确认 | 不可以 |
|
||||
| `EVIDENCE` | 试运行、测试、审计或验收证据 | 不可以 |
|
||||
| `HISTORICAL` | 历史快照或旧合同 | 不可以 |
|
||||
| `SUPERSEDED` | 已被新文档或新合同替代 | 不可以 |
|
||||
| `REMOVED` | 已从当前树物理移除,只能从 git 历史恢复 | 不可以 |
|
||||
|
||||
## 当前活跃治理流
|
||||
|
||||
| Stream | Contract | Status | 用途 |
|
||||
| --- | --- | --- | --- |
|
||||
| `GOV8` | `issues/2026-05-13_16-31-09-gov8-system-governance.csv` | `CURRENT` | 连续型 Issue 治理、文档台账、流程模板和审计脚本 |
|
||||
| `R7E` | 待新建连续合同 | `DRAFT` | 真实扩大试运行人工确认和执行 |
|
||||
| `ORG8` | 待新建连续合同 | `DRAFT` | 组织账号和权限主数据治理 |
|
||||
| `WF8` | 待新建连续合同 | `DRAFT` | 审批与通知增强 |
|
||||
| `BIZ8` | 待新建连续合同 | `DRAFT` | 报销/OCR/财务/项目轻量增强 |
|
||||
| `QAOPS8` | 待新建连续合同 | `DRAFT` | 测试、发布、运维和上线准备 |
|
||||
|
||||
旧 Issue CSV 保留为历史审计证据:不删除、不批量回写、不移动到 `docs/archive/` 或其他归档目录。新连续合同如替代旧合同,只在新合同 `Notes` 或文档索引中说明 supersedes。
|
||||
|
||||
## 文档台账
|
||||
|
||||
| Doc_ID | Path | Category | Authority | Status | Owner | Related_Issues | Evidence | Supersedes | Last_Audited | Audit_Method | Risk | Notes |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| `IDX` | `docs/文档索引.md` | 入口索引 | 最高文档入口 | `CURRENT` | product/dev | `GOV8` | `rg` | none | 2026-05-13 | `node scripts/qa/audit-docs.mjs --check-registry` | medium | 判断当前该读什么 |
|
||||
| `REG` | `docs/文档事实源状态矩阵.md` | 文档台账 | 文档分类和状态事实源 | `CURRENT` | product/dev | `GOV8` | `audit-docs` | none | 2026-05-13 | `audit-docs --check-registry` | medium | 判断文档权威性 |
|
||||
| `PRD-MVP` | `docs/海音达OA-MVP需求规格说明书.md` | 需求事实源 | PRD 主事实源 | `CURRENT` | product | `REQ8,P2T,GOV8` | Issue CSV | `docs/requirements-specification.md` | 2026-05-13 | `rg` | high | 定义做什么、不做什么和验收口径 |
|
||||
| `PRODUCT-SCOPE` | `docs/产品口径.md` | 需求事实源 | 产品边界事实源 | `CURRENT` | product | `REQ8,P2T` | `rg` | none | 2026-05-13 | `rg` | high | 记录已拍板产品边界 |
|
||||
| `DESIGN-UI` | `docs/产品设计规则.md` | 设计事实源 | PC/移动/企业微信设计事实源 | `CURRENT` | design/frontend | `MIA7,MIF7,GOV8` | Playwright/视觉审查 | none | 2026-05-13 | `rg` | high | 页面改动必须读取 |
|
||||
| `DELIVERY` | `docs/开发交付与变更管理规约.md` | 开发治理 | 开发交付事实源 | `CURRENT` | dev/qa | `GOV8` | `rg` | none | 2026-05-13 | `rg` | high | Issue、review、commit 和交付规则 |
|
||||
| `QA-GATE` | `docs/测试规约与回归门禁.md` | 测试验收 | 测试和回归门禁事实源 | `CURRENT` | qa | `QAF8,GOV8` | 回归脚本/Playwright | none | 2026-05-13 | `rg` | high | 测试计划和 DONE 门禁 |
|
||||
| `AGENT-PRACTICE` | `docs/Agent开发交付实践.md` | Agent 治理 | Agent 协作事实源 | `CURRENT` | dev | `GOV8` | Skill 校验 | none | 2026-05-13 | `rg` | medium | Agent 协作开发实践 |
|
||||
| `AGENTS` | `AGENTS.md` | 执行硬约束 | 项目硬规则 | `CURRENT` | lead | `GOV8` | 人工核对 | none | 2026-05-13 | `rg` | high | 不可违反约束 |
|
||||
| `SKILL-HYB` | `.agents/skills/hyb-oa-delivery/SKILL.md` | Skill | 项目交付 Skill | `CURRENT` | dev | `GOV8` | quick_validate | none | 2026-05-13 | `quick_validate.py` | medium | 每轮交付操作入口 |
|
||||
| `REQ-WF` | `docs/需求-统一审批中心规约.md` | 需求事实源 | 审批模块规约 | `CURRENT` | product/backend | `AP6,WF8` | workflow 回归 | none | 2026-05-13 | `rg` | high | 审批、催办、通知和状态流 |
|
||||
| `REQ-OCR` | `docs/需求-报销发票OCR规约.md` | 需求事实源 | OCR 模块规约 | `CURRENT` | product/backend | `RI6,OCR8,BIZ8` | OCR 回归 | none | 2026-05-13 | `rg` | high | OCR 和发票边界 |
|
||||
| `RULE-REIMB` | `docs/报销发票附件规则.md` | 需求事实源 | 报销发票附件规则 | `CURRENT` | product/finance | `RI6,BIZ8` | 报销回归 | none | 2026-05-13 | `rg` | high | 报销、发票、附件细则 |
|
||||
| `REQ-WECOM` | `docs/需求-企业微信基础设施规约.md` | 需求事实源 | 企业微信边界规约 | `CURRENT` | product/backend | `R7E,ORG8,WF8` | live smoke/真机反馈 | none | 2026-05-13 | `rg` | high | 企业微信只做入口、身份和通知 |
|
||||
| `RUNBOOK-TRIAL` | `docs/试运行与自动化验证手册.md` | 操作手册 | 试运行验证手册 | `CURRENT` | qa/ops | `R7E,QAOPS8` | live readiness | none | 2026-05-13 | `rg` | medium | 本地、公网、企业微信和真实 OCR 验证 |
|
||||
| `MANUAL-ADMIN` | `docs/管理员手册.md` | 操作手册 | 管理员手册 | `CURRENT` | ops/admin | `ORG8,R7E` | 人工验收 | none | 2026-05-13 | `rg` | medium | 管理员上线和配置 |
|
||||
| `MANUAL-EMPLOYEE` | `docs/员工快速上手.md` | 操作手册 | 员工手册 | `CURRENT` | product | `R7E` | 人工验收 | none | 2026-05-13 | `rg` | low | 员工侧使用说明 |
|
||||
| `R7-DRAFT` | `docs/trialrun/R7扩大试运行草案.md` | 草案 | R7 准备材料 | `DRAFT` | product/qa | `R7E` | R7EP 报告 | none | 2026-05-13 | `rg` | medium | 不代表真实 R7 已启动 |
|
||||
| `OPS-RUNBOOK` | `docs/trialrun/OPS7运维交接Runbook.md` | 运维草案 | OPS 准备材料 | `DRAFT` | ops | `OPS8,QAOPS8` | 只读检查 | none | 2026-05-13 | `rg` | medium | 不代表恢复演练已执行 |
|
||||
| `TRIAL-REPORT` | `docs/trialrun/人工试运行报告.md` | 证据材料 | 试运行证据入口 | `EVIDENCE` | qa | `R7EP,OPS8,QAF8` | artifacts/qa-flow | none | 2026-05-13 | `rg` | medium | 只证明发生过,不直接派工 |
|
||||
| `HISTORY-MATRIX` | `docs/历史功能状态矩阵.md` | 历史材料 | 历史功能索引 | `HISTORICAL` | product | `DCL7` | git 历史 | none | 2026-05-13 | `rg` | low | 只追溯历史 |
|
||||
| `OLD-IMPL-PLAN` | `docs/implementation_plan.md` | 已移除历史 | 早期实施计划 | `REMOVED` | product | `DCL7` | git history | none | 2026-05-13 | manual | low | 从 git 历史恢复 |
|
||||
|
||||
## 当前事实源
|
||||
|
||||
| 路径 | 分类 | 当前用途 |
|
||||
|
||||
+33
@@ -1,7 +1,11 @@
|
||||
# hyb-oa 文档索引
|
||||
|
||||
**文档状态**:当前唯一文档入口。
|
||||
**分类**:入口索引。
|
||||
**适用时间**:DCL7 之后。
|
||||
**关联 Issue**:`GOV8`。
|
||||
**最近审计**:2026-05-13。
|
||||
**不得误读**:本文只指示当前事实源和读取顺序;历史 Issue CSV 只能用于追溯,不直接生成新开发任务。
|
||||
**治理口径**:中文优先,物理精简。已确认不用的历史文档不放 `docs/archive/`,直接从当前工作树移除;需要时从 git 历史恢复。
|
||||
|
||||
## 读取规则
|
||||
@@ -10,6 +14,8 @@
|
||||
- 判断历史证据:读轻量历史索引,必要时用 `git show <commit>:<old-path>` 恢复旧文档。
|
||||
- 判断冲突:最新 Issue CSV > 当前 PRD/模块规约 > 设计和产品规则 > 当前操作手册 > 技术参考 > 历史证据。
|
||||
- 英文文件名只在技术生态或脚本强引用时保留,例如 `docs/mcp-tools.md`。
|
||||
- 判断当前可执行任务:只读当前活跃治理流和对应连续型 Issue CSV;旧 Issue CSV 默认是历史审计证据。
|
||||
- 新需求或试运行反馈:优先进入当前同类型连续治理流;只有跨业务域、跨风险等级或阶段收口后,才新建下一版 CSV。
|
||||
|
||||
## 最近事实源链
|
||||
|
||||
@@ -21,6 +27,33 @@ R6 -> PC6 -> PA6 -> FL6 -> AP6 -> RI6 -> LP6 -> ME6/QG6 -> DG7/MRF7 -> MIA7 -> M
|
||||
- MIA7 已完成移动信息架构、视觉和流程审查;MIF7-1..7 与 MIF7T 已完成本地整改、公网部署、公网匿名复检和带凭据 live smoke/OCR 复检。
|
||||
- R7/OPS7/DOC7 是准备材料,不代表已上线或已启动真实 R7。
|
||||
|
||||
## 当前活跃治理流
|
||||
|
||||
后续不再为每次聊天、小反馈或单点修正单独创建 Issue CSV。同类型、同目标、同风险域的任务优先进入同一个连续型 Issue CSV,直到该治理流完成明确阶段。
|
||||
|
||||
| 治理流 | 当前合同 | 当前状态 | 范围 | 不做 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `GOV8` | `issues/2026-05-13_16-31-09-gov8-system-governance.csv` | 当前执行 | 文档分类、台账、流程模板、审计脚本、需求冻结、变更控制 | 不改业务代码、不部署 |
|
||||
| `R7E` | 待 GOV8 收口后新建连续合同 | 规划 | 人工确认、真实试运行、每日问题收口、验收结论 | 不新增 P2 能力 |
|
||||
| `ORG8` | 待 R7E 或用户确认后新建连续合同 | 规划 | 组织、账号、直属主管、停用、角色、企业微信绑定、权限边界 | 不做审批流程增强 |
|
||||
| `WF8` | 待 ORG8 或用户确认后新建连续合同 | 规划 | 转审、通知、催办、邮件通道决策、三渠道验收 | 不做复杂 BPM 或审批设计器 |
|
||||
| `BIZ8` | 待 R7E/P2 排序后新建连续合同 | 规划 | OCR、票据、财务、费用提示、项目关联 | 不做 ERP 实时集成或重预算 |
|
||||
| `QAOPS8` | 贯穿执行,必要时新建连续合同 | 规划 | 回归稳定、测试覆盖、上线门禁、备份恢复、SLO | 不改业务需求 |
|
||||
|
||||
旧 Issue CSV 不删除、不批量回写、不移动到归档目录。若新治理流替代旧合同,只在新 CSV 的 `Notes` 或本索引说明 supersedes,旧文件保留历史审计语义。
|
||||
|
||||
## 按开发阶段阅读
|
||||
|
||||
| 阶段 | 必读入口 | 目的 |
|
||||
| --- | --- | --- |
|
||||
| 需求阶段 | 最新同类型连续 Issue CSV、[海音达OA-MVP需求规格说明书](./海音达OA-MVP需求规格说明书.md)、对应 `需求-*.md`、[产品口径](./产品口径.md) | 判断做什么、不做什么、验收什么 |
|
||||
| 设计阶段 | [产品设计规则](./产品设计规则.md)、[架构概览](./架构概览.md)、[集成边界](./集成边界.md)、`docs/ops/*.md`、必要 ADR | 判断页面、权限、状态流、集成和非功能边界 |
|
||||
| 开发阶段 | 当前连续 Issue CSV、[开发交付与变更管理规约](./开发交付与变更管理规约.md)、`AGENTS.md` | 判断文件范围、依赖、方案批准和交接物 |
|
||||
| 测试阶段 | [测试规约与回归门禁](./测试规约与回归门禁.md)、[试运行与自动化验证手册](./试运行与自动化验证手册.md)、当前 Issue 的 `Test_Method` | 判断怎么测、何时可回填 DONE |
|
||||
| 发布阶段 | [发布试运行准备清单](./trialrun/发布试运行准备清单.md)、[公网 Live Smoke 准备清单](./trialrun/公网LiveSmoke准备清单.md)、[OPS7 运维交接 Runbook](./trialrun/OPS7运维交接Runbook.md) | 判断公网、企业微信、真实 OCR 和回滚条件 |
|
||||
| 审计阶段 | [文档事实源状态矩阵](./文档事实源状态矩阵.md)、[人工试运行报告](./trialrun/人工试运行报告.md)、当前连续 Issue CSV、git 历史 | 判断当前事实、历史证据和冲突处理 |
|
||||
| 历史追溯 | [历史功能状态矩阵](./历史功能状态矩阵.md)、旧 Issue CSV、git 历史 | 只追溯,不直接派工 |
|
||||
|
||||
## 当前事实源
|
||||
|
||||
| 文档 | 用途 |
|
||||
|
||||
在新工单中引用
屏蔽一个用户