oalaunch1-final-readiness-closeout 记录最终启用只读差距盘点
这个提交包含在:
@@ -0,0 +1,6 @@
|
||||
{"file": ".trellis/spec/hyb-oa/project-governance.md", "reason": "Check Trellis task metadata, approvals, commit and legacy Issue CSV boundaries."}
|
||||
{"file": ".trellis/spec/hyb-oa/docs-and-evidence.md", "reason": "Check evidence handling and documentation scope."}
|
||||
{"file": ".trellis/spec/hyb-oa/deployment-trialrun.md", "reason": "Check that readiness work did not cross deployment, public write or payment boundaries."}
|
||||
{"file": ".trellis/spec/hyb-oa/security-privacy.md", "reason": "Check privacy and sensitive-data exclusions in reports and task notes."}
|
||||
{"file": ".trellis/spec/hyb-oa/wecom-boundary.md", "reason": "Check Enterprise WeChat live/write actions remain out of scope."}
|
||||
{"file": ".trellis/tasks/05-26-oalaunch1-final-readiness-closeout/research/initial-readiness/summary.json", "reason": "Check extracted open gates against the generated readiness summary."}
|
||||
@@ -0,0 +1,6 @@
|
||||
{"file": ".trellis/spec/hyb-oa/project-governance.md", "reason": "Trellis task contract, approval boundaries and legacy Issue CSV treatment for OALAUNCH1 closeout."}
|
||||
{"file": ".trellis/spec/hyb-oa/docs-and-evidence.md", "reason": "Rules for storing generated evidence and updating current Trellis task instead of creating unnecessary docs."}
|
||||
{"file": ".trellis/spec/hyb-oa/deployment-trialrun.md", "reason": "Public OA, deployment, real data write and payment boundaries for readiness validation."}
|
||||
{"file": ".trellis/spec/hyb-oa/security-privacy.md", "reason": "Sensitive data exclusion rules for reports, task notes and chat summaries."}
|
||||
{"file": ".trellis/spec/hyb-oa/wecom-boundary.md", "reason": "Enterprise WeChat write/live-trial boundaries that remain out of scope for OALAUNCH1."}
|
||||
{"file": ".trellis/tasks/05-26-oalaunch1-final-readiness-closeout/research/initial-readiness/summary.json", "reason": "Initial read-only readiness report used to derive current blocking gates."}
|
||||
@@ -0,0 +1,40 @@
|
||||
# OALAUNCH1 Closeout Implementation Notes
|
||||
|
||||
## Approved Plan
|
||||
|
||||
The user approved the read-only implementation plan on 2026-05-26.
|
||||
|
||||
Planned work:
|
||||
|
||||
1. Run shell syntax checks for OALAUNCH1 and OAOPS1 readiness scripts.
|
||||
2. Run OALAUNCH1 readiness aggregation in default read-only mode.
|
||||
3. Store the generated report under this Trellis task.
|
||||
4. Extract open gates into a concise gap list.
|
||||
5. Run Trellis governance, docs registry and diff checks.
|
||||
|
||||
## Execution
|
||||
|
||||
- Activated task with `task.py start 05-26-oalaunch1-final-readiness-closeout`.
|
||||
- Loaded `trellis-before-dev` and relevant `.trellis/spec/hyb-oa/` rules.
|
||||
- Ran syntax checks for:
|
||||
- `scripts/qa/run-oa-final-launch-readiness.sh`
|
||||
- `scripts/qa/run-oa-real-use-daily.sh`
|
||||
- Ran the final readiness aggregation with:
|
||||
- `OALAUNCH_REPORT_DIR=.trellis/tasks/05-26-oalaunch1-final-readiness-closeout/research/initial-readiness bash scripts/qa/run-oa-final-launch-readiness.sh`
|
||||
|
||||
## Result
|
||||
|
||||
The initial readiness run concluded `PAUSED_MANUAL_CONFIRMATION`.
|
||||
|
||||
No business script change was required in this pass. The blocker is missing manual evidence and Day 7 decision data, not an executable-code defect.
|
||||
|
||||
See `info.md` for the current gap list.
|
||||
|
||||
## Spec Update Decision
|
||||
|
||||
No `.trellis/spec/` update is needed for this task. The run confirmed existing project rules rather than discovering a new reusable contract:
|
||||
|
||||
- Trellis task remains the execution contract.
|
||||
- Historical Issue CSV files remain audit inputs only.
|
||||
- Readiness reports store status, counts and paths only, without raw sensitive business content.
|
||||
- Public deployment, real writes, payment actions, Enterprise WeChat writes and database restore remain separately approved operations.
|
||||
@@ -0,0 +1,60 @@
|
||||
# OALAUNCH1 Readiness Execution Notes
|
||||
|
||||
## 2026-05-26 Initial Read-Only Run
|
||||
|
||||
Commands run:
|
||||
|
||||
- `bash -n scripts/qa/run-oa-final-launch-readiness.sh`
|
||||
- `bash -n scripts/qa/run-oa-real-use-daily.sh`
|
||||
- `OALAUNCH_REPORT_DIR=.trellis/tasks/05-26-oalaunch1-final-readiness-closeout/research/initial-readiness bash scripts/qa/run-oa-final-launch-readiness.sh`
|
||||
|
||||
Result:
|
||||
|
||||
- Shell syntax checks passed.
|
||||
- Readiness report privacy smoke passed.
|
||||
- Report: `.trellis/tasks/05-26-oalaunch1-final-readiness-closeout/research/initial-readiness/summary.json`
|
||||
- Current conclusion: `PAUSED_MANUAL_CONFIRMATION`
|
||||
- Open gate count: 13
|
||||
- Finding count: 0
|
||||
|
||||
This run did not enable `OALAUNCH_RUN_OAOPS1_DAILY`, did not execute deployment, did not write public OA business data, did not write Enterprise WeChat, did not execute payments and did not perform database restore.
|
||||
|
||||
## Current Blocking Gates
|
||||
|
||||
| Gate | Current State | Blocks `PASS_OA_LAUNCH_READY` | Next Action |
|
||||
| --- | --- | --- | --- |
|
||||
| `OAOPS1-3` | Historical OAOPS1 audit row still `TODO/TODO/TODO` | Yes | Complete or attach脱敏真实业务闭环 evidence; otherwise keep launch paused |
|
||||
| `OAOPS1-4` | Historical OAOPS1 audit row still `TODO/TODO/TODO` | Yes | Complete or attach daily real-use stabilization evidence |
|
||||
| `OAOPS1-5` | Historical OAOPS1 audit row still `TODO/TODO/TODO` | Yes | Complete or attach permissions/audit evidence from real use |
|
||||
| `OAOPS1-6` | Historical OAOPS1 audit row still `TODO/TODO/TODO` | Yes | Complete or attach operations handoff evidence |
|
||||
| `OALAUNCH1-3` | Historical OALAUNCH1 audit row still `TODO/TODO/TODO` | Yes | Backfill launch-readiness evidence after manual work is complete |
|
||||
| `OALAUNCH1-4` | Historical OALAUNCH1 audit row still `TODO/TODO/TODO` | Yes | Backfill permission matrix / negative permission evidence |
|
||||
| `OALAUNCH1-6` | Historical OALAUNCH1 audit row still `TODO/TODO/TODO` | Yes | Backfill backup restore drill evidence |
|
||||
| `OALAUNCH1-7` | Historical OALAUNCH1 audit row still `TODO/TODO/TODO` | Yes | Backfill Day 7 Go/No-Go and operations acceptance evidence |
|
||||
| `SEVEN_DAY_STABILIZATION` | Missing `OALAUNCH_STABILIZATION_START_DATE` | Yes | Provide the 7-day window start date and ensure seven consecutive daily summaries exist |
|
||||
| `BACKUP_RESTORE_DRILL` | Missing脱敏 backup/restore evidence path | Yes | Perform approved non-production restore drill and pass `OALAUNCH_BACKUP_EVIDENCE` |
|
||||
| `PERMISSION_MATRIX` | Missing final permission matrix evidence path | Yes | Produce role/negative-permission evidence and pass `OALAUNCH_PERMISSION_EVIDENCE` |
|
||||
| `BUSINESS_ACCEPTANCE_EVIDENCE` | Missing real business loop evidence path | Yes | Produce脱敏 real business closure summary and pass `OALAUNCH_BUSINESS_EVIDENCE` |
|
||||
| `DAY7_GO_NO_GO` | Missing manual launch decision | Yes | After evidence is complete, set `OALAUNCH_MANUAL_ACCEPT=PASS_OA_LAUNCH_READY` or `PASS_WITH_FINDINGS` |
|
||||
|
||||
## Separate Approval Required
|
||||
|
||||
The following actions are not authorized by this task alone:
|
||||
|
||||
- Public deployment or production config changes.
|
||||
- Public OA real business writes or automatic test data creation.
|
||||
- Enterprise WeChat writes, template creation, approval creation or real-user trial.
|
||||
- Real payment actions, payment-provider integration, ERP writes or bank-statement import.
|
||||
- Production database reset, migration drift, restore drill against the public production database.
|
||||
|
||||
## Current Recommendation
|
||||
|
||||
Do not announce final launch readiness yet. The next business step is to gather the missing manual evidence in this order:
|
||||
|
||||
1. Finish/identify the OAOPS1 seven-day real-use window and daily summaries.
|
||||
2. Produce脱敏 real business loop evidence for reimbursement/PDF OCR/approval/payment/AP, procurement/expense/project or contract, and contract registry/archive/permission checks.
|
||||
3. Produce permission matrix evidence with negative cases.
|
||||
4. Complete a controlled backup restore drill outside the public production database and record RTO/RPO/owner.
|
||||
5. Record OPOLICY1/data-governance/training acceptance and Day 7 Go/No-Go.
|
||||
|
||||
Only after those are available should the readiness script be re-run with the relevant `OALAUNCH_*_EVIDENCE`, `OALAUNCH_STABILIZATION_START_DATE` and `OALAUNCH_MANUAL_ACCEPT` environment variables.
|
||||
@@ -0,0 +1,104 @@
|
||||
# OALAUNCH1 final launch readiness closeout
|
||||
|
||||
## Goal
|
||||
|
||||
把 OALAUNCH1 最终启用门禁从历史 Issue CSV 口径过渡到当前 Trellis task 执行合同:先做只读差距盘点和证据清单,明确哪些条件已经满足、哪些仍阻断 `PASS_OA_LAUNCH_READY`,再决定是否需要补脚本、补文档或补人工证据。
|
||||
|
||||
本任务不直接宣布正式启用完成。只有 `scripts/qa/run-oa-final-launch-readiness.sh` 聚合证据后输出 `PASS_OA_LAUNCH_READY`,且 Day 7 人工 Go/No-Go 接受,才能进入小团队正式启用。
|
||||
|
||||
## Scope
|
||||
|
||||
本任务范围限定为 OALAUNCH1 最终启用前的只读收口:
|
||||
|
||||
- 读取现有事实源、Trellis spec、历史审计 CSV 和只读 QA 报告。
|
||||
- 运行本地只读脚本语法检查和 OALAUNCH1 汇总脚本。
|
||||
- 把当前阻断门禁、证据缺口和后续动作记录到当前 Trellis task。
|
||||
- 仅在必要时做脚本或文档的最小治理修正。
|
||||
|
||||
## What I Already Know
|
||||
|
||||
- 当前没有活动 Trellis task;本任务从 Phase 1 planning 开始。
|
||||
- TRELLIS2 后,新任务以 `.trellis/tasks/<task>/` 为执行合同;历史 `issues/*.csv` 只作为审计证据和脚本兼容输入,不再作为新开发的默认前置合同。
|
||||
- OALAUNCH1 是 OAOPS1/ASSET1D/OSMOKE1 之后的最终启用 Go/No-Go 门禁。
|
||||
- OALAUNCH1 的硬条件包括真实业务闭环、连续 7 天稳定化、权限矩阵、备份恢复演练、数据治理培训、运营支持和 Day 7 人工决策。
|
||||
- 现有 `scripts/qa/run-oa-final-launch-readiness.sh` 默认只读:不创建业务数据、不执行付款、不写企业微信、不做数据库恢复。
|
||||
- 现有最终启用脚本仍读取历史 OAOPS1/OALAUNCH1/OPOLICY1/ASSET1D CSV 状态,并允许通过环境变量指定脱敏证据路径。
|
||||
- OAOPS1 每日巡检脚本 `scripts/qa/run-oa-real-use-daily.sh` 默认只读,真实业务写入由人工在公网 OA 内完成。
|
||||
- WREAL1/企业微信真实小范围试用不是当前主线;当前只按 OALAUNCH1 收口 OA 主办域。
|
||||
|
||||
## Assumptions
|
||||
|
||||
- 这轮先做只读差距盘点、证据映射和必要的脚本/文档小修,不执行部署、不写公网数据、不写企业微信、不执行付款、不重置或恢复生产数据库。
|
||||
- 如果发现需要公网只读巡检、备份恢复演练或真实业务补录,会先列为人工/单独批准事项,不在本任务里静默执行。
|
||||
- 如果最终脚本仍因人工证据缺失输出 `PAUSED_MANUAL_CONFIRMATION`,这不是失败,而是当前真实状态。
|
||||
|
||||
## Requirements
|
||||
|
||||
- 梳理 OALAUNCH1 当前门禁状态,覆盖:
|
||||
- OAOPS1 真实业务闭环和每日巡检证据。
|
||||
- ASSET1D 资产台账部署、试录和脱敏导入证据。
|
||||
- OSMOKE1 OA-only smoke 账号治理边界。
|
||||
- OPOLICY1 制度参数、资料留存、用印台账、审批异常 SOP、制度签收和 P2 冻结证据。
|
||||
- OAFLOW1 负责人本人报销兜底审批边界。
|
||||
- OMAT1/OAKISS1/PCDESIGN1 中已采纳或待决策但影响 OALAUNCH1 的建议。
|
||||
- 形成一份当前任务内的缺口清单,至少包含每个缺口的:
|
||||
- 门禁名称。
|
||||
- 当前证据来源。
|
||||
- 是否阻断 `PASS_OA_LAUNCH_READY`。
|
||||
- 下一步动作类型:只读验证、人工证据、另建修复 task、另行批准操作。
|
||||
- 复核现有最终启用脚本是否仍符合 Trellis-only 治理:
|
||||
- 不把历史 Issue CSV 作为新任务合同。
|
||||
- 可解释地读取历史 CSV 作为审计证据。
|
||||
- 输出中不泄露 Secret、token、完整账号、完整本地路径、合同正文、银行资料或原始 payload。
|
||||
- 如需修改脚本或文档,保持范围最小,只做 OALAUNCH1 收口必要改动。
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- [ ] 当前任务记录 OALAUNCH1 的硬门禁、证据来源和阻断状态。
|
||||
- [ ] 明确列出不能宣布 `PASS_OA_LAUNCH_READY` 的所有当前缺口。
|
||||
- [ ] 明确哪些动作需要用户另行批准,例如公网巡检、生产配置、真实业务写入、备份恢复演练、企业微信写入或真实付款。
|
||||
- [ ] 若修改脚本,脚本仍默认只读,且不会执行业务写入、付款、企业微信写入或数据库恢复。
|
||||
- [ ] 若修改文档,优先更新现有事实源或当前 Trellis task,不新增不必要文档。
|
||||
- [ ] 验证命令完成并记录结果;若最终 readiness 只能到 `PAUSED_MANUAL_CONFIRMATION`,原因必须清楚。
|
||||
|
||||
## Definition Of Done
|
||||
|
||||
- 当前 Trellis task 的 PRD 和必要执行记录完整。
|
||||
- 用户确认实施方案后才进入 Phase 2。
|
||||
- 相关脚本或文档改动通过质量门禁。
|
||||
- 不把未脱敏业务数据、Secret、完整账号、合同正文、银行资料、完整本地路径或原始 payload 写入仓库、任务或聊天。
|
||||
- 任务结束前判断是否需要更新 `.trellis/spec/`,并按 Trellis finish 流程提交/归档。
|
||||
|
||||
## Out Of Scope
|
||||
|
||||
- 不部署。
|
||||
- 不写公网业务数据。
|
||||
- 不创建、审批或付款真实单据。
|
||||
- 不写企业微信。
|
||||
- 不做生产数据库恢复、重置或迁移。
|
||||
- 不启用 WREAL1 真实员工试用。
|
||||
- 不推进企微深度镜像、应急接管、恢复回写或 RuleOps。
|
||||
- 不做 P2 冻结功能:图片 OCR、复杂 BPM、预算、复杂招采、电子签章、完整电子档案系统、ERP/银行深集成、AI 自动改规则。
|
||||
|
||||
## Test Plan
|
||||
|
||||
- `bash -n scripts/qa/run-oa-final-launch-readiness.sh`
|
||||
- `bash -n scripts/qa/run-oa-real-use-daily.sh`
|
||||
- `bash scripts/qa/run-oa-final-launch-readiness.sh`,默认只读,预期可能是 `PAUSED_MANUAL_CONFIRMATION`。
|
||||
- `node scripts/qa/check-trellis-governance.mjs`
|
||||
- `node scripts/qa/audit-docs.mjs --check-registry`
|
||||
- `git diff --check`
|
||||
|
||||
如果后续代码改动触及前后端:
|
||||
|
||||
- Backend: `cd server && npm run prisma:validate`,必要时补充 focused `node --check` 或 Vitest。
|
||||
- Frontend: `cd client && npm run typecheck && npm run build`。
|
||||
|
||||
## Technical Notes
|
||||
|
||||
- 文档读取入口:`docs/文档索引.md`。
|
||||
- 状态矩阵:`docs/文档事实源状态矩阵.md`,其中 OALAUNCH1 当前事实说明未达到 `PASS_OA_LAUNCH_READY` 前不得宣布最终正式启用完成。
|
||||
- 管理员手册:`docs/管理员手册.md` 的 OAOPS1/OALAUNCH1/OPOLICY1 小节定义人工动作、门禁和证据变量。
|
||||
- 最终启用脚本:`scripts/qa/run-oa-final-launch-readiness.sh`。
|
||||
- 每日真实使用只读巡检:`scripts/qa/run-oa-real-use-daily.sh`。
|
||||
- 相关 Trellis spec:`.trellis/spec/hyb-oa/`,尤其是 `project-governance.md`、`docs-and-evidence.md`、`deployment-trialrun.md`、`security-privacy.md`、`wecom-boundary.md`。
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
# OALAUNCH1 最终启用人工门禁
|
||||
|
||||
## Day 7 Go/No-Go
|
||||
- A:接受 `PASS_OA_LAUNCH_READY`,进入小团队正式启用。
|
||||
- B:接受 `PASS_WITH_FINDINGS`,但必须指定 owner、处理日期和接受理由。
|
||||
- C:暂停启用,先整改。
|
||||
|
||||
## 阻断处理
|
||||
- A:当天新建修复合同并修复。
|
||||
- B:临时人工绕行,记录风险、补录责任人和补录方式。
|
||||
- C:暂停对应流程。
|
||||
|
||||
## 备份恢复演练
|
||||
- A:接受恢复演练结果,进入 Go/No-Go。
|
||||
- B:修复后重跑恢复演练。
|
||||
- C:暂停正式启用。
|
||||
|
||||
## 必须补齐的业务证据
|
||||
- 至少 1 条真实报销 PDF OCR -> 审批 -> 付款批次 -> 银行回单 -> 已付款 -> AP 导出。
|
||||
- 至少 1 条采购/费用审批并关联项目或合同。
|
||||
- 至少 1 条合同台账含归档位置和权限检查。
|
||||
- 资产台账 ASSET1D 已完成后,补真实资产责任人或保管人抽查。
|
||||
+400
@@ -0,0 +1,400 @@
|
||||
{
|
||||
"issueId": "OALAUNCH1",
|
||||
"mode": "oa-final-launch-readiness",
|
||||
"status": "PAUSED_MANUAL_CONFIRMATION",
|
||||
"conclusion": "PAUSED_MANUAL_CONFIRMATION",
|
||||
"baseURL": "https://oa.hyinda.com",
|
||||
"commit": "e10fb4a",
|
||||
"checkedAt": "2026-05-26T05:19:31.444Z",
|
||||
"reportRef": ".trellis/tasks/05-26-oalaunch1-final-readiness-closeout/research/initial-readiness",
|
||||
"scope": {
|
||||
"launchScope": "P0 + light P1",
|
||||
"stabilizationDaysRequired": 7,
|
||||
"smallTeamFormalUse": true,
|
||||
"wecomHrAttendanceStatus": "frozen_at_wecom_owned_oa_archive_audit"
|
||||
},
|
||||
"evidence": {
|
||||
"latestOaops": {
|
||||
"name": "oa-real-use-daily-20260525-205848",
|
||||
"reportRef": "artifacts/qa-flow/oa-real-use-daily-20260525-205848/summary.json",
|
||||
"status": "PASS_OA_REAL_USE_DAILY_READY",
|
||||
"findingCount": 0
|
||||
},
|
||||
"latestAssetTrial": {
|
||||
"name": "asset1d-public-trial-20260523-155346",
|
||||
"reportRef": "artifacts/qa-flow/asset1d-public-trial-20260523-155346/summary.json",
|
||||
"status": "PASS_ASSET_UI_TRIAL_READY",
|
||||
"findingCount": 0
|
||||
},
|
||||
"latestAssetImport": {
|
||||
"name": "asset-redacted-index-import-live-20260523-162358",
|
||||
"reportRef": "artifacts/qa-flow/asset-redacted-index-import-live-20260523-162358/summary.json",
|
||||
"status": "PASS_EA_DOC_IMPORT_READY",
|
||||
"findingCount": 0
|
||||
},
|
||||
"backupEvidence": null,
|
||||
"permissionEvidence": null,
|
||||
"businessEvidence": null,
|
||||
"policyEvidence": {
|
||||
"provided": true,
|
||||
"exists": true,
|
||||
"ref": "issues/2026-05-24_01-20-52-oa-policy-system-alignment-v1.csv"
|
||||
},
|
||||
"stabilization": {
|
||||
"status": "MISSING_START_DATE",
|
||||
"startDay": null,
|
||||
"requiredDays": [],
|
||||
"observedDays": [
|
||||
"20260522",
|
||||
"20260523",
|
||||
"20260524",
|
||||
"20260525"
|
||||
],
|
||||
"dayReports": {}
|
||||
}
|
||||
},
|
||||
"issueStatus": {
|
||||
"oaopsRequired": {
|
||||
"OAOPS1-3": {
|
||||
"title": "报销 PDF OCR 与付款闭环真实使用门禁",
|
||||
"dev": "TODO",
|
||||
"review": "TODO",
|
||||
"regression": "TODO",
|
||||
"done": false
|
||||
},
|
||||
"OAOPS1-4": {
|
||||
"title": "采购费用与项目关联真实使用门禁",
|
||||
"dev": "TODO",
|
||||
"review": "TODO",
|
||||
"regression": "TODO",
|
||||
"done": false
|
||||
},
|
||||
"OAOPS1-5": {
|
||||
"title": "合同台账与合同归档真实使用门禁",
|
||||
"dev": "TODO",
|
||||
"review": "TODO",
|
||||
"regression": "TODO",
|
||||
"done": false
|
||||
},
|
||||
"OAOPS1-6": {
|
||||
"title": "每日问题登记与阻断即修机制",
|
||||
"dev": "TODO",
|
||||
"review": "TODO",
|
||||
"regression": "TODO",
|
||||
"done": false
|
||||
}
|
||||
},
|
||||
"oalaunchRequired": [
|
||||
"OALAUNCH1-0",
|
||||
"OALAUNCH1-1",
|
||||
"OALAUNCH1-2",
|
||||
"OALAUNCH1-3",
|
||||
"OALAUNCH1-4",
|
||||
"OALAUNCH1-5",
|
||||
"OALAUNCH1-6",
|
||||
"OALAUNCH1-7",
|
||||
"OALAUNCH1-8"
|
||||
],
|
||||
"oalaunchStatuses": {
|
||||
"OALAUNCH1-0": {
|
||||
"title": "建立最终启用 Go/No-Go 合同",
|
||||
"dev": "DONE",
|
||||
"review": "DONE",
|
||||
"regression": "DONE",
|
||||
"done": true
|
||||
},
|
||||
"OALAUNCH1-1": {
|
||||
"title": "新增最终启用证据汇总脚本",
|
||||
"dev": "DONE",
|
||||
"review": "DONE",
|
||||
"regression": "DONE",
|
||||
"done": true
|
||||
},
|
||||
"OALAUNCH1-2": {
|
||||
"title": "回写最终启用事实源和操作清单",
|
||||
"dev": "DONE",
|
||||
"review": "DONE",
|
||||
"regression": "DONE",
|
||||
"done": true
|
||||
},
|
||||
"OALAUNCH1-3": {
|
||||
"title": "OAOPS1 真实业务闭环收口门禁",
|
||||
"dev": "TODO",
|
||||
"review": "TODO",
|
||||
"regression": "TODO",
|
||||
"done": false
|
||||
},
|
||||
"OALAUNCH1-4": {
|
||||
"title": "7 天稳定化与每日巡检门禁",
|
||||
"dev": "TODO",
|
||||
"review": "TODO",
|
||||
"regression": "TODO",
|
||||
"done": false
|
||||
},
|
||||
"OALAUNCH1-5": {
|
||||
"title": "权限矩阵最终验收",
|
||||
"dev": "DONE",
|
||||
"review": "DONE",
|
||||
"regression": "DONE",
|
||||
"done": true
|
||||
},
|
||||
"OALAUNCH1-6": {
|
||||
"title": "备份恢复演练门禁",
|
||||
"dev": "TODO",
|
||||
"review": "TODO",
|
||||
"regression": "TODO",
|
||||
"done": false
|
||||
},
|
||||
"OALAUNCH1-7": {
|
||||
"title": "数据治理培训与运营支持门禁",
|
||||
"dev": "TODO",
|
||||
"review": "TODO",
|
||||
"regression": "TODO",
|
||||
"done": false
|
||||
},
|
||||
"OALAUNCH1-8": {
|
||||
"title": "OALAUNCH1 本地门禁与收口",
|
||||
"dev": "DONE",
|
||||
"review": "DONE",
|
||||
"regression": "DONE",
|
||||
"done": true
|
||||
}
|
||||
},
|
||||
"opolicyRequired": [
|
||||
"OPOLICY1-0",
|
||||
"OPOLICY1-1",
|
||||
"OPOLICY1-2",
|
||||
"OPOLICY1-3",
|
||||
"OPOLICY1-4",
|
||||
"OPOLICY1-5",
|
||||
"OPOLICY1-6",
|
||||
"OPOLICY1-7"
|
||||
],
|
||||
"opolicyStatuses": {
|
||||
"OPOLICY1-0": {
|
||||
"title": "建立制度与 OA 启用门禁对齐合同",
|
||||
"dev": "DONE",
|
||||
"review": "DONE",
|
||||
"regression": "DONE",
|
||||
"done": true
|
||||
},
|
||||
"OPOLICY1-1": {
|
||||
"title": "审视制度合理性和小团队裁剪口径",
|
||||
"dev": "DONE",
|
||||
"review": "DONE",
|
||||
"regression": "DONE",
|
||||
"done": true
|
||||
},
|
||||
"OPOLICY1-2": {
|
||||
"title": "调整制度包为小团队 V1 试运行口径",
|
||||
"dev": "DONE",
|
||||
"review": "DONE",
|
||||
"regression": "DONE",
|
||||
"done": true
|
||||
},
|
||||
"OPOLICY1-3": {
|
||||
"title": "回写 hyb-oa 事实源和员工/管理员口径",
|
||||
"dev": "DONE",
|
||||
"review": "DONE",
|
||||
"regression": "DONE",
|
||||
"done": true
|
||||
},
|
||||
"OPOLICY1-4": {
|
||||
"title": "制度参数和人工问答门禁清单",
|
||||
"dev": "DONE",
|
||||
"review": "DONE",
|
||||
"regression": "DONE",
|
||||
"done": true
|
||||
},
|
||||
"OPOLICY1-5": {
|
||||
"title": "评估 OA 必要小改范围",
|
||||
"dev": "DONE",
|
||||
"review": "DONE",
|
||||
"regression": "DONE",
|
||||
"done": true
|
||||
},
|
||||
"OPOLICY1-6": {
|
||||
"title": "OALAUNCH1 数据治理证据接入",
|
||||
"dev": "DONE",
|
||||
"review": "DONE",
|
||||
"regression": "DONE",
|
||||
"done": true
|
||||
},
|
||||
"OPOLICY1-7": {
|
||||
"title": "本地门禁与文档审计",
|
||||
"dev": "DONE",
|
||||
"review": "DONE",
|
||||
"regression": "DONE",
|
||||
"done": true
|
||||
}
|
||||
},
|
||||
"assetDone": true
|
||||
},
|
||||
"gates": {
|
||||
"openCount": 13,
|
||||
"openGates": [
|
||||
{
|
||||
"gate": "OAOPS1-3",
|
||||
"reason": "OAOPS1 真实业务闭环仍未完成",
|
||||
"state": {
|
||||
"title": "报销 PDF OCR 与付款闭环真实使用门禁",
|
||||
"dev": "TODO",
|
||||
"review": "TODO",
|
||||
"regression": "TODO",
|
||||
"done": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"gate": "OAOPS1-4",
|
||||
"reason": "OAOPS1 真实业务闭环仍未完成",
|
||||
"state": {
|
||||
"title": "采购费用与项目关联真实使用门禁",
|
||||
"dev": "TODO",
|
||||
"review": "TODO",
|
||||
"regression": "TODO",
|
||||
"done": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"gate": "OAOPS1-5",
|
||||
"reason": "OAOPS1 真实业务闭环仍未完成",
|
||||
"state": {
|
||||
"title": "合同台账与合同归档真实使用门禁",
|
||||
"dev": "TODO",
|
||||
"review": "TODO",
|
||||
"regression": "TODO",
|
||||
"done": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"gate": "OAOPS1-6",
|
||||
"reason": "OAOPS1 真实业务闭环仍未完成",
|
||||
"state": {
|
||||
"title": "每日问题登记与阻断即修机制",
|
||||
"dev": "TODO",
|
||||
"review": "TODO",
|
||||
"regression": "TODO",
|
||||
"done": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"gate": "OALAUNCH1-3",
|
||||
"reason": "OALAUNCH1 本轮合同/脚本/事实源/门禁尚未全部回填 DONE",
|
||||
"state": {
|
||||
"title": "OAOPS1 真实业务闭环收口门禁",
|
||||
"dev": "TODO",
|
||||
"review": "TODO",
|
||||
"regression": "TODO",
|
||||
"done": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"gate": "OALAUNCH1-4",
|
||||
"reason": "OALAUNCH1 本轮合同/脚本/事实源/门禁尚未全部回填 DONE",
|
||||
"state": {
|
||||
"title": "7 天稳定化与每日巡检门禁",
|
||||
"dev": "TODO",
|
||||
"review": "TODO",
|
||||
"regression": "TODO",
|
||||
"done": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"gate": "OALAUNCH1-6",
|
||||
"reason": "OALAUNCH1 本轮合同/脚本/事实源/门禁尚未全部回填 DONE",
|
||||
"state": {
|
||||
"title": "备份恢复演练门禁",
|
||||
"dev": "TODO",
|
||||
"review": "TODO",
|
||||
"regression": "TODO",
|
||||
"done": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"gate": "OALAUNCH1-7",
|
||||
"reason": "OALAUNCH1 本轮合同/脚本/事实源/门禁尚未全部回填 DONE",
|
||||
"state": {
|
||||
"title": "数据治理培训与运营支持门禁",
|
||||
"dev": "TODO",
|
||||
"review": "TODO",
|
||||
"regression": "TODO",
|
||||
"done": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"gate": "SEVEN_DAY_STABILIZATION",
|
||||
"reason": "缺 7 天稳定化起始日期;设置 OALAUNCH_STABILIZATION_START_DATE=YYYY-MM-DD 后按连续 7 天检查",
|
||||
"stabilization": {
|
||||
"status": "MISSING_START_DATE",
|
||||
"startDay": null,
|
||||
"requiredDays": [],
|
||||
"observedDays": [
|
||||
"20260522",
|
||||
"20260523",
|
||||
"20260524",
|
||||
"20260525"
|
||||
],
|
||||
"dayReports": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"gate": "BACKUP_RESTORE_DRILL",
|
||||
"reason": "缺备份恢复演练或影子库恢复证据;可用 OALAUNCH_BACKUP_EVIDENCE 指定脱敏证据路径"
|
||||
},
|
||||
{
|
||||
"gate": "PERMISSION_MATRIX",
|
||||
"reason": "缺最终权限矩阵负例/角色入口证据;可用 OALAUNCH_PERMISSION_EVIDENCE 指定脱敏证据路径"
|
||||
},
|
||||
{
|
||||
"gate": "BUSINESS_ACCEPTANCE_EVIDENCE",
|
||||
"reason": "缺真实业务闭环证据;可用 OALAUNCH_BUSINESS_EVIDENCE 指定脱敏证据路径"
|
||||
},
|
||||
{
|
||||
"gate": "DAY7_GO_NO_GO",
|
||||
"reason": "缺 Day 7 人工 Go/No-Go 接受结论;可用 OALAUNCH_MANUAL_ACCEPT=PASS_OA_LAUNCH_READY 或 PASS_WITH_FINDINGS 指定"
|
||||
}
|
||||
],
|
||||
"findings": []
|
||||
},
|
||||
"manualGates": {
|
||||
"day7GoNoGo": [
|
||||
"A:接受 PASS_OA_LAUNCH_READY,进入小团队正式启用。",
|
||||
"B:接受 PASS_WITH_FINDINGS,但指定 owner 和完成日期后启用。",
|
||||
"C:暂停启用,先整改。"
|
||||
],
|
||||
"blockerHandling": [
|
||||
"A:当天新建修复合同并修复。",
|
||||
"B:临时人工绕行,记录风险。",
|
||||
"C:暂停对应流程。"
|
||||
],
|
||||
"backupDrill": [
|
||||
"A:接受恢复演练结果,进入 Go/No-Go。",
|
||||
"B:修复后重跑恢复演练。",
|
||||
"C:暂停正式启用。"
|
||||
]
|
||||
},
|
||||
"boundaries": {
|
||||
"defaultReadOnly": true,
|
||||
"noBusinessWritesByThisScript": true,
|
||||
"noWeComWrites": true,
|
||||
"noPaymentExecution": true,
|
||||
"noDbResetOrRestore": true,
|
||||
"frozenItems": [
|
||||
"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",
|
||||
"recovery_writeback",
|
||||
"ruleops"
|
||||
]
|
||||
},
|
||||
"privacy": "Report keeps paths/status/counts only; no passwords, tokens, Secrets, full accounts, contract bodies, bank statements, raw invoice images, or raw payloads."
|
||||
}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
[oalaunch1] mode=oa-final-launch-readiness
|
||||
[oalaunch1] default=no live writes, no business writes, no DB restore
|
||||
[oalaunch1][SKIP] oaops1-daily-readonly:默认不跑公网巡检;需要时设置 OALAUNCH_RUN_OAOPS1_DAILY=1
|
||||
[oalaunch1][PASS] report-privacy-smoke
|
||||
[oalaunch1][PASS] report-privacy-smoke
|
||||
[oalaunch1] report=.trellis/tasks/05-26-oalaunch1-final-readiness-closeout/research/initial-readiness
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"id": "oalaunch1-final-readiness-closeout",
|
||||
"name": "oalaunch1-final-readiness-closeout",
|
||||
"title": "OALAUNCH1 final launch readiness closeout",
|
||||
"description": "OALAUNCH1 final launch readiness read-only closeout: summarize current gates, evidence gaps and next approved actions before final Go/No-Go.",
|
||||
"status": "in_progress",
|
||||
"dev_type": null,
|
||||
"scope": "docs-evidence-readiness",
|
||||
"package": null,
|
||||
"priority": "P2",
|
||||
"creator": "shunli",
|
||||
"assignee": "shunli",
|
||||
"createdAt": "2026-05-26",
|
||||
"completedAt": null,
|
||||
"branch": null,
|
||||
"base_branch": "main",
|
||||
"worktree_path": null,
|
||||
"commit": null,
|
||||
"pr_url": null,
|
||||
"subtasks": [],
|
||||
"children": [],
|
||||
"parent": null,
|
||||
"relatedFiles": [
|
||||
".trellis/tasks/05-26-oalaunch1-final-readiness-closeout/prd.md",
|
||||
".trellis/tasks/05-26-oalaunch1-final-readiness-closeout/info.md",
|
||||
"scripts/qa/run-oa-final-launch-readiness.sh",
|
||||
"scripts/qa/run-oa-real-use-daily.sh",
|
||||
"docs/文档索引.md",
|
||||
"docs/文档事实源状态矩阵.md",
|
||||
"docs/管理员手册.md"
|
||||
],
|
||||
"notes": "",
|
||||
"meta": {}
|
||||
}
|
||||
在新工单中引用
屏蔽一个用户