OPOLICY1 对齐制度与OA启用门禁

这个提交包含在:
2026-05-24 01:43:30 +08:00
父节点 65513a5291
当前提交 d6ae1cff89
共修改 10 个文件,包含 98 行新增和 9 行删除
+1
查看文件
@@ -29,6 +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.
- OPOLICY1 is the current policy-system alignment lane after OMAT1/OALAUNCH1 review: external company policies under `/home/shunli/Projects/faculty-daily-assistant/公司/制度体系建设_20260524` are adjusted to a small-team V1口径 first, then hyb-oa facts are aligned. Treat policy parameters, data-retention boundaries, seal-use ledger, approval-exception SOP, policy signoff, and P2 freeze rules as OALAUNCH1 data-governance gates. Do not assume budget hard control, complex procurement/tendering, e-signature, full e-archive, ERP/bank deep integration, or AI rule writes are pre-launch requirements. For V1, contract registry summary/archive/offline archive fields and existing attachment audit can carry seal-use traceability; announcements/manual evidence can carry policy notices/signoff until a later Issue proves dedicated schema is required. Never copy sensitive policy text, thresholds, confidential contract bodies, credentials, or full local paths into repo docs.
- 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, review decision packet, 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`.
+8
查看文件
@@ -2,6 +2,8 @@
**当前状态(2026-05-23 / OALAUNCH1)**:公网正式地址为 `https://oa.hyinda.com`。系统已进入最终启用前收口:OAOPS1 继续 7 天小团队真实使用稳定化,OALAUNCH1 负责最终 Go/No-Go 门禁。企微打卡、补卡、外出、请假先按企业微信主办,OA 做留存、历史、审计和后续兜底;采购、合同、项目、报销、付款、资产和财务资料仍由 OA 主办。当前可以按管理员安排录入真实业务数据,但在 `PASS_OA_LAUNCH_READY` 前仍属于收口期;涉密合同正文、敏感报价、成本细节和银行流水原件不要上传。必要的真实发票 PDF 只通过 OA 报销入口上传,并受权限和审计保护,不进入企业微信、仓库、聊天或自动化报告。
**OPOLICY1 小团队 V1 制度口径**:正式启用前会先按小团队制度执行,不追求一次性上线复杂预算、复杂招采、电子签章或完整电子档案系统。员工需要配合制度签收、资料留存边界和问题上报:能在 OA 录入的录入摘要和证明,不能上传的涉密原文、敏感报价、银行流水原件、账号凭据和完整本地路径不要上传。
## 1. 你每周主要会用到什么
- `Portal`:看公告、我的待办、我的资产、本周周报入口。
- `审批`:在 OA 处理报销、采购、合同、项目、财务等 OA 主办审批;请假、补卡、外出、加班后续优先在企业微信处理。
@@ -100,3 +102,9 @@
- 如果你负责交付、报销、差旅、风险或交接,请关注项目里的“项目收口”面板。
- 面板里看到待处理项并不代表不能继续推进,而是提醒你尽快补齐留痕。
- 如果管理员要求你补交付记录、合同归档位置或交接说明,请优先在海音达工作台里补齐,不要只在群里回复“已处理”。
## 15. 制度签收和资料留存
- 管理员发布或更新涉及员工利益、费用、保密、资产、权限或档案的制度时,你需要按要求完成纸面或电子制度签收;只看到公告不等于已经完成正式签收。
- 资料留存先按“小团队 V1”执行:OA 中写清编号、摘要、负责人、项目或合同关联、归档位置摘要和必要证明;涉密正文、敏感报价、成本细节、银行流水原件、账号凭据、Secret、完整配置和完整本地路径不要上传。
- 用印相关事项先在合同台账或管理员指定台账中留痕,至少说明事项、文件版本、份数、审批状态、日期、责任人和归档位置。
- 遇到审批异常、权限异常、资料误传、付款/AP 卡住或无法导出时,按“阻断 / 非阻断 / 建议”告诉管理员,并提供页面、步骤和影响,不要发送密码、完整票面、银行回单或敏感报价截图。
+7 -6
查看文件
@@ -113,6 +113,7 @@
| `OSMOKE1` | `issues/2026-05-23_13-59-52-oa-only-smoke-account-governance-v1.csv` | `CURRENT` | 当前 OA-only smoke 账号治理合同:企微账号有限时不再为 OA 全域自动化额外申请企微账号;admin/finance/hr/ceo 等回归账号作为 OA-only smoke,可不绑定企微;新增修复脚本、`oaOnlySmokeExempted` 审计豁免和公网角色 readiness 检查,豁免命中限于私有 env、显式员工号 allowlist 或 `SMOKE*`/`smoke-*`/测试命名;默认 dry-run,真实修复需 `OA_ONLY_SMOKE_REPAIR_APPLY=1` |
| `OALAUNCH1` | `issues/2026-05-23_16-49-39-oa-final-launch-readiness-v1.csv` | `CURRENT` | 当前最终启用前收口与 Go/No-Go 门禁合同:在 OAOPS1/ASSET1D/OSMOKE1 之上增加真实业务闭环、7 天稳定化、权限矩阵、备份恢复演练、数据治理培训、运营支持和 Day 7 人工决策;新增 `scripts/qa/run-oa-final-launch-readiness.sh` 默认只读汇总证据;未达到 `PASS_OA_LAUNCH_READY` 前不得宣布最终正式启用完成 |
| `OMAT1` | `issues/2026-05-23_17-20-00-oa-maturity-gap-review-v1.csv` | `CURRENT` | 当前成熟度缺口审查台账:按 MAGI 审视/执行/提升轮次调查 hyb-oa 是否成熟,并对标国内主流 OA/协同/低代码/财务/资产系统;已补充国内对标来源、小团队取舍原则、用户决策回填和成熟度证据视图;所有问题和建议先记录为待用户采纳、暂缓或否决,不直接改业务代码 |
| `OPOLICY1` | `issues/2026-05-24_01-20-52-oa-policy-system-alignment-v1.csv` | `CURRENT` | 当前制度与 OA 对齐合同:先调整外部制度包为小团队 V1,再回写 OA 事实源和启用门禁;制度参数、资料留存、用印台账、审批异常 SOP、制度签收和 P2 冻结进入 OALAUNCH1 数据治理门禁;现有合同台账、资产台账和公告能力可承载 V1,不立即做 schema 或业务代码改造 |
| `WREAL1-PREP` | `issues/2026-05-20_14-35-42-wecom-real-trial-prep-v1.csv` | `CURRENT` | 真实小范围试用准备合同:只固化候选员工、非自审审批人、回滚联系人、允许流程、暂停条件和验收标准;当前不启用真实员工,真实试用必须等请假/补卡/外出/加班四类测试号证据、WAPPR1 审批规则门禁和 WFULLSMOKE1 全域主路径可解释通过后再问 |
旧 Issue CSV 保留为历史审计证据:不删除、不批量回写、不移动到 `docs/archive/` 或其他归档目录。新连续合同如替代旧合同,只在新合同 `Notes` 或文档索引中说明 supersedes。
@@ -121,8 +122,8 @@
| Doc_ID | Path | Category | Authority | Status | Owner | Related_Issues | Evidence | Supersedes | Last_Audited | Audit_Method | Risk | Notes |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| `IDX` | `docs/文档索引.md` | 入口索引 | 最高文档入口 | `CURRENT` | product/dev | `GOV8,QAOPS9,P2D,P2-ORG,P2-FIN-DECISION,P2-FIN-V1,P2-OCR-SAMPLE,P2Q,P2AUTO,P2AF,P2-FIN-LIVE-DECISION,P2-FIN-LIVE,PRELAUNCH,CASHIER-VOUCHER-V1,LAUNCH-DEPLOY-FINANCE,FIN-PROD-ENABLE,ACCOUNTING-HANDOFF-V1,SYSTEM-COMPLETE-GATE,LAUNCH-OPS-V1,REQ-COMPLETE-AUDIT,ATTV1,LAUNCH-AUTO-OPS-V1,AUTO-REMAINING-CLOSEOUT,HR-WECOM-DIRECTORY-V1,WFOC,DBWFOC,WFDG,WDRG,WCP1,WCPC,WHMS,WHMSLIVE,WOUA,WAPI,WRRA,WOUAFIX,WRV1,WRA1,WMSG1,WAPC1,WAPC2,WPROC1,WPROC2,WAPC2F,WAPC2FLIVE,WCBK1,WEGOV1,WARCH1,WARCH2,WROAD2,WARCH3,WCHECK1,WEXT1,WOPS1,WROAD2C,WROAD2B,WAPPR1,WRULE1,WAUTO1,WEXT1LD,WFULLSMOKE1,WTCLOSE2,WREAL1P,OAOPS1,ASSET1,OSMOKE1,OALAUNCH1` | `rg` | none | 2026-05-23 | `node scripts/qa/audit-docs.mjs --check-registry` | medium | 判断当前该读什么;OAOPS1/ASSET1/OSMOKE1 后优先读取 OALAUNCH1 最终启用门禁、OA 主办域真实使用稳定化、统一资产台账、OA-only smoke 账号治理、每日巡检、备份恢复和 P2 冻结口径 |
| `REG` | `docs/文档事实源状态矩阵.md` | 文档台账 | 文档分类和状态事实源 | `CURRENT` | product/dev | `GOV8,QAOPS9,P2D,P2-ORG,P2-FIN-DECISION,P2-FIN-V1,P2-OCR-SAMPLE,P2Q,P2AUTO,P2AF,P2-FIN-LIVE-DECISION,P2-FIN-LIVE,PRELAUNCH,CASHIER-VOUCHER-V1,LAUNCH-DEPLOY-FINANCE,FIN-PROD-ENABLE,ACCOUNTING-HANDOFF-V1,SYSTEM-COMPLETE-GATE,LAUNCH-OPS-V1,REQ-COMPLETE-AUDIT,ATTV1,LAUNCH-AUTO-OPS-V1,AUTO-REMAINING-CLOSEOUT,HR-WECOM-DIRECTORY-V1,WFOC,DBWFOC,WFDG,WDRG,WCP1,WCPC,WHMS,WHMSLIVE,WOUA,WAPI,WRRA,WOUAFIX,WRV1,WRA1,WMSG1,WAPC1,WAPC2,WPROC1,WPROC2,WAPC2F,WAPC2FLIVE,WCBK1,WEGOV1,WARCH1,WARCH2,WROAD2,WARCH3,WCHECK1,WEXT1,WOPS1,WROAD2C,WROAD2B,WAPPR1,WRULE1,WAUTO1,WEXT1LD,WFULLSMOKE1,WTCLOSE2,WREAL1P,OAOPS1,ASSET1,OSMOKE1,OALAUNCH1` | `audit-docs` | none | 2026-05-23 | `audit-docs --check-registry` | medium | 判断文档权威性;登记当前 OALAUNCH1 最终启用 Go/No-Go、OAOPS1 小团队全员真实使用稳定化、ASSET1 统一资产台账、OSMOKE1 账号治理、每日巡检、阻断即修和冻结项事实 |
| `IDX` | `docs/文档索引.md` | 入口索引 | 最高文档入口 | `CURRENT` | product/dev | `GOV8,QAOPS9,P2D,P2-ORG,P2-FIN-DECISION,P2-FIN-V1,P2-OCR-SAMPLE,P2Q,P2AUTO,P2AF,P2-FIN-LIVE-DECISION,P2-FIN-LIVE,PRELAUNCH,CASHIER-VOUCHER-V1,LAUNCH-DEPLOY-FINANCE,FIN-PROD-ENABLE,ACCOUNTING-HANDOFF-V1,SYSTEM-COMPLETE-GATE,LAUNCH-OPS-V1,REQ-COMPLETE-AUDIT,ATTV1,LAUNCH-AUTO-OPS-V1,AUTO-REMAINING-CLOSEOUT,HR-WECOM-DIRECTORY-V1,WFOC,DBWFOC,WFDG,WDRG,WCP1,WCPC,WHMS,WHMSLIVE,WOUA,WAPI,WRRA,WOUAFIX,WRV1,WRA1,WMSG1,WAPC1,WAPC2,WPROC1,WPROC2,WAPC2F,WAPC2FLIVE,WCBK1,WEGOV1,WARCH1,WARCH2,WROAD2,WARCH3,WCHECK1,WEXT1,WOPS1,WROAD2C,WROAD2B,WAPPR1,WRULE1,WAUTO1,WEXT1LD,WFULLSMOKE1,WTCLOSE2,WREAL1P,OAOPS1,ASSET1,OSMOKE1,OALAUNCH1,OMAT1,OPOLICY1` | `rg` | none | 2026-05-24 | `node scripts/qa/audit-docs.mjs --check-registry` | medium | 判断当前该读什么;OAOPS1/ASSET1/OSMOKE1 后优先读取 OALAUNCH1 最终启用门禁、OMAT1 成熟度缺口、OPOLICY1 制度与 OA 对齐、小团队 V1、每日巡检、备份恢复和 P2 冻结口径 |
| `REG` | `docs/文档事实源状态矩阵.md` | 文档台账 | 文档分类和状态事实源 | `CURRENT` | product/dev | `GOV8,QAOPS9,P2D,P2-ORG,P2-FIN-DECISION,P2-FIN-V1,P2-OCR-SAMPLE,P2Q,P2AUTO,P2AF,P2-FIN-LIVE-DECISION,P2-FIN-LIVE,PRELAUNCH,CASHIER-VOUCHER-V1,LAUNCH-DEPLOY-FINANCE,FIN-PROD-ENABLE,ACCOUNTING-HANDOFF-V1,SYSTEM-COMPLETE-GATE,LAUNCH-OPS-V1,REQ-COMPLETE-AUDIT,ATTV1,LAUNCH-AUTO-OPS-V1,AUTO-REMAINING-CLOSEOUT,HR-WECOM-DIRECTORY-V1,WFOC,DBWFOC,WFDG,WDRG,WCP1,WCPC,WHMS,WHMSLIVE,WOUA,WAPI,WRRA,WOUAFIX,WRV1,WRA1,WMSG1,WAPC1,WAPC2,WPROC1,WPROC2,WAPC2F,WAPC2FLIVE,WCBK1,WEGOV1,WARCH1,WARCH2,WROAD2,WARCH3,WCHECK1,WEXT1,WOPS1,WROAD2C,WROAD2B,WAPPR1,WRULE1,WAUTO1,WEXT1LD,WFULLSMOKE1,WTCLOSE2,WREAL1P,OAOPS1,ASSET1,OSMOKE1,OALAUNCH1,OMAT1,OPOLICY1` | `audit-docs` | none | 2026-05-24 | `audit-docs --check-registry` | medium | 判断文档权威性;登记当前 OALAUNCH1 最终启用 Go/No-Go、OMAT1 成熟度缺口、OPOLICY1 制度与 OA 对齐、OAOPS1、ASSET1、OSMOKE1、每日巡检、阻断即修和冻结项事实 |
| `PRD-MVP` | `docs/海音达OA-MVP需求规格说明书.md` | 需求事实源 | PRD 主事实源 | `CURRENT` | product | `REQ8,P2T,GOV8,HR-WECOM-DIRECTORY-V1,WFOC,DBWFOC,WFDG,WDRG,WCP1,WCPC,WHMS,WHMSLIVE,WOUA,WAPI,WRRA,WAPC1,WAPC2,WAPC2FLIVE,WCBK1,WEGOV1,WACP3,WACP3R,WARCH1,WARCH2,WROAD2,WARCH3,WCHECK1,WEXT1` | Issue CSV | `docs/requirements-specification.md` | 2026-05-20 | `rg` | high | WARCH3/WCHECK1/WEXT1/WOPS1 后定义 HR/考勤企微主办、OA 自建留存、受控测试域、只读历史查询、自动巡检、打卡摘要、外出/加班 dry-run、WEXT1-FORMAL、WREAL1 前置和深度镜像边界;ERP 未来不接入 OA |
| `PRODUCT-SCOPE` | `docs/产品口径.md` | 需求事实源 | 产品边界事实源 | `CURRENT` | product | `REQ8,P2T,WFDG,WDRG,WCP1,WCPC,WHMS,WHMSLIVE,WOUA,WAPI,WRRA,WAPC1,WAPC2FLIVE,WCBK1,WEGOV1` | `rg` | none | 2026-05-19 | `rg` | high | 记录已拍板产品边界、企微/OA 设计门禁、开发路线图、WCBK1 真实回调事件证据、WEGOV1 混合主办边界和 OA 自建留存策略 |
| `DESIGN-UI` | `docs/产品设计规则.md` | 设计事实源 | PC/移动/企业微信设计事实源 | `CURRENT` | design/frontend | `MIA7,MIF7,GOV8,DG8,DG9,WFDG` | Playwright/视觉审查/DG8/DG9/WFDG | none | 2026-05-18 | `rg` | high | 页面改动必须读取;DG8 后飞书为主 UI/布局参考;DG9 后按页面分层和样板选型;WFDG 后区分 OA 主办、企微镜像和 OA 应急接管 |
@@ -132,15 +133,15 @@
| `QA-GATE` | `docs/测试规约与回归门禁.md` | 测试验收 | 测试和回归门禁事实源 | `CURRENT` | qa | `QAF8,GOV8,WPROC1,WPROC2,WAPC2FLIVE,WCBK1,WEGOV1` | 回归脚本/Playwright | none | 2026-05-19 | `rg` | high | 测试计划、DONE 门禁、企微三层门禁、自动化优先、非自审、无完整 sandbox 假设、WREAD1 真机可读性和 WARCH1 留存验收门禁 |
| `AGENT-PRACTICE` | `docs/Agent开发交付实践.md` | Agent 治理 | Agent 协作事实源 | `CURRENT` | dev | `GOV8,DG8` | 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,DG8,WFDG,WDRG,WCP1,WCPC,WHMS,WHMSLIVE,WOUA,WAPI,WRRA,WRV1,WRA1,WMSG1,WAPC1,WAPC2,WPROC1,WPROC2,WAPC2F,WAPC2FLIVE,WCBK1,WEGOV1,WACP3,WACP3R,WREAD1,WREAD1F,WADM1,WARCH1,WARCH2,WROAD2,WARCH3,WCHECK1,WEXT1,WOPS1,WROAD2C,WROAD2B,WAPPR1,WRULE1,WAUTO1,WEXT1LD,WFULLSMOKE1,WROUTE2,WTCLOSE1,WTCLOSE2,WREAL1P,OAOPS1,ASSET1,OSMOKE1,OALAUNCH1` | quick_validate | none | 2026-05-23 | `quick_validate.py` | medium | 每轮交付操作入口;企微/OA 后续先读 API 能力目录、Secret 矩阵、路线图、ASSET1 资产边界、OSMOKE1 OA-only smoke 账号治理和 OALAUNCH1 最终启用门禁;不得绕过真实业务闭环、权限矩阵、备份恢复、Day 7 Go/No-Go 或后续独立合同直接宣布最终启用完成;统一资产台账不保存密码、Secret、源码包、完整配置或涉密原文 |
| `SKILL-HYB` | `.agents/skills/hyb-oa-delivery/SKILL.md` | Skill | 项目交付 Skill | `CURRENT` | dev | `GOV8,DG8,WFDG,WDRG,WCP1,WCPC,WHMS,WHMSLIVE,WOUA,WAPI,WRRA,WRV1,WRA1,WMSG1,WAPC1,WAPC2,WPROC1,WPROC2,WAPC2F,WAPC2FLIVE,WCBK1,WEGOV1,WACP3,WACP3R,WREAD1,WREAD1F,WADM1,WARCH1,WARCH2,WROAD2,WARCH3,WCHECK1,WEXT1,WOPS1,WROAD2C,WROAD2B,WAPPR1,WRULE1,WAUTO1,WEXT1LD,WFULLSMOKE1,WROUTE2,WTCLOSE1,WTCLOSE2,WREAL1P,OAOPS1,ASSET1,OSMOKE1,OALAUNCH1,OMAT1,OPOLICY1` | quick_validate | none | 2026-05-24 | `quick_validate.py` | medium | 每轮交付操作入口;企微/OA 后续先读 API 能力目录、Secret 矩阵、路线图、ASSET1 资产边界、OSMOKE1 OA-only smoke 账号治理、OALAUNCH1 最终启用门禁和 OPOLICY1 小团队 V1 制度对齐;不得绕过真实业务闭环、权限矩阵、备份恢复、制度签收、Day 7 Go/No-Go 或后续独立合同直接宣布最终启用完成 |
| `REQ-WF` | `docs/需求-统一审批中心规约.md` | 需求事实源 | 审批模块规约 | `CURRENT` | product/backend | `AP6,WF8,WFOC,DBWFOC,WFDG,WOUA,WAPI,WRRA,WRV1,WRA1,WMSG1,WAPC1,WAPC2,WPROC1,WPROC2,WAPC2F,WAPC2FLIVE,WCBK1,WEGOV1,WACP3,WACP3R,WREAD1,WREAD1F,WADM1,WARCH1,WAPPR1,WAUTO1,WEXT1LD,WFULLSMOKE1,WTCLOSE1,WRULE1,WTCLOSE2` | workflow 回归 | none | 2026-05-22 | `rg` | high | OA 主办审批、企微主办 HR/考勤审批、OA 自建留存、真实回调事件证据、WACP3R 补偿拉取 findings、WREAD1 请假/补卡真机可读性结论、WARCH1 最小历史留存、WAPPR1 审批规则规范化和 API 不支持读取规则边界、WTCLOSE1 小团队一层审批 + 管理员兜底目标 A、WRULE1 理论审批人与实际审批链校验、WTCLOSE2 测试号最终收口、WAUTO1/WEXT1LD/WFULLSMOKE1 前置和 OA 应急接管边界 |
| `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,ATTV1,HR-WECOM-DIRECTORY-V1,WFOC,DBWFOC,WFDG,WCP1,WCPC,WHMS,WHMSLIVE,WOUA,WAPI,WRRA,WRV1,WRA1,WMSG1,WAPC1,WAPC2,WPROC1,WPROC2,WAPC2F,WAPC2FLIVE,WCBK1,WEGOV1,WACP3,WACP3R,WREAD1,WADM1,WARCH1,WARCH2,WROAD2,WARCH3,WCHECK1,WEXT1,WROAD2B,WAPPR1,WAUTO1,WEXT1LD,WFULLSMOKE1,WTCLOSE1,WTCLOSE2` | live smoke/真机反馈/Issue CSV | none | 2026-05-22 | `rg` | high | 企微优先承担 HR/考勤员工日常审批和人事/打卡能力;WARCH2 已提供请假/补卡正式只读历史查询,WARCH3 固定受控上线自动巡检,WCHECK1 固定打卡摘要留存,WEXT1 固定外出/加班 dry-run,WROAD2B 固定三天人工业务冒烟,WAPPR1/WTCLOSE1 固定审批规则规范化和小团队目标 A,WFULLSMOKE1 固定全域主路径测试边界,WTCLOSE2 固定最终测试号自动收口,WEXT1-FORMAL 需收口后另建合同;采购、合同、项目、报销和财务继续 OA 主办 |
| `REQ-ASSET` | `docs/需求-资产管理规约.md` | 需求事实源 | 统一资产台账规约 | `CURRENT` | product/backend | `ASSET1` | Issue CSV / 本地门禁 | none | 2026-05-22 | `rg` | high | 固定资产和电子资产统一台账;编号族 `FA/EA-DOC/EA-SYS/EA-REPO/EA-BKP`;`EA-ACC` 暂缓;Git 管源码,OA 只登记仓库元数据;历史资料只导脱敏索引;不保存密码、token、Secret、源码包、完整配置、涉密正文、真实完整路径、敏感报价或银行流水原件 |
| `REQ-ASSET` | `docs/需求-资产管理规约.md` | 需求事实源 | 统一资产台账规约 | `CURRENT` | product/backend | `ASSET1,OPOLICY1` | Issue CSV / 本地门禁 | none | 2026-05-24 | `rg` | high | 固定资产和电子资产统一台账;编号族 `FA/EA-DOC/EA-SYS/EA-REPO/EA-BKP`;`EA-ACC` 暂缓;Git 管源码,OA 只登记仓库元数据;OPOLICY1 后固定资料留存、备份资产、账号凭据禁入和 P2 冻结边界 |
| `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,WFOC,DBWFOC,WFDG,WCPC,WHMS,WHMSLIVE,WOUA,WAPI,WRRA,WRV1,WRA1,WMSG1,WAPC1,WAPC2,WPROC1,WPROC2,WAPC2F,WAPC2FLIVE,WCBK1,WEGOV1,WACP3,WACP3R,WREAD1,WADM1,WARCH1,WARCH2,WROAD2,WARCH3,WCHECK1,WEXT1,WOPS1,WROAD2C,WROAD2B,WAPPR1,WAUTO1,WEXT1LD,WFULLSMOKE1,WTCLOSE1,WTCLOSE2,WREAL1P,ASSET1,OALAUNCH1` | 人工验收 | none | 2026-05-23 | `rg` | medium | 管理员上线、企微优先边界、Secret 矩阵、巡检、HR/考勤门禁、ASSET1 统一资产台账和 OALAUNCH1 最终启用 Go/No-Go;明确备份恢复、权限矩阵和敏感资料不进公网 OA 的管理口径 |
| `MANUAL-EMPLOYEE` | `docs/员工快速上手.md` | 操作手册 | 员工手册 | `CURRENT` | product | `R7E,WFOC,DBWFOC,WFDG,ASSET1,OALAUNCH1` | 人工验收 | none | 2026-05-23 | `rg` | low | 员工侧使用说明,HR/考勤优先企业微信,采购/合同/财务仍在 OA;补充统一资产台账、电子资产、涉密资产可见边界和 OALAUNCH1 收口期问题反馈口径 |
| `MANUAL-ADMIN` | `docs/管理员手册.md` | 操作手册 | 管理员手册 | `CURRENT` | ops/admin | `ORG8,R7E,WFOC,DBWFOC,WFDG,WCPC,WHMS,WHMSLIVE,WOUA,WAPI,WRRA,WRV1,WRA1,WMSG1,WAPC1,WAPC2,WPROC1,WPROC2,WAPC2F,WAPC2FLIVE,WCBK1,WEGOV1,WACP3,WACP3R,WREAD1,WADM1,WARCH1,WARCH2,WROAD2,WARCH3,WCHECK1,WEXT1,WOPS1,WROAD2C,WROAD2B,WAPPR1,WAUTO1,WEXT1LD,WFULLSMOKE1,WTCLOSE1,WTCLOSE2,WREAL1P,ASSET1,OALAUNCH1,OPOLICY1` | 人工验收 | none | 2026-05-24 | `rg` | medium | 管理员上线、企微优先边界、Secret 矩阵、巡检、HR/考勤门禁、ASSET1、OALAUNCH1 和 OPOLICY1;明确制度参数、资料留存、用印台账、审批异常 SOP、制度签收、备份恢复、权限矩阵和敏感资料不进公网 OA 的管理口径 |
| `MANUAL-EMPLOYEE` | `docs/员工快速上手.md` | 操作手册 | 员工手册 | `CURRENT` | product | `R7E,WFOC,DBWFOC,WFDG,ASSET1,OALAUNCH1,OPOLICY1` | 人工验收 | none | 2026-05-24 | `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 轮次审视;不直接放行深度镜像或最终正式启用 |
+2 -1
查看文件
@@ -20,7 +20,7 @@
## 最近事实源链
R6 -> PC6 -> PA6 -> FL6 -> AP6 -> RI6 -> LP6 -> ME6/QG6 -> DG7/MRF7 -> MIA7 -> MIF7/MIF7T(公网部署与带凭据公网复检已收口) -> DG8 -> DG9 -> R7E -> FBA -> QAOPS9/P2D -> P2-ORG -> P2-FIN-DECISION -> P2-FIN-V1 -> P2-OCR-SAMPLE -> P2Q -> P2AUTO -> P2AF -> P2-FIN-LIVE-DECISION -> P2-FIN-LIVE -> PRELAUNCH -> CASHIER-VOUCHER-V1 -> LAUNCH-DEPLOY-FINANCE -> FIN-PROD-ENABLE -> ACCOUNTING-HANDOFF-V1 -> SYSTEM-COMPLETE-GATE -> LAUNCH-OPS-V1 -> REQ-COMPLETE-AUDIT -> ATTV1 -> LAUNCH-AUTO-OPS-V1 -> AUTO-REMAINING-CLOSEOUT -> HR-WECOM-DIRECTORY-V1 -> HRWD-CONTACT-LIVE-TEST -> WCFB -> WFOC -> DBWFOC -> WFDG -> WDRG -> WCP1 -> WCPC -> WHMS -> WHMSLIVE -> WOUA -> WAPI -> WRRA -> WOUA-FIX -> WRV1 -> WRA1 -> WMSG1 -> WAPC1 -> WAPC2 -> WPROC1 -> WPROC2 -> WAPC2F dry-run -> WAPC2FLIVE -> WCBK1 -> WEGOV1 -> WACP3/WACP3R -> WREAD1 自动汇总 -> WREAD1F 新样例 -> WREAD1 真机确认 -> WADM1 自建留存模型设计 -> WARCH1 最小审批历史留存 -> WARCH2 正式只读历史查询 -> WROAD2+OPS 受控上线与每日巡检 -> WARCH3 归档稳定化自动巡检 -> WCHECK1 打卡摘要留存 -> WEXT1 外出/加班 dry-run -> WOPS1 巡检告警降噪 -> WROAD2-CLOSEOUT 三天验收 -> WROAD2-BIZ1 三天业务冒烟 -> WAPPR1 审批规则规范化 -> WRULE1 审批链校验器 POC -> WAUTO1 自动证据汇总 -> WEXT1LD live 前 dry-run -> WFULLSMOKE1 三天全域最终目标测试 -> WROUTE2 测试号收口到最小镜像路线锁定 -> WTCLOSE1 小团队自动审批规则与测试号全域收口 dry-run -> WTCLOSE2 测试号最终收口与证据复核 -> WTCLOSE2F 远端可信 IP 执行口径修正 -> WREMOTE1 远端可信 IP 收口 -> WFULLSMOKE2 全域 smoke -> WEXT1-FORMAL/WEXT1F 正式模板外出/加班测试 -> OAOPS1 小团队全员真实使用稳定化 -> ASSET1 电子资产与固定资产统一台账 -> OSMOKE1 OA-only smoke 账号治理与公网自动化恢复 -> OALAUNCH1 最终启用前收口与 Go/No-Go 门禁 -> OMAT1 成熟度缺口审查(当前 goal)-> 后续再按需问答 WREAL1/最小镜像。
R6 -> PC6 -> PA6 -> FL6 -> AP6 -> RI6 -> LP6 -> ME6/QG6 -> DG7/MRF7 -> MIA7 -> MIF7/MIF7T(公网部署与带凭据公网复检已收口) -> DG8 -> DG9 -> R7E -> FBA -> QAOPS9/P2D -> P2-ORG -> P2-FIN-DECISION -> P2-FIN-V1 -> P2-OCR-SAMPLE -> P2Q -> P2AUTO -> P2AF -> P2-FIN-LIVE-DECISION -> P2-FIN-LIVE -> PRELAUNCH -> CASHIER-VOUCHER-V1 -> LAUNCH-DEPLOY-FINANCE -> FIN-PROD-ENABLE -> ACCOUNTING-HANDOFF-V1 -> SYSTEM-COMPLETE-GATE -> LAUNCH-OPS-V1 -> REQ-COMPLETE-AUDIT -> ATTV1 -> LAUNCH-AUTO-OPS-V1 -> AUTO-REMAINING-CLOSEOUT -> HR-WECOM-DIRECTORY-V1 -> HRWD-CONTACT-LIVE-TEST -> WCFB -> WFOC -> DBWFOC -> WFDG -> WDRG -> WCP1 -> WCPC -> WHMS -> WHMSLIVE -> WOUA -> WAPI -> WRRA -> WOUA-FIX -> WRV1 -> WRA1 -> WMSG1 -> WAPC1 -> WAPC2 -> WPROC1 -> WPROC2 -> WAPC2F dry-run -> WAPC2FLIVE -> WCBK1 -> WEGOV1 -> WACP3/WACP3R -> WREAD1 自动汇总 -> WREAD1F 新样例 -> WREAD1 真机确认 -> WADM1 自建留存模型设计 -> WARCH1 最小审批历史留存 -> WARCH2 正式只读历史查询 -> WROAD2+OPS 受控上线与每日巡检 -> WARCH3 归档稳定化自动巡检 -> WCHECK1 打卡摘要留存 -> WEXT1 外出/加班 dry-run -> WOPS1 巡检告警降噪 -> WROAD2-CLOSEOUT 三天验收 -> WROAD2-BIZ1 三天业务冒烟 -> WAPPR1 审批规则规范化 -> WRULE1 审批链校验器 POC -> WAUTO1 自动证据汇总 -> WEXT1LD live 前 dry-run -> WFULLSMOKE1 三天全域最终目标测试 -> WROUTE2 测试号收口到最小镜像路线锁定 -> WTCLOSE1 小团队自动审批规则与测试号全域收口 dry-run -> WTCLOSE2 测试号最终收口与证据复核 -> WTCLOSE2F 远端可信 IP 执行口径修正 -> WREMOTE1 远端可信 IP 收口 -> WFULLSMOKE2 全域 smoke -> WEXT1-FORMAL/WEXT1F 正式模板外出/加班测试 -> OAOPS1 小团队全员真实使用稳定化 -> ASSET1 电子资产与固定资产统一台账 -> OSMOKE1 OA-only smoke 账号治理与公网自动化恢复 -> OALAUNCH1 最终启用前收口与 Go/No-Go 门禁 -> OMAT1 成熟度缺口审查 -> OPOLICY1 制度与 OA 对齐(当前 goal)-> 后续再按需问答 WREAL1/最小镜像。
- R6、PC6、PA6、FL6、AP6、RI6、LP6 已完成并部署。
- ME6 自动化、公网视觉矩阵和 `ME6-3` 代表性企业微信真机门禁已完成。
@@ -174,6 +174,7 @@ R6 -> PC6 -> PA6 -> FL6 -> AP6 -> RI6 -> LP6 -> ME6/QG6 -> DG7/MRF7 -> MIA7 -> M
| `OSMOKE1` | `issues/2026-05-23_13-59-52-oa-only-smoke-account-governance-v1.csv` | 当前 OA-only smoke 账号治理:恢复公网 OA 自动化高权限测试账号,不再额外申请企微账号 | 新增 OA-only smoke 修复脚本、企微/OA 一致性审计豁免 `oaOnlySmokeExempted`、公网角色 readiness 检查,并接入 OAOPS1 每日巡检 | 只处理私有 env、显式员工号 allowlist 或 `SMOKE*`/`smoke-*`/测试命名命中的 smoke 标识;默认 dry-run,apply 必须 `OA_ONLY_SMOKE_REPAIR_APPLY=1`;不写企业微信、不重置密码、不影响真实员工、不执行 EA-DOC live 导入 |
| `OALAUNCH1` | `issues/2026-05-23_16-49-39-oa-final-launch-readiness-v1.csv` | 当前最终启用前收口与 Go/No-Go 门禁:在 OAOPS1/ASSET1D 之上增加业务闭环、权限、备份恢复、数据治理、培训和 Day 7 决策 | 新增 `scripts/qa/run-oa-final-launch-readiness.sh`,默认只读聚合 OAOPS1、ASSET1D、权限矩阵、备份恢复演练和人工 Go/No-Go 证据,输出 `PASS_OA_LAUNCH_READY` / `PASS_WITH_FINDINGS` / `PAUSED_MANUAL_CONFIRMATION` / `SKIP/BLOCKED_BY_EXTERNAL_CONFIG` | 不创建业务数据、不执行付款、不写企业微信、不恢复数据库;未达到 `PASS_OA_LAUNCH_READY` 前不得宣布最终正式启用完成 |
| `OMAT1` | `issues/2026-05-23_17-20-00-oa-maturity-gap-review-v1.csv` | 当前成熟度缺口审查台账:按 MAGI 审视/执行/提升轮次,对标国内主流 OA、协同、低代码、财务和资产系统,记录每个问题或建议供用户逐项采纳、暂缓或否决 | 已登记最终启用、真实业务闭环、权限、备份恢复、运营支持、流程配置、报表、财务月结、合同、采购、资产、HR 镜像、移动体验、数据治理、SLO、集成、知识档案、主数据、UX、AI 边界、国内对标来源、小团队取舍原则、用户决策回填、成熟度证据视图和最低非功能基线等候选项 | 本台账只做审查和决策,不直接触发业务代码实现;采纳项必须另建或延续对应 Issue CSV,并满足 OALAUNCH1 门禁 |
| `OPOLICY1` | `issues/2026-05-24_01-20-52-oa-policy-system-alignment-v1.csv` | 当前制度与 OA 对齐合同:先把外部制度包裁剪为小团队 V1,再回写 OA 事实源和启用门禁 | 已固化制度参数、资料留存、用印台账、审批异常 SOP、制度签收和 P2 冻结边界;预算硬控、复杂招采、电子签章、完整电子档案系统、ERP/银行深集成和 AI 自动改规则不作为正式启用前置条件 | 本合同优先制度和事实源调整;现有合同台账/资产台账/公告能力可承载 V1,不立即做 schema 或业务代码改造 |
| `WREAL1-PREP` | `issues/2026-05-20_14-35-42-wecom-real-trial-prep-v1.csv` | 当前真实试用准备:不启用真实员工 | 固化候选员工、非自审审批人、回滚联系人、允许流程、暂停条件和验收标准;真实试用必须等请假、补卡、外出、加班四类测试号证据、WAPPR1 和 WFULLSMOKE1 通过后再问 | 当前不创建外出/加班 live 样件;真实员工名单不写入 Issue 或文档,后续通过问答确认 |
旧 Issue CSV 不删除、不批量回写、不移动到归档目录。若新治理流替代旧合同,只在新 CSV 的 `Notes` 或本索引说明 supersedes,旧文件保留历史审计语义。
+24
查看文件
@@ -11,6 +11,7 @@
**OAOPS1 小团队真实使用稳定化**:企微打卡、补卡、外出、请假先冻结在当前完成态,日常继续由企业微信主办,OA 做留存、审计和后续兜底。当前主线回到 OA 主办域,按 7 天小团队全员真实使用稳定化执行;允许公网 OA 录入真实报销、采购/费用、合同台账、项目、付款批次和银行回单等业务数据,数据按审计保留不自动清理。新增 `scripts/qa/run-oa-real-use-daily.sh` 作为每日只读巡检;真实业务写入只由人工在公网 OA 内完成。图片 OCR、复杂 BPM、预算、ERP、银行流水导入、真实支付直连、企微 HR 深镜像、应急接管、恢复回写和 RuleOps 继续冻结。
**OSMOKE1 OA-only smoke 账号治理**:企业微信账号数量有限时,不再为了 OA 报销、资产、财务、AP、合同或权限回归额外申请企业微信账号。企微测试账号只服务 HR/考勤链路;公网 OA 自动化使用 OA-only smoke 账号,允许不绑定企微,但必须在 OA 内保持 active、角色正确且可登录。企微/OA 一致性审计会把私有 env 中列出、显式员工号 allowlist 命中,或符合 `SMOKE*`/`smoke-*`/`oa-smoke-*`/测试命名的 OA-only smoke 账号归为 `oaOnlySmokeExempted`,不再当作“缺企微账号”归档;真实员工不得用该命名绕过一致性治理。恢复账号必须先 dry-run,真实修复必须 `--apply` 且设置 `OA_ONLY_SMOKE_REPAIR_APPLY=1`,不得重置密码、不得打印凭据、不得影响真实员工。
**OALAUNCH1 最终启用门禁**:ASSET1D 已完成资产台账公网部署、最小 UI 试录和 3 条脱敏 `EA-DOC` 受控导入;OAOPS1 自动巡检已具备公网只读证据,但正式启用前仍必须补齐真实业务闭环、权限矩阵、备份恢复演练、数据治理培训和 Day 7 Go/No-Go。新增 `scripts/qa/run-oa-final-launch-readiness.sh` 只聚合证据并输出 `PASS_OA_LAUNCH_READY`、`PASS_WITH_FINDINGS`、`PAUSED_MANUAL_CONFIRMATION` 或 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`;脚本不创建业务数据、不执行付款、不写企业微信、不做数据库恢复。未达到 `PASS_OA_LAUNCH_READY` 前,只能视为小团队稳定化收口中,不能宣布最终正式启用完成。
**OPOLICY1 制度与 OA 对齐口径**:公司制度包已裁剪为“小团队 V1”执行口径,原则是先做到能执行、能留痕、能追责。制度参数、资料留存、用印台账、审批异常 SOP、制度签收和 P2 冻结边界进入 OALAUNCH1 数据治理门禁;预算硬控、复杂招采、电子签章、完整电子档案系统、ERP/银行深集成和 AI 自动改规则不作为正式启用前置条件。
## 1. 适用范围
- 适用于 `small_team_internal` 工作区模式。
@@ -481,6 +482,29 @@ Day 7 选项固定:
备份恢复演练必须在不影响公网生产库的前提下完成。可以使用影子库、临时恢复库或受控恢复验证;不得为了演练重置公网数据库。证据路径可通过 `OALAUNCH_BACKUP_EVIDENCE` 传给汇总脚本。权限矩阵和真实业务闭环证据也可分别通过 `OALAUNCH_PERMISSION_EVIDENCE`、`OALAUNCH_BUSINESS_EVIDENCE` 指定脱敏证据文件。
制度对齐证据默认读取 OPOLICY1 Issue CSV;如需指定外部制度验收摘要或脱敏评审证据,可通过 `OALAUNCH_POLICY_EVIDENCE` 指定路径。缺 OPOLICY1 收口时,最终启用汇总必须继续保持 `PAUSED_MANUAL_CONFIRMATION`。
### 3.8 OPOLICY1 制度对齐与人工门禁
OPOLICY1 是正式启用前的制度收口层。它不新增一套业务流程,也不把制度全文复制进 OA;它把制度包裁剪成小团队 V1 可执行清单,并要求管理员在 OALAUNCH1 前确认以下事项。
| 门禁 | V1 处理方式 | 未确认处理 |
| --- | --- | --- |
| 制度参数 | 金额阈值、报销期限、借款核销、采购比价、法务触发和用印责任先由管理层确认,不在代码中硬编码虚构金额 | 保持人工逐单审批或暂停对应真实启用 |
| 资料留存 | OA 只放可控摘要、hash、归档位置摘要、非涉密证明和审计线索;涉密正文、敏感报价、成本细节、银行流水原件和凭据继续线下或专用工具保管 | 资料不清楚时不上传,只登记待归档 |
| 用印台账 | V1 先通过合同台账的摘要、归档位置、离线档案号和附件审计承载用印记录;至少记录事项、文件版本、份数、审批状态、日期、责任人和归档位置 | 现有字段无法说明时,先用人工台账补充,后续再立项做专用字段 |
| 审批异常 SOP | 无审批人、自审、越权可见、付款/AP 卡住、合同或资料敏感信息误上传均视为阻断 | 当天建修复合同、人工绕行留风险,或暂停对应流程 |
| 制度签收 | 员工利益相关制度先保留纸面或电子签收证据;OA 公告可发布制度通知,但不把公告阅读等同于正式签收 | 缺签收时不进入最终 Go/No-Go |
| P2 冻结 | 复杂预算、复杂招采、电子签章、完整档案系统、ERP、银行流水导入、真实支付直连和 AI 写规则继续冻结 | 真实使用证明必要后另建 Issue CSV |
制度参数人工问答建议:
- A:先采用小团队默认参数试运行,并在 Day 7 Go/No-Go 前由管理层确认。
- B:暂不填固定金额阈值,所有预算外、合同、用印和高风险事项逐单管理层审批。
- C:暂停财务、合同或采购真实启用,先把制度参数定稿。
当前 OA 对齐判断:合同台账已有敏感级别、归档位置和离线档案号,资产台账已有 `FA/EA-DOC/EA-SYS/EA-REPO/EA-BKP` 元数据能力,公告模块可承载制度通知。因此 V1 不立即做 Prisma schema 迁移;如果真实使用证明“用印台账专用字段”或“制度签收回执”是阻断,再另建功能合同并进入 reviewer。
## 4. 人员生命周期管理
### 4.1 入职
1. 在 `人员管理` 创建员工账号。
+10
查看文件
@@ -3,6 +3,7 @@
**版本**:1.0
**日期**:2026-05-09
**状态**:模块级开发规约
**补充口径**:OPOLICY1 后,合同/用印先按小团队 V1 执行;V1 通过合同台账、归档位置、离线档案号、非涉密证明和审计承载,不立即上电子签章或完整法务系统。
**上级事实源**:[海音达OA-MVP需求规格说明书](./海音达OA-MVP需求规格说明书.md)
**审批总依据**:[需求 - 统一审批中心规约](./需求-统一审批中心规约.md)
**体验总依据**:[产品设计规则基线](./产品设计规则.md)
@@ -40,6 +41,15 @@
- 合同正文、合同附件、报价、供应商资料和涉密归档信息不上传到企业微信原生审批或企业微信附件;企业微信只做脱敏提醒和 OA deeplink。
- 不接入飞书文档或飞书审批作为合同事实源。
### 1.4 OPOLICY1 小团队 V1 裁剪口径
正式启用前,合同和用印管理不追求一次性建设完整电子签章、法务审阅、红线对比或电子档案系统。V1 目标是合同台账可查、责任人明确、资料不乱传、用印可追溯。
- 用印台账 V1 先由合同台账字段和人工记录承载:事项、文件版本、份数、审批状态、日期、用印管理员或责任人、线下归档位置。现有字段可使用摘要、归档位置、离线档案号和非涉密证明附件组合表达。
- 涉密合同正文、敏感报价、成本细节、客户敏感资料和完整线下路径不得进入公网 OA;只登记可控摘要、敏感级别、负责人、项目/采购/付款关联和归档位置摘要。
- 电子签章、合同智能审阅、完整法务会签和全量电子档案留存继续作为 P2 后置能力;真实使用证明现有字段不足时,另建 Issue CSV 再做 schema/UI 小改。
- 审批异常 SOP 固定为阻断项:无审批人、自审、越权查看附件、误传涉密正文或用印责任不清时,暂停对应流程并当天登记修复或人工绕行责任。
---
## 2. 角色与权限
+11 -2
查看文件
@@ -2,8 +2,8 @@
**文档状态**:当前资产管理事实源。
**分类**:需求事实源 / 资产台账。
**关联 Issue**:`ASSET1`。
**最近更新**:2026-05-22。
**关联 Issue**:`ASSET1`、`OPOLICY1`。
**最近更新**:2026-05-24。
**上级事实源**:[海音达OA-MVP需求规格说明书](./海音达OA-MVP需求规格说明书.md)、[产品口径](./产品口径.md)、[管理员手册](./管理员手册.md)。
**安全边界**:本文不授权在 OA、仓库、聊天或测试报告中保存密码、token、Secret、密钥、源码包、完整配置、涉密正文、敏感报价、成本细节、银行流水原件或未脱敏票面。
@@ -32,6 +32,15 @@ ASSET1 后,OA 资产模块从“固定资产卡片”升级为“统一资产
`EA-ACC` 账号资产 V1 暂缓。OA 不保存密码、token、Secret 或密钥;账号权限只作为 `EA-SYS` 的管理员、负责人和离职权限回收清单字段。
## 2.1 OPOLICY1 制度对齐口径
OPOLICY1 后,资产台账先服务小团队 V1 的责任追踪、资料留存、离职交接和备份恢复证据,不把 OA 做成文件外发系统、密码库或源码托管平台。
- 资料留存只登记摘要、hash、敏感级别、负责人、项目/合同/付款关联和归档位置摘要;S3/S4 原文、完整真实路径、敏感报价、合同正文、银行流水原件和账号凭据不进入公网 OA。
- 账号资产 `EA-ACC` 继续暂缓;离职时检查关键系统权限是否回收,普通账号不逐个做资产卡,任何密码、token、Secret、私钥和完整配置都不保存。
- 备份介质和备份集合既要登记资产责任,也要支撑 OALAUNCH1 备份恢复演练;只记录保管人、范围、加密状态、恢复验证日期和证据摘要,不把生产备份内容上传 OA。
- P2 冻结项包括完整电子档案系统、自动文件外发、账号密码库、源码包托管、银行流水导入和 AI 自动写规则;采纳前必须另建 Issue CSV。
## 3. 资产类型口径
### 固定资产 `FA`
+10
查看文件
@@ -3,6 +3,7 @@
**版本**:1.0
**日期**:2026-05-09
**状态**:模块级开发规约
**补充口径**:OPOLICY1 后,小团队 V1 将预算硬控、复杂招采和供应商生命周期管理后置;正式启用前以资金安排说明、预算外原因、管理层审批留痕和 OA 审计为主。
**上级事实源**:[海音达OA-MVP需求规格说明书](./海音达OA-MVP需求规格说明书.md)
**审批总依据**:[需求 - 统一审批中心规约](./需求-统一审批中心规约.md)
**体验总依据**:[产品设计规则基线](./产品设计规则.md)
@@ -41,6 +42,15 @@
- 采购单、费用申请、报价、供应商资料、合同草稿、验收材料和附件不上传到企业微信原生审批或企业微信附件。
- 不接入飞书审批、飞书项目或飞书文档作为正式流程。
### 1.4 OPOLICY1 小团队 V1 裁剪口径
采购/费用在正式启用前采用“小团队 V1”口径:先满足申请、审批、关联项目/合同、付款/AP 留痕和审计,不把复杂预算或完整招采系统作为前置。
- 预算降级为资金安排说明、预算外原因和管理层审批留痕;不得为了通过系统而在代码里硬编码未经确认的金额阈值。
- 采购比价、招标、评标、供应商准入、供应商评分和黑名单继续作为 P2 后置能力;V1 只保留供应商摘要、风险说明、保密要求和项目/合同/付款关联。
- 审批异常 SOP 固定为阻断项:无审批人、自审、越权可见、附件含账号凭据或涉密原文、付款/AP 无法闭环时,当天建修复合同、人工绕行留风险或暂停对应流程。
- P2 冻结项包括复杂 BPM、预算硬控、ERP/银行流水导入、真实支付直连和 AI 自动写规则;采纳前必须另建 Issue CSV。
---
## 2. 角色与权限
@@ -0,0 +1,9 @@
"ID","Title","Description","Acceptance","Test_Method","Tools","Dev_Status","Review1_Status","Regression_Status","Files","Dependencies","Notes"
"OPOLICY1-0","建立制度与 OA 启用门禁对齐合同","基于公司制度体系建设材料和 hyb-oa 当前 OALAUNCH1/OAOPS1/ASSET1/OAPERM1 状态,建立先调整制度、再对齐 OA、最后决定系统小改的执行合同。","Issue CSV 校验通过;明确本合同优先做制度降维、事实源回写和缺口登记;未经单独批准不做生产部署、不执行真实付款、不恢复数据库、不上传敏感原文。","受影响流程:制度审视 -> OA 启用门禁 -> Issue 合同 -> 后续执行;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-24_01-20-52-oa-policy-system-alignment-v1.csv。","python3|manual","DONE","DONE","DONE","issues/2026-05-24_01-20-52-oa-policy-system-alignment-v1.csv","[]","Issue CSV 已建立并通过合同门禁;边界固定为制度降维、事实源回写和 QA-only 汇总,不部署、不写真实业务数据、不恢复数据库。"
"OPOLICY1-1","审视制度合理性和小团队裁剪口径","只读审查制度目录、授权审批、财务报销、合同、采购、用印、资产、信息安全、档案、人事和实施检查包,判断哪些应保留、降级、后置或转人工门禁。","形成结论:第一批制度压缩为 P0 可执行清单;预算、复杂招采、电子签章、复杂档案系统和账号资产进入后置;员工手册签收和制度参数为启用前门禁。","受影响流程:制度包 -> 小团队 V1 口径 -> OA 缺口;验证步骤:rg -n ""小团队 V1|P0 可执行清单|预算降级|账号资产暂缓|员工制度签收|OPOLICY1"" docs issues。","rg|manual","DONE","DONE","DONE","external:/home/shunli/Projects/faculty-daily-assistant/公司/制度体系建设_20260524;docs/管理员手册.md;docs/员工快速上手.md","[""OPOLICY1-0""]","已审视制度包并固化小团队 V1:P0 先落授权审批、报销付款、合同用印、采购、制度签收、资料留存和资产/权限交接;预算硬控、复杂招采、电子签章、完整电子档案系统后置。"
"OPOLICY1-2","调整制度包为小团队 V1 试运行口径","在外部制度目录中更新总览、90 天路线、待确认参数、授权审批、资产/IT、信息安全/账号、档案制度等现有文件,把 P0/P1/P2、预算降级、EA-ACC 暂缓、制度签收、用印台账和资料留存边界固化。","制度文件明确:第一批发布为小团队 V1;金额阈值必须由管理层确认;预算不作为启用前系统硬控;账号凭据不进 OA;涉密资料只登记摘要;员工制度需签收;复杂能力后置。","受影响流程:制度草案 -> 管理层评审版 -> OA 配置参数;验证步骤:rg -n ""小团队 V1|预算.*降级|EA-ACC|账号凭据|制度签收|资料留存|用印台账|P2 后置"" /home/shunli/Projects/faculty-daily-assistant/公司/制度体系建设_20260524。","manual|rg","DONE","DONE","DONE","external:/home/shunli/Projects/faculty-daily-assistant/公司/制度体系建设_20260524","[""OPOLICY1-1""]","外部制度目录已更新 OPOLICY1 小团队 V1 口径;/tmp/制度体系建设_20260524_OPOLICY1_backup 保留变更前备份;未写敏感阈值、凭据或涉密正文。"
"OPOLICY1-3","回写 hyb-oa 事实源和员工/管理员口径","更新现有事实源,不新建孤立文档:管理员手册、员工快速上手、采购/合同/资产规约、文档索引、事实源矩阵和项目 skill,说明制度包与 OA 的边界。","文档能检索到 OPOLICY1、小团队 V1、制度参数、资料留存、用印台账、审批异常 SOP、制度签收和 P2 冻结;员工和管理员知道哪些进入 OA,哪些线下归档。","受影响流程:制度调整 -> OA 操作手册 -> OALAUNCH1 数据治理门禁;验证步骤:rg -n ""OPOLICY1|小团队 V1|制度参数|资料留存|用印台账|审批异常|制度签收|P2 冻结"" docs .agents/skills/hyb-oa-delivery/SKILL.md。","rg|manual","DONE","DONE","DONE","docs/管理员手册.md;docs/员工快速上手.md;docs/需求-采购费用审批规约.md;docs/需求-合同附件归档规约.md;docs/需求-资产管理规约.md;docs/文档索引.md;docs/文档事实源状态矩阵.md;.agents/skills/hyb-oa-delivery/SKILL.md","[""OPOLICY1-2""]","已回写管理员手册、员工快速上手、采购/合同/资产规约、文档索引、事实源矩阵和项目 skill;不复制外部制度全文,只记录 OA 执行边界。"
"OPOLICY1-4","制度参数和人工问答门禁清单","把制度待确认参数转成启用前人工问答:金额阈值、报销期限、借款核销、采购比价、法务触发、用印责任、制度签收方式、资料外发审批和离职权限回收时限。","形成可执行问答选项;未确认前不把对应规则硬编码到 OA;OALAUNCH1 保持 PAUSED_MANUAL_CONFIRMATION。","受影响流程:管理层参数确认 -> OA 配置/人工 SOP -> 启用门禁;验证步骤:Issue Notes 或手册中列出 A/B/C 选项,且不写虚构金额。","manual","DONE","DONE","DONE","docs/管理员手册.md;issues/2026-05-24_01-20-52-oa-policy-system-alignment-v1.csv","[""OPOLICY1-3""]","管理员手册已列制度参数 A/B/C 问答和资料留存、用印台账、审批异常 SOP、制度签收、P2 冻结门禁;未确认金额阈值前不硬编码。"
"OPOLICY1-5","评估 OA 必要小改范围","检查当前 OA 是否已有合同台账、采购归档、公告、审计导出、资产台账和权限能力;决定是否需要立即开发用印字段、制度签收或资料留存清单。","输出结论:启用前优先文档/SOP 和真实样本;代码小改只有在现有字段无法承载时另建子项。涉及 schema/权限/状态机时必须 reviewer。","受影响流程:OA 当前能力 -> 制度缺口 -> 是否开发;验证步骤:rg 检查 routes/schema/pages;如需要代码,先补本 CSV 子项并给方案。","rg|manual","DONE","DONE","DONE","server/prisma/schema.prisma;server/src/routes;client/src/pages;docs","[""OPOLICY1-3""]","代码检索确认:合同台账已有 archiveLocation/offlineArchiveNo/confidentiality,资产台账已有多资产类型和验证编号,公告可承载制度通知;V1 不立即做 schema/UI 迁移,专用签收或用印字段待真实阻断再立项。"
"OPOLICY1-6","OALAUNCH1 数据治理证据接入","把 OPOLICY1 的制度边界、资料留存和人工参数清单接入最终启用门禁,支持 OALAUNCH1-7 数据治理培训与运营支持。","run-oa-final-launch-readiness 在提供 OPOLICY1 证据后仍保持真实业务/备份/7 天未完成状态,但不再缺制度边界说明。","受影响流程:制度边界 -> 数据治理培训 -> OALAUNCH1 汇总;验证步骤:运行 run-oa-final-launch-readiness 或手工记录证据路径,确认不伪造成 PASS。","bash|manual","DONE","DONE","DONE","scripts/qa/run-oa-final-launch-readiness.sh;issues/2026-05-23_16-49-39-oa-final-launch-readiness-v1.csv;docs/管理员手册.md","[""OPOLICY1-4""]","run-oa-final-launch-readiness 已接入 OPOLICY1 状态和 OALAUNCH_POLICY_EVIDENCE;政策门禁未收口时会保持 PAUSED_MANUAL_CONFIRMATION,不替代真实业务、备份恢复或 Day 7 Go/No-Go。"
"OPOLICY1-7","本地门禁与文档审计","完成合同校验、文档检索、audit-docs、skill 校验、diff 检查;如修改业务代码再按影响范围跑 server/client 检查。","validate_issues_csv.py、check-process-contract、audit-docs、quick_validate、git diff --check 通过;若无代码变更,明确未跑构建或说明不需要。","受影响流程:制度/OA 事实源调整 -> 本地门禁 -> 提交;验证步骤:validate_issues_csv.py <csv>;node scripts/qa/check-process-contract.mjs --issue <csv> --profile general --json;node scripts/qa/audit-docs.mjs --check-registry;quick_validate.py .agents/skills/hyb-oa-delivery;git diff --check。","python3|node|git","DONE","DONE","DONE","issues/2026-05-24_01-20-52-oa-policy-system-alignment-v1.csv;docs;.agents/skills/hyb-oa-delivery/SKILL.md","[""OPOLICY1-3"",""OPOLICY1-5""]","文档检索、外部制度检索、脚本语法、合同门禁、audit-docs、quick_validate 和 diff 检查已纳入本轮验证;无 server/client 业务代码变更,不部署。"
1 ID Title Description Acceptance Test_Method Tools Dev_Status Review1_Status Regression_Status Files Dependencies Notes
2 OPOLICY1-0 建立制度与 OA 启用门禁对齐合同 基于公司制度体系建设材料和 hyb-oa 当前 OALAUNCH1/OAOPS1/ASSET1/OAPERM1 状态,建立先调整制度、再对齐 OA、最后决定系统小改的执行合同。 Issue CSV 校验通过;明确本合同优先做制度降维、事实源回写和缺口登记;未经单独批准不做生产部署、不执行真实付款、不恢复数据库、不上传敏感原文。 受影响流程:制度审视 -> OA 启用门禁 -> Issue 合同 -> 后续执行;验证步骤:python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-24_01-20-52-oa-policy-system-alignment-v1.csv。 python3|manual DONE DONE DONE issues/2026-05-24_01-20-52-oa-policy-system-alignment-v1.csv [] Issue CSV 已建立并通过合同门禁;边界固定为制度降维、事实源回写和 QA-only 汇总,不部署、不写真实业务数据、不恢复数据库。
3 OPOLICY1-1 审视制度合理性和小团队裁剪口径 只读审查制度目录、授权审批、财务报销、合同、采购、用印、资产、信息安全、档案、人事和实施检查包,判断哪些应保留、降级、后置或转人工门禁。 形成结论:第一批制度压缩为 P0 可执行清单;预算、复杂招采、电子签章、复杂档案系统和账号资产进入后置;员工手册签收和制度参数为启用前门禁。 受影响流程:制度包 -> 小团队 V1 口径 -> OA 缺口;验证步骤:rg -n "小团队 V1|P0 可执行清单|预算降级|账号资产暂缓|员工制度签收|OPOLICY1" docs issues。 rg|manual DONE DONE DONE external:/home/shunli/Projects/faculty-daily-assistant/公司/制度体系建设_20260524;docs/管理员手册.md;docs/员工快速上手.md ["OPOLICY1-0"] 已审视制度包并固化小团队 V1:P0 先落授权审批、报销付款、合同用印、采购、制度签收、资料留存和资产/权限交接;预算硬控、复杂招采、电子签章、完整电子档案系统后置。
4 OPOLICY1-2 调整制度包为小团队 V1 试运行口径 在外部制度目录中更新总览、90 天路线、待确认参数、授权审批、资产/IT、信息安全/账号、档案制度等现有文件,把 P0/P1/P2、预算降级、EA-ACC 暂缓、制度签收、用印台账和资料留存边界固化。 制度文件明确:第一批发布为小团队 V1;金额阈值必须由管理层确认;预算不作为启用前系统硬控;账号凭据不进 OA;涉密资料只登记摘要;员工制度需签收;复杂能力后置。 受影响流程:制度草案 -> 管理层评审版 -> OA 配置参数;验证步骤:rg -n "小团队 V1|预算.*降级|EA-ACC|账号凭据|制度签收|资料留存|用印台账|P2 后置" /home/shunli/Projects/faculty-daily-assistant/公司/制度体系建设_20260524。 manual|rg DONE DONE DONE external:/home/shunli/Projects/faculty-daily-assistant/公司/制度体系建设_20260524 ["OPOLICY1-1"] 外部制度目录已更新 OPOLICY1 小团队 V1 口径;/tmp/制度体系建设_20260524_OPOLICY1_backup 保留变更前备份;未写敏感阈值、凭据或涉密正文。
5 OPOLICY1-3 回写 hyb-oa 事实源和员工/管理员口径 更新现有事实源,不新建孤立文档:管理员手册、员工快速上手、采购/合同/资产规约、文档索引、事实源矩阵和项目 skill,说明制度包与 OA 的边界。 文档能检索到 OPOLICY1、小团队 V1、制度参数、资料留存、用印台账、审批异常 SOP、制度签收和 P2 冻结;员工和管理员知道哪些进入 OA,哪些线下归档。 受影响流程:制度调整 -> OA 操作手册 -> OALAUNCH1 数据治理门禁;验证步骤:rg -n "OPOLICY1|小团队 V1|制度参数|资料留存|用印台账|审批异常|制度签收|P2 冻结" docs .agents/skills/hyb-oa-delivery/SKILL.md。 rg|manual DONE DONE DONE docs/管理员手册.md;docs/员工快速上手.md;docs/需求-采购费用审批规约.md;docs/需求-合同附件归档规约.md;docs/需求-资产管理规约.md;docs/文档索引.md;docs/文档事实源状态矩阵.md;.agents/skills/hyb-oa-delivery/SKILL.md ["OPOLICY1-2"] 已回写管理员手册、员工快速上手、采购/合同/资产规约、文档索引、事实源矩阵和项目 skill;不复制外部制度全文,只记录 OA 执行边界。
6 OPOLICY1-4 制度参数和人工问答门禁清单 把制度待确认参数转成启用前人工问答:金额阈值、报销期限、借款核销、采购比价、法务触发、用印责任、制度签收方式、资料外发审批和离职权限回收时限。 形成可执行问答选项;未确认前不把对应规则硬编码到 OA;OALAUNCH1 保持 PAUSED_MANUAL_CONFIRMATION。 受影响流程:管理层参数确认 -> OA 配置/人工 SOP -> 启用门禁;验证步骤:Issue Notes 或手册中列出 A/B/C 选项,且不写虚构金额。 manual DONE DONE DONE docs/管理员手册.md;issues/2026-05-24_01-20-52-oa-policy-system-alignment-v1.csv ["OPOLICY1-3"] 管理员手册已列制度参数 A/B/C 问答和资料留存、用印台账、审批异常 SOP、制度签收、P2 冻结门禁;未确认金额阈值前不硬编码。
7 OPOLICY1-5 评估 OA 必要小改范围 检查当前 OA 是否已有合同台账、采购归档、公告、审计导出、资产台账和权限能力;决定是否需要立即开发用印字段、制度签收或资料留存清单。 输出结论:启用前优先文档/SOP 和真实样本;代码小改只有在现有字段无法承载时另建子项。涉及 schema/权限/状态机时必须 reviewer。 受影响流程:OA 当前能力 -> 制度缺口 -> 是否开发;验证步骤:rg 检查 routes/schema/pages;如需要代码,先补本 CSV 子项并给方案。 rg|manual DONE DONE DONE server/prisma/schema.prisma;server/src/routes;client/src/pages;docs ["OPOLICY1-3"] 代码检索确认:合同台账已有 archiveLocation/offlineArchiveNo/confidentiality,资产台账已有多资产类型和验证编号,公告可承载制度通知;V1 不立即做 schema/UI 迁移,专用签收或用印字段待真实阻断再立项。
8 OPOLICY1-6 OALAUNCH1 数据治理证据接入 把 OPOLICY1 的制度边界、资料留存和人工参数清单接入最终启用门禁,支持 OALAUNCH1-7 数据治理培训与运营支持。 run-oa-final-launch-readiness 在提供 OPOLICY1 证据后仍保持真实业务/备份/7 天未完成状态,但不再缺制度边界说明。 受影响流程:制度边界 -> 数据治理培训 -> OALAUNCH1 汇总;验证步骤:运行 run-oa-final-launch-readiness 或手工记录证据路径,确认不伪造成 PASS。 bash|manual DONE DONE DONE scripts/qa/run-oa-final-launch-readiness.sh;issues/2026-05-23_16-49-39-oa-final-launch-readiness-v1.csv;docs/管理员手册.md ["OPOLICY1-4"] run-oa-final-launch-readiness 已接入 OPOLICY1 状态和 OALAUNCH_POLICY_EVIDENCE;政策门禁未收口时会保持 PAUSED_MANUAL_CONFIRMATION,不替代真实业务、备份恢复或 Day 7 Go/No-Go。
9 OPOLICY1-7 本地门禁与文档审计 完成合同校验、文档检索、audit-docs、skill 校验、diff 检查;如修改业务代码再按影响范围跑 server/client 检查。 validate_issues_csv.py、check-process-contract、audit-docs、quick_validate、git diff --check 通过;若无代码变更,明确未跑构建或说明不需要。 受影响流程:制度/OA 事实源调整 -> 本地门禁 -> 提交;验证步骤:validate_issues_csv.py <csv>;node scripts/qa/check-process-contract.mjs --issue <csv> --profile general --json;node scripts/qa/audit-docs.mjs --check-registry;quick_validate.py .agents/skills/hyb-oa-delivery;git diff --check。 python3|node|git DONE DONE DONE issues/2026-05-24_01-20-52-oa-policy-system-alignment-v1.csv;docs;.agents/skills/hyb-oa-delivery/SKILL.md ["OPOLICY1-3","OPOLICY1-5"] 文档检索、外部制度检索、脚本语法、合同门禁、audit-docs、quick_validate 和 diff 检查已纳入本轮验证;无 server/client 业务代码变更,不部署。
@@ -78,6 +78,7 @@ const qaFlowDir = path.join(rootDir, "artifacts", "qa-flow");
const oalaunchCsv = path.join(rootDir, "issues", "2026-05-23_16-49-39-oa-final-launch-readiness-v1.csv");
const oaopsCsv = path.join(rootDir, "issues", "2026-05-22_20-09-22-oa-real-use-stabilization-v1.csv");
const assetCsv = path.join(rootDir, "issues", "2026-05-23_10-42-03-oa-asset-deploy-and-trial-v1.csv");
const opolicyCsv = path.join(rootDir, "issues", "2026-05-24_01-20-52-oa-policy-system-alignment-v1.csv");
function readJson(file) {
if (!file || !fs.existsSync(file)) return null;
@@ -302,10 +303,13 @@ try {
const oaopsRows = readCsvRows(oaopsCsv);
const assetRows = readCsvRows(assetCsv);
const oalaunchRows = readCsvRows(oalaunchCsv);
const opolicyRows = readCsvRows(opolicyCsv);
const oaopsRequired = ["OAOPS1-3", "OAOPS1-4", "OAOPS1-5", "OAOPS1-6"];
const oalaunchRequired = ["OALAUNCH1-0", "OALAUNCH1-1", "OALAUNCH1-2", "OALAUNCH1-3", "OALAUNCH1-4", "OALAUNCH1-5", "OALAUNCH1-6", "OALAUNCH1-7", "OALAUNCH1-8"];
const opolicyRequired = ["OPOLICY1-0", "OPOLICY1-1", "OPOLICY1-2", "OPOLICY1-3", "OPOLICY1-4", "OPOLICY1-5", "OPOLICY1-6", "OPOLICY1-7"];
const oaopsStatuses = statuses(oaopsRows, oaopsRequired);
const oalaunchStatuses = statuses(oalaunchRows, oalaunchRequired);
const opolicyStatuses = statuses(opolicyRows, opolicyRequired);
const assetDone = allPrefixDone(assetRows, "ASSET1D-");
const latestOaops = latestSummary(["oa-real-use-daily-", "oaops1-daily-", "oaops1-daily-after-throttle-"]);
const latestAssetTrial = latestSummary(["asset1d-public-trial-"]);
@@ -314,6 +318,7 @@ const latestAssetImport = latestSummary(["asset-redacted-index-import-live-"]);
const backupEvidence = resolveEvidenceRef(process.env.OALAUNCH_BACKUP_EVIDENCE || "");
const permissionEvidence = resolveEvidenceRef(process.env.OALAUNCH_PERMISSION_EVIDENCE || "");
const businessEvidence = resolveEvidenceRef(process.env.OALAUNCH_BUSINESS_EVIDENCE || "");
const policyEvidence = resolveEvidenceRef(process.env.OALAUNCH_POLICY_EVIDENCE || opolicyCsv);
const manualAccept = String(process.env.OALAUNCH_MANUAL_ACCEPT || "").trim();
const stabilization = summarizeStabilization(["oa-real-use-daily-", "oaops1-daily-", "oaops1-daily-after-throttle-"]);
@@ -326,6 +331,10 @@ for (const [id, state] of Object.entries(oaopsStatuses)) {
for (const [id, state] of Object.entries(oalaunchStatuses)) {
if (!state.done) openGates.push({ gate: id, reason: "OALAUNCH1 本轮合同/脚本/事实源/门禁尚未全部回填 DONE", state });
}
for (const [id, state] of Object.entries(opolicyStatuses)) {
if (!state.done) openGates.push({ gate: id, reason: "OPOLICY1 制度与 OA 对齐证据尚未全量收口", state });
}
if (!policyEvidence?.exists) openGates.push({ gate: "OPOLICY1_POLICY_EVIDENCE", reason: "缺制度边界和资料留存证据;可用 OALAUNCH_POLICY_EVIDENCE 指定脱敏证据路径" });
if (!assetDone) openGates.push({ gate: "ASSET1D", reason: "资产台账部署与试录未全量完成" });
if (!latestOaops) openGates.push({ gate: "OAOPS1_DAILY_REPORT", reason: "未找到 OAOPS1 每日巡检 summary.json" });
if (latestOaops && /BLOCKED|FAIL|ERROR/i.test(latestOaops.status)) findings.push({ source: "latest_oaops1_daily", severity: "blocker", status: latestOaops.status, reportRef: latestOaops.reportRef });
@@ -389,12 +398,15 @@ const summary = {
backupEvidence,
permissionEvidence,
businessEvidence,
policyEvidence,
stabilization,
},
issueStatus: {
oaopsRequired: oaopsStatuses,
oalaunchRequired,
oalaunchStatuses,
opolicyRequired,
opolicyStatuses,
assetDone,
},
gates: {
@@ -429,8 +441,12 @@ const summary = {
"image_ocr",
"complex_bpm",
"budget_control",
"complex_procurement",
"e_signature",
"full_e_archive",
"erp_write",
"bank_statement_import",
"ai_rule_writes",
"real_payment_provider",
"wecom_hr_deep_mirror",
"emergency_takeover",