OMAT1 补充成熟度运营审视
这个提交包含在:
@@ -29,7 +29,7 @@ Read only what is relevant:
|
||||
- ASSET1 is the current unified asset registry lane after OAOPS1: reuse the existing asset module for fixed assets plus electronic document/system/repository/backup asset metadata. Number families are `FA-YYYY-NNNNNN`, `EA-DOC-YYYY-NNNNNN`, `EA-SYS-YYYY-NNNNNN`, `EA-REPO-YYYY-NNNNNN`, and `EA-BKP-YYYY-NNNNNN`; `VER-NNNNN` is historical lookup only. `EA-ACC` is deferred: never store passwords, token, Secret, private keys, source bundles, full config, confidential document bodies, complete local paths, sensitive quotes, bank statement originals, or raw invoice images in OA, repo docs, chat, or reports. Git remains the source of truth for code; OA only stores repository metadata and responsibility. Historical company directory imports may only use redacted metadata from `00_保密索引`, default dry-run, with sensitive text/path guards.
|
||||
- OSMOKE1 is the current OA-only smoke account governance lane after ASSET1D/OAOPS1 blockers: do not request more Enterprise WeChat accounts just to test OA-primary reimbursement/assets/finance/AP/contracts/permissions. Enterprise WeChat smoke accounts remain for HR/attendance evidence; admin/finance/hr/ceo OA regression accounts are OA-only smoke accounts and may be active in OA without WeCom binding. Use `npm run repair:oa-only-smoke` from `server/` for dry-run first; apply requires `--apply` plus `OA_ONLY_SMOKE_REPAIR_APPLY=1`, must not reset passwords, print secrets, affect real employees, or write WeCom. `audit-wecom-oa-user-consistency` classifies env-listed, explicit allowlisted, or `SMOKE*`/`smoke-*`/test-named OA-only smoke accounts as `oaOnlySmokeExempted` so they are not archived as missing in WeCom; `run-oa-real-use-daily.sh` includes OA-only smoke readiness before asset/finance UI automation.
|
||||
- OALAUNCH1 is the current final-enable gate after OAOPS1/ASSET1D/OSMOKE1: do not treat ASSET1D completion or `PASS_OA_REAL_USE_DAILY_READY` as final launch approval. Use `scripts/qa/run-oa-final-launch-readiness.sh` to aggregate evidence only; it must not create business data, execute payments, write WeCom, reset/restore the production DB, print secrets, or mark final launch ready without real business closeout, 7-day stabilization, permission matrix acceptance, backup/restore drill evidence, data-governance/training acceptance, and Day 7 Go/No-Go. Valid conclusions are `PASS_OA_LAUNCH_READY`, `PASS_WITH_FINDINGS`, `PAUSED_MANUAL_CONFIRMATION`, and `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`. Permission or backup/restore fixes require read-only reviewer review before launch acceptance.
|
||||
- OMAT1 is the current maturity-gap review goal after OALAUNCH1: use `issues/2026-05-23_17-20-00-oa-maturity-gap-review-v1.csv` as the reviewable ledger for every problem or suggestion. It includes domestic benchmark sources, a domain capability comparison matrix, manual decision Q&A checklist, status audit, and second-round MAGI review in the manual trial-run report, the small-team rule that maturity means controlled operation before feature breadth, explicit adopt/defer/reject decision回填, and a need for a concise evidence view. Follow the MAGI cycle wording as audit structure only: review/evaluate first, record or solve bounded evidence gaps second, then prioritize direction. Do not implement OMAT1 suggestions until the user chooses adopt/defer/reject and a proper Issue CSV exists for the adopted work.
|
||||
- OMAT1 is the current maturity-gap review goal after OALAUNCH1: use `issues/2026-05-23_17-20-00-oa-maturity-gap-review-v1.csv` as the reviewable ledger for every problem or suggestion. It includes domestic benchmark sources, a domain capability comparison matrix, manual decision Q&A checklist, status audit, and MAGI round reviews in the manual trial-run report, the small-team rule that maturity means controlled operation before feature breadth, explicit adopt/defer/reject decision回填, and a need for a concise evidence view. Follow the MAGI cycle wording as audit structure only: review/evaluate first, record or solve bounded evidence gaps second, then prioritize direction. Do not implement OMAT1 suggestions until the user chooses adopt/defer/reject and a proper Issue CSV exists for the adopted work.
|
||||
- WEGOV1 changes the current WeCom route to "Enterprise WeChat owns mature HR/attendance flows; OA stores self-owned history, audit, entry, messages, and emergency fallback." Treat four domains explicitly: WeCom-owned domain is check-in, leave, missed punch, outing, overtime, leave balance, and HR assistant; OA-owned domain remains reimbursement, procurement, contracts, projects, payments, invoices, bank receipts, sensitive attachments, and operating audit; OA archive domain stores WeCom business history, full external keys, and necessary snapshots; OA emergency domain is manually enabled only when WeCom is unavailable. Do not assume a full isolated WeCom sandbox; use the controlled test domain `SMOKE002 -> SMOKE101`, `OA-POC` templates, low-risk approvals, synthetic tests, public live runners, and limited real-device confirmation. WARCH1 now supplies the minimum leave/missed-punch archive implementation, WARCH2 supplies the formal read-only history query surface, and WROAD2 supplies controlled ops daily checks. Do not start deep mirror until WROAD2-CLOSEOUT, WROAD2-BIZ1, WAPPR1, WRULE1, WAUTO1/WEXT1LD, WFULLSMOKE1, WTCLOSE2, WEXT1-FORMAL, WREAL1 question gates or explicit approval, and the mirror stage's own contract are complete.
|
||||
- For reimbursement, invoice, OCR, duplicate invoice, or attachment work, read `docs/报销发票附件规则.md` and `references/reimbursement.md`.
|
||||
- For local/WeCom/public trial-run, OCR runtime, Caddy, or DB drift work, read `docs/试运行与自动化验证手册.md` and `references/trialrun.md`.
|
||||
|
||||
+12
-1
@@ -643,7 +643,7 @@ Go 结论边界:
|
||||
|
||||
## OMAT1 人工决策问答清单
|
||||
|
||||
请按组回复选项,不需要逐行复制 31 条 OMAT1。未明确选择的项继续保持 `TODO`,不视为批准开发。
|
||||
请按组回复选项,不需要逐行复制 34 条 OMAT1。未明确选择的项继续保持 `TODO`,不视为批准开发。
|
||||
|
||||
| 问题 | 推荐选项 | 备选项 | 影响 |
|
||||
| --- | --- | --- | --- |
|
||||
@@ -654,6 +654,7 @@ Go 结论边界:
|
||||
| Q5:P2 后置项怎么处理? | A:继续冻结深集成、复杂 BPM、AI 写规则和 HR 深镜像 | B:只做只读调研;C:另建专项评估 | A 是当前推荐,避免小团队过早背负复杂度;B 可保留信息;C 会占用主线资源 |
|
||||
| Q6:OMAT1 决策回填粒度? | A:先回填 P0 和 P2,P1 等 7 天反馈 | B:逐条回填全部 OMAT1;C:只保留摘要不回填 | A 平衡推进和管理成本;B 最完整但耗时;C 后续容易反复讨论 |
|
||||
| Q7:第二轮治理项怎么处理? | A:采纳审批异常、变更发布、档案留存为启用前 SOP | B:只列为 P1 观察项;C:暂不纳入本轮 | A 不要求复杂功能开发,但要求启用前有处理口径;B 会留下 Go/No-Go finding;C 后续遇到异常时只能临时处理 |
|
||||
| Q8:第三轮运营项怎么处理? | A:采纳冻结入口清点和审计导出边界,公告签收人工覆盖 | B:全部作为 P1 观察;C:暂不纳入 | A 能降低启用风险且不要求新功能;B 会保留权限/审计 finding;C 后续审计和培训证据会较弱 |
|
||||
|
||||
## OMAT1 状态审计
|
||||
|
||||
@@ -676,6 +677,16 @@ Go 结论边界:
|
||||
| 执行 | 已新增 `OMAT1-29/30/31`:审批异常和代理口径、上线后变更发布与配置审计、电子会计档案和电子资料留存清单。 | 状态保持 `TODO`,等待用户按 Q7 或逐条 A/B/C 决策。 |
|
||||
| 提升 | 小团队启用前推荐先做 SOP 和演练证据,自动化功能后置到 7 天真实使用反馈后再判断价值。 | 若采纳,优先进入 OALAUNCH1 数据治理、运营支持和 Go/No-Go 证据,不直接新增业务代码。 |
|
||||
|
||||
## OMAT1 第三轮 MAGI 审视
|
||||
|
||||
本轮从现有代码与脚本侧审视“有模块但缺启用证据”的运营风险。
|
||||
|
||||
| 脑位 | 本轮判断 | 处理 |
|
||||
| --- | --- | --- |
|
||||
| 审视 | 公告中心、审计日志、功能开关和委托代理已有基础,但正式启用还需要证明制度签收、审计导出和冻结入口在运营上可控。 | 这些不是立即扩功能的理由,而是 Go/No-Go 证据和权限负例的一部分。 |
|
||||
| 执行 | 已新增 `OMAT1-32/33/34`:公告制度签收边界、审计日志取证包和导出边界、冻结功能入口与 feature flag 清点。 | 状态保持 `TODO`,等待用户按 Q8 或逐条 A/B/C 决策。 |
|
||||
| 提升 | 推荐启用前先用人工证据和负例验证覆盖,等 7 天真实反馈后再决定是否做公告签收、审计取证包等功能化增强。 | 冻结功能入口和审计导出边界更接近 P0 权限/数据治理;公告签收可先人工覆盖。 |
|
||||
|
||||
## 历史恢复
|
||||
|
||||
需要追溯 R70-R91 的详细流水时,使用:
|
||||
|
||||
+1
-1
@@ -143,7 +143,7 @@
|
||||
| `MANUAL-EMPLOYEE` | `docs/员工快速上手.md` | 操作手册 | 员工手册 | `CURRENT` | product | `R7E,WFOC,DBWFOC,WFDG,ASSET1,OALAUNCH1` | 人工验收 | none | 2026-05-23 | `rg` | low | 员工侧使用说明,HR/考勤优先企业微信,采购/合同/财务仍在 OA;补充统一资产台账、电子资产、涉密资产可见边界和 OALAUNCH1 收口期问题反馈口径 |
|
||||
| `R7-DRAFT` | `docs/trialrun/R7扩大试运行草案.md` | 草案 | R7 准备材料 | `DRAFT` | product/qa | `R7E` | R7EP 报告 | none | 2026-05-13 | `rg` | medium | 不代表当前 R7E 执行状态 |
|
||||
| `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,WOUA,WAPI,WOUAFIX,WRV1,WRA1,WMSG1,WAPC1,WAPC2,WAPC2F,WAPC2FLIVE,WCBK1,WEGOV1,WROAD2,WARCH3,WCHECK1,WEXT1,WOPS1,WROAD2C,WROAD2B,WAPPR1,WAUTO1,WEXT1LD,WFULLSMOKE1,WTCLOSE1,WRULE1,WTCLOSE2,WREAL1P,ASSET1,OALAUNCH1,OMAT1` | artifacts/qa-flow | none | 2026-05-23 | `rg` | medium | 只证明发生过;记录 WAPC2FLIVE live 样件、WCBK1 真实回调事件、企微路线证据、WTCLOSE2 测试号最终收口、WREAL1 准备、ASSET1 统一资产台账、OALAUNCH1 最终启用门禁、OMAT1 成熟度验收摘要、域级能力对标矩阵、人工决策问答清单、状态审计和第二轮 MAGI 审视;不直接放行深度镜像或最终正式启用 |
|
||||
| `TRIAL-REPORT` | `docs/trialrun/人工试运行报告.md` | 证据材料 | 试运行证据入口 | `EVIDENCE` | qa | `R7EP,OPS8,QAF8,WOUA,WAPI,WOUAFIX,WRV1,WRA1,WMSG1,WAPC1,WAPC2,WAPC2F,WAPC2FLIVE,WCBK1,WEGOV1,WROAD2,WARCH3,WCHECK1,WEXT1,WOPS1,WROAD2C,WROAD2B,WAPPR1,WAUTO1,WEXT1LD,WFULLSMOKE1,WTCLOSE1,WRULE1,WTCLOSE2,WREAL1P,ASSET1,OALAUNCH1,OMAT1` | artifacts/qa-flow | none | 2026-05-23 | `rg` | medium | 只证明发生过;记录 WAPC2FLIVE live 样件、WCBK1 真实回调事件、企微路线证据、WTCLOSE2 测试号最终收口、WREAL1 准备、ASSET1 统一资产台账、OALAUNCH1 最终启用门禁、OMAT1 成熟度验收摘要、域级能力对标矩阵、人工决策问答清单、状态审计和 MAGI 轮次审视;不直接放行深度镜像或最终正式启用 |
|
||||
| `FBA-AUDIT` | `docs/trialrun/R7E后功能边界审计.md` | 证据材料 | R7E 后功能边界审计 | `EVIDENCE` | product/dev/qa | `FBA,R7E,QAOPS8,P2T` | Issue CSV | none | 2026-05-15 | `rg` | medium | 只作为功能边界、P2 候选和 Issue 草案证据,不直接派工 |
|
||||
| `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 历史恢复 |
|
||||
|
||||
+1
-1
@@ -238,7 +238,7 @@ R6 -> PC6 -> PA6 -> FL6 -> AP6 -> RI6 -> LP6 -> ME6/QG6 -> DG7/MRF7 -> MIA7 -> M
|
||||
| 文档 | 用途 |
|
||||
| --- | --- |
|
||||
| [历史功能状态矩阵](./历史功能状态矩阵.md) | 轻量历史功能索引;旧大表从 git 历史恢复 |
|
||||
| [人工试运行报告](./trialrun/人工试运行报告.md) | R6 后当前状态、关键证据索引、OMAT1 成熟度验收摘要、域级能力对标矩阵、人工决策问答清单、状态审计和第二轮 MAGI 审视 |
|
||||
| [人工试运行报告](./trialrun/人工试运行报告.md) | R6 后当前状态、关键证据索引、OMAT1 成熟度验收摘要、域级能力对标矩阵、人工决策问答清单、状态审计和 MAGI 轮次审视 |
|
||||
| [R7E 后功能边界审计](./trialrun/R7E后功能边界审计.md) | R7E 后全端功能边界、P2 候选和后续 Issue 草案 |
|
||||
| [试运行覆盖矩阵](./trialrun/试运行覆盖矩阵.csv) | 轻量覆盖摘要 |
|
||||
| [项目级流程覆盖矩阵](./trialrun/项目级流程覆盖矩阵.csv) | `check-flow-coverage` 使用的最小流程矩阵 |
|
||||
|
||||
@@ -31,3 +31,6 @@
|
||||
"OMAT1-29","审批异常处理和代理机制需要上线前口径","国内成熟 OA 通常显式覆盖撤回、作废、退回、转交、委托代理、加签/会签、超时催办和审批人离岗等异常;hyb-oa 已有审批、催办和状态流基础,但 P0 真实流程仍需明确审批人不可用、误提交、退回重提和人工绕行如何处理。","正式启用前至少形成 P0 流程异常处理 SOP:报销、采购/费用、合同台账各列出可撤回/可退回/可作废/审批人离岗时的处理人、审计记录和补录责任;复杂 BPM、自由加签和自动代理可暂缓。","受影响流程:提交 -> 审批异常 -> 退回/撤回/作废/绕行 -> 审计补录;验证步骤:按真实样本桌面演练一次异常处理,并将结论作为 OALAUNCH 数据治理或运营支持证据。","manual","TODO","TODO","TODO","docs/需求-统一审批中心规约.md;docs/管理员手册.md;issues/2026-05-23_16-49-39-oa-final-launch-readiness-v1.csv","[""OMAT1-2"",""OMAT1-5""]","优先级 P0;建议采纳为 SOP,不要求启用复杂 BPM。参考泛微流程引擎、致远任意节点退回/协同流程、飞书审批管理员手册等官方能力域。"
|
||||
"OMAT1-30","上线后变更发布与配置审计需要轻量化","当前项目已有 Issue CSV、feature flag、部署脚本和巡检,但成熟系统启用后还需要控制谁能改配置、何时发布、如何回滚、变更后如何验证,避免上线后直接在公网改规则或菜单导致不可追溯。","正式启用前明确轻量变更规则:发布窗口、冻结期、变更 owner、回滚联系人、feature flag 改动记录、发布后 /ready 和业务 smoke、紧急修复路径;配置或权限变更必须有审计记录。","受影响流程:提出变更 -> 审批/记录 -> 部署/配置 -> smoke -> 回滚或关闭;验证步骤:用一次非破坏性配置或文档变更做演练,确认记录、复检和回滚责任人可追溯。","manual|bash","TODO","TODO","TODO","docs/Agent开发交付实践.md;docs/试运行与自动化验证手册.md;deploy/trialrun/deploy.sh","[""OMAT1-1"",""OMAT1-15""]","优先级 P0;建议采纳为上线治理。功能实现可后置,但启用前要有人工规则,防止无记录热改生产。"
|
||||
"OMAT1-31","电子会计档案和电子资料留存边界需清单化","数据治理已说明敏感资料不进仓库/聊天/报告,但成熟启用还需要按资料类型明确保管期限、归档位置、导出包、查阅授权、销毁或移交规则,尤其是报销单、发票、回单、付款批次、AP 导出、合同摘要和资产凭证。","形成一张资料留存清单:每类资料标明 OA 可存内容、仅登记摘要内容、线下归档内容、保管人、保管期限、导出/下载审计和离职交接检查点;会计档案和涉密资料不得因方便测试而进入不该进入的渠道。","受影响流程:资料上传/导出 -> 归档留存 -> 查阅授权 -> 移交/销毁;验证步骤:用 1 条报销、1 条付款回单、1 条合同台账和 1 条 EA-DOC 抽样检查留存清单是否可执行。","manual","TODO","TODO","TODO","docs/管理员手册.md;docs/员工快速上手.md;docs/需求-资产管理规约.md;docs/需求-合同附件归档规约.md","[""OMAT1-8"",""OMAT1-14""]","优先级 P0;建议采纳为数据治理细化项。参考企业档案、电子档案和会计档案管理要求;本项先做清单和培训,不做复杂档案系统。"
|
||||
"OMAT1-32","公告制度发布缺少签收验收边界","系统已有公告中心、通知已读和员工培训记录,但公告本身更像轻量发布入口,尚未证明制度版本、员工已读签收、培训确认和后续追溯能形成闭环;成熟 OA 通常会把制度发布和签收作为合规证据。","正式启用前可先用人工培训签到或管理员确认作为 OALAUNCH 证据;若后续采纳功能化,再实现公告/制度按人签收、版本记录、未读提醒和导出,不把普通公告复杂化。","受影响流程:制度发布 -> 员工阅读/培训 -> 签收确认 -> 审计追溯;验证步骤:稳定期内选择 1 条数据治理或报销制度,记录人工培训/签收证据或后续功能化决策。","manual","TODO","TODO","TODO","server/src/routes/announcements.js;client/src/pages/AnnouncementsPage.tsx;client/src/pages/EmployeeProfilePage.tsx;docs/员工快速上手.md","[""OMAT1-14"",""OMAT1-31""]","优先级 P1;启用前建议用人工证据覆盖,功能化可等 7 天后评估。不要把所有公告都做成强制签收。"
|
||||
"OMAT1-33","审计日志取证包和导出边界需要明确","系统已有审计日志页面和导出能力,但成熟运营需要明确审计日志保留期限、谁能导出、导出是否留痕、哪些字段需要脱敏、争议处理时如何形成取证包,避免审计数据本身成为隐私或权限风险。","正式启用前明确审计导出 SOP:导出角色、场景、审批或记录要求、字段脱敏规则、保存位置、保留期限和删除/移交规则;后续如需自动化,再另建审计取证包 Issue。","受影响流程:审计查询 -> 导出 -> 存档/取证 -> 查阅授权;验证步骤:用管理员账号导出 1 次脱敏审计样例,确认普通员工无权访问审计入口和导出 API。","manual|playwright|node","TODO","TODO","TODO","server/src/routes/audit.js;client/src/pages/AuditLogsPage.tsx;server/src/routes/exports.js","[""OMAT1-3"",""OMAT1-14""]","优先级 P0;建议采纳为权限和数据治理子项。涉及审计权限或导出字段改动时必须 reviewer 只读评审。"
|
||||
"OMAT1-34","冻结功能入口和功能开关需要最终清点","代码中存在预算、ERP、差旅、AI、切换控制台等后置模块或入口;即使业务上已冻结,正式启用前仍需证明普通用户看不到或进不去未启用能力,API 也受权限和 feature flag 约束。","正式启用前完成 launch scope 功能开关矩阵:P0/轻 P1 开启项、冻结项、角色可见入口、API 负例和回滚方式;冻结项不得因导航、搜索或直连 URL 暴露给普通员工。","受影响流程:登录 -> 导航/搜索 -> 直连 URL/API -> 冻结功能拦截;验证步骤:复用 OA-only smoke 多角色账号跑入口和直连负例,结果纳入 OALAUNCH_PERMISSION_EVIDENCE。","playwright|node|manual","TODO","TODO","TODO","client/src/features/navigation/schema.ts;server/src/routes/featureFlags.js;client/src/pages/FeatureFlagsPage.tsx","[""OMAT1-3"",""OMAT1-30""]","优先级 P0;建议采纳。成熟启用不是删除后置模块,而是确保未批准能力不可见、不可写、可回滚。"
|
||||
|
||||
|
在新工单中引用
屏蔽一个用户