# hyb-oa 文档索引 **文档状态**:当前唯一文档入口。 **分类**:入口索引。 **适用时间**:TRELLIS2 及 2026-07-16 状态收口之后。 **关联治理**:当前 Trellis task;`GOV8` 只作历史治理来源。 **最近审计**:2026-07-16。 **不得误读**:本文只指示当前事实源和读取顺序;历史 Issue CSV 只能用于追溯,不直接生成新开发任务。 **治理口径**:中文优先,物理精简,优先复用已有文档。已确认不用的历史文档不放 `docs/archive/`,直接从当前工作树移除;需要时从 git 历史恢复。 ## 读取规则 - 判断当前需求、开发、验收:读当前 Trellis task、`.trellis/spec/hyb-oa/`、当前 PRD、模块规约和本索引。 - 判断历史证据:读轻量历史索引,必要时用 `git show :` 恢复旧文档。 - 判断冲突:当前 Trellis task PRD/设计 > 当前 PRD/模块规约 > 设计和产品规则 > 当前操作手册 > 技术参考 > 历史证据。 - 英文文件名只在技术生态或脚本强引用时保留,例如 `docs/mcp-tools.md`。 - 判断当前可执行任务:先读当前 Trellis task;旧 Issue CSV 只作历史审计证据。 - 新需求或试运行反馈:优先创建或更新当前同类型 Trellis task;只有跨业务域、跨风险等级或阶段收口后,才新建下一版 task。 - 新增说明、方案、审计或证据:优先补充现有事实源、模块规约、操作手册、证据文档或当前 Trellis task;只有现有文档无法承载、需要独立审计证据或用户明确要求时,才新建文档并登记本索引和事实源矩阵。 ## 当前可信基线(2026-07-16) - 最后有部署和公网复检证据的来源基线为 `df26922`;这是一条历史部署来源证据,未做当前公网只读检查时,不据此断言服务器此刻仍运行该提交。 - 当前本地 `main` 包含 7 月 P0 可信度修复和后续本地收口,尚未 push、部署或完成公网复检,不能视为线上已生效。 - 旧 OAOPS1 7 天真实试运行只有 Day 1–Day 4,后续中断,缺 Day 5–Day 7、现场人工业务闭环和 Day 7 Go/No-Go;归档只表示生命周期关闭,不代表目标完成。 - 下一轮真实连续试运行必须等待当前可信基线部署并完成公网复核,再新建 Trellis task,从新的 Day 1 连续启动。 ## 历史事实源链(截至 2026-05) 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 对齐 -> OAFRONT6 前端成熟化小步收口(标题/资产/移动/合同/长编号已部署并公网复测通过)-> OAKISS1 全业务流程 KISS 审查 -> PCDESIGN1 PC 全页面设计审查 -> TRELLIS1 Trellis 主导开发流程迁移 -> TRELLIS2 官方 Trellis task 执行合同 -> 后续再按需问答 WREAL1/最小镜像。 - R6、PC6、PA6、FL6、AP6、RI6、LP6 已完成并部署。 - ME6 自动化、公网视觉矩阵和 `ME6-3` 代表性企业微信真机门禁已完成。 - QG6 已完成 QA 治理升级。 - MIA7 已完成移动信息架构、视觉和流程审查;MIF7-1..7 与 MIF7T 已完成本地整改、公网部署、公网匿名复检和带凭据 live smoke/OCR 复检。 - DG8/DG9 是历史设计治理证据;2026-05-27 后前端视觉与交互裁决以 `frontend-design` 为准,`docs/产品设计规则.md` 只保留产品体验事实。 - R7E 阶段验收、P2 排序和 QAOPS8 上线硬化阶段收口已完成,当前 P0/P1 阻断为 0;后续 P2 功能开发必须另建或延续对应连续合同。 - FBA 是 R7E 后全端功能边界审计,只提供证据和后续候选草案,不启动 P2 功能开发。 - QAOPS9 是 R7E 后上线硬化连续合同,优先处理公网业务流测试数据、live smoke 账号链路、恢复演练 dry-run 和 SLO/Go-No-Go 自动化增强;隔离本地业务流可使用临时库和测试开关,公网证据必须保持 flag-off 或 SKIP 可解释;不部署、不执行生产恢复、不重置数据库、不打印远端 env。 - P2D 是 P2 功能决策合同,只决定组织主数据、付款批次、图片 OCR、UX8、审批通知和轻业务增强是否进入独立开发合同;统一使用 `GO_TO_CONTRACT`、`HOLD_FOR_PREREQ`、`FREEZE` 三类结论,不新增 API/schema、feature flag 或前端功能。 - P2-ORG 是 P2D 后第一个执行合同,已完成组织账号主数据只读巡检;当前连接数据源下高/中风险为 0,低风险观察项为 CEO/root 无直属主管 1 和 active 员工无企业微信绑定 8;本轮不需要写修复合同。 - P2-FIN-DECISION 已完成付款批次启用决策准备,结论为 `GO_TO_IMPLEMENT`:可进入单独 `P2-FIN-V1` 实现合同;当前仍不启用 `payment_batch_v1`、不写付款批次业务数据、不部署。 - P2-FIN-V1 已完成付款批次启用前本地/隔离硬化:后端 focused 回归、前端 typecheck/build、隔离付款批次闭环、权限直连审计和公网 readiness 均通过;本轮只硬化 E2E 断言,不新增 API/schema/feature flag/UI,不部署,公网 `payment_batch_v1` 继续关闭。 - P2-OCR-SAMPLE 已完成图片 OCR 样票治理和实现前置确认;P2AF 纠偏后当前口径为图片发票 OCR `FREEZE_BY_DEFAULT`,正式能力只维护 PDF-only OCR,图片仍按普通附件处理。 - P2Q 是 P2OCRS 后续任务队列合同:只锁定 `UX8`、`P2-FIN-LIVE`、审批通知、轻业务增强和持续上线门禁等启动条件;图片 OCR 不进入默认主线,只有用户明确重启评估才另建 provider 回归或实现合同。 - P2AUTO 是 P2Q 后自动化优先回归合同:后端 focused、前端构建、高风险确认、隔离核心业务流、隔离付款批次闭环、公网 readiness/PDF live OCR、公网移动矩阵和企业微信 UA/渲染自动化均已完成;PDF 样票和 live smoke 凭据可用,图片 OCR 默认冻结。 - P2AF 是 P2AUTO 后可自动实施收口合同:纠正图片 OCR 默认冻结口径,补 QA-only provider 决策语义、安全回归聚合、付款批次公网关闭态只读门禁和 UX8 自动矩阵扫尾;不部署、不启用公网付款批次、不开放图片 OCR。 - P2-FIN-LIVE-DECISION 是 P2AF 后付款批次公网启用窗口决策合同:公网 readiness 和 flag-off 只读门禁通过,初始结论为 `HOLD_FOR_WINDOW`;随后用户批准立即短窗口、现有 live smoke 测试账号和新建测试报销,已进入并完成 `P2-FIN-LIVE`。 - P2-FIN-LIVE 已按用户批准完成公网付款批次短窗口受控测试:使用 live smoke 测试账号新建专用测试报销,临时打开 `payment_batch_v1`,完成创建/复核/执行、AP 导出和审计核验后强制回到 `flag_force_off`;不部署、不接真实支付、不写 ERP 实时凭证,不开放图片 OCR。 - PRELAUNCH 是未正式使用前的正式启用准备合同:公网作为准生产预启用环境承载带 `PRELAUNCH` marker 的测试数据和自动化回归;公网 readiness、远端只读基线、隔离核心业务流、付款批次 PRELAUNCH 窗口、移动/企业微信自动化和 Go/No-Go 摘要已完成。最终 `payment_batch_v1=flag_force_off`,未部署、不接真实支付、不写 ERP 实时凭证、不开放图片 OCR;采购公网手工 live spec 长等待/退出码问题作为 QA 自动化稳定性维护项。 - CASHIER-VOUCHER-V1 是正式启用前财务闭环与代账交接第一轮实现合同:基于“无 ERP/独立财务系统、只有代账”的业务事实,将付款闭环固定为 OA 内审批/台账/付款批次 + 银行对公付款回单附件 + 月度代账交接;已新增批次级银行回单附件模型/API/PC 操作区、复核后补凭证和银行渠道执行前回单阻断,代码已由 `LAUNCH-DEPLOY-FINANCE` 部署到公网,不接真实支付、不写 ERP、不开放图片 OCR、不导入银行流水。 - LAUNCH-DEPLOY-FINANCE 是 CASHIER-VOUCHER-V1 后的部署与公网复检合同:先完成本地基础门禁、业务流、PC/移动/企业微信页面矩阵,再以 `SYNC_ENV=0` 部署到 `https://oa.hyinda.com`;新增银行回单附件 migration 已应用,公网 readiness、PDF live OCR、移动/企业微信矩阵和 CASHV 短窗口均通过,最终 `payment_batch_v1=flag_force_off`,正式常开仍需 `FIN-PROD-ENABLE`。 - FIN-PROD-ENABLE 是公网付款批次正式常开合同:未重新部署业务代码;新增 QA-only 正式启用 runner 后完成公网正式验收,测试报销 `BX-20260517-0026` 完成审批、付款批次创建/复核、无回单执行阻断、回单上传/下载、付款执行、AP 导出和审计核验;公网移动矩阵 6 passed、企业微信渲染矩阵 8 passed;最终 `payment_batch_v1=force_on`,`erp_sync=force_off`。 - ACCOUNTING-HANDOFF-V1 是月度代账交接 SOP 合同:公司无 ERP/独立财务系统,OA 侧交接资料固定为 AP 台账、报销导出、票据中心导出、付款批次/回单附件清单和审计日志;银行侧流水和回单原件由出纳从银行渠道导出交给代账人工核对,不导入 OA,不开发一键 zip 包。 - SYSTEM-COMPLETE-GATE 是系统开发完成收口合同:公网 readiness、live smoke、PDF live OCR、正式 flag 状态、FINPROD/ACCTH 证据、移动/企业微信矩阵和文档事实源均通过;结论 `GO_TO_USE`,系统按首批正式能力可交付使用。 - LAUNCH-OPS-V1 是正式使用首周运营保障合同:固定 `wangshunli` 为上线拍板、管理员复核和回滚决策人,`wangzhiling` 为出纳/付款执行和代账资料准备人;首周问题登记、每日巡检、暂停条件、代账交接节奏和可选功能冻结口径已回写现有手册。 - REQ-COMPLETE-AUDIT 是系统完成门禁后的需求完成度复核合同:确认首批正式能力仍为报销、PDF OCR、审批、请假、采购、通知、移动/企业微信入口、财务台账、付款批次、银行回单附件和代账交接;考勤边界纠偏为“企业微信打卡做原始采集和风控,OA 不重造定位/人脸/Wi-Fi/排班/防作弊”。 - ATTV1 是 REQ-COMPLETE-AUDIT 后的考勤统一入口实现合同:已部署到公网,关闭历史 OA 自建打卡 `attendance_v1`;新增 `attendance_unified_v1`、企微打卡摘要同步批次、补卡/外出/加班 OA 审批和月度考勤解释;公网复检 `/ready`、live smoke、PDF live OCR、移动/企业微信矩阵和考勤关键接口均通过,企微 live 同步缺 Secret 或 API 权限时记 `SKIP`,不使用企微原生审批,不保存完整位置、人脸、设备明文或原始 payload。 - LAUNCH-AUTO-OPS-V1 是 ATTV1 后的正式启用自动化收口合同:新增当前正式状态 QA-only runner、live feature flag 只读检查和统一考勤 live 检查;本地门禁、公网 readiness、PDF live OCR、统一考勤检查、移动矩阵和企业微信 UA/渲染矩阵均通过。显式企微打卡同步检查返回 `SKIP wecom_checkin_sync_disabled`。实际公网 `payment_batch_v1=force_off`,与 FIN-PROD-ENABLE 记录的正式常开口径不一致,因此结论为 `PAUSE_FOR_FIX`;runner 已跳过付款批次写入,未切换 flag、未部署、未接真实支付或 ERP。 - AUTO-REMAINING-CLOSEOUT 是 LAUNCH-AUTO-OPS-V1 后的剩余自动化收口合同:已受控恢复公网 `payment_batch_v1=force_on` 并保持 `erp_sync=force_off`,复跑正式启用后自动巡检通过;`LAUNCHAUTO` marker 测试报销 `BX-20260517-0027` 完成付款批次、回单、AP 导出和审计闭环;公网移动矩阵 6 passed,企业微信渲染矩阵 8 passed。企微打卡 live 同步仍因外部配置记录 `SKIP wecom_checkin_sync_disabled`,不影响 OA 统一考勤入口完成态。 - HR-WECOM-DIRECTORY-V1 是 HRWD 当前合同:ERP 从冻结待办改为未来不接入 OA;人事生命周期和考勤同属 HR 大域但分模块实现;OA 为员工、权限、审批和审计主事实源,企业微信作为通讯录、入口、通知和打卡采集基础设施。新增 `hr_wecom_directory_sync_v1`、企业微信通讯录同步记录、入职创建/调岗更新/离职禁用和管理员重试;缺通讯录 Secret 或 API 权限时 OA 人事闭环照常完成,同步记录为可解释 SKIP/失败。 - HRWD-CONTACT-LIVE-TEST 已完成公网企微通讯录真实写入闭环:使用 `HRWDTEST-20260517214548` 测试员工验证 OA 创建员工后由 onboarding 触发企微成员创建、资料更新触发企微 update、离职 checklist 完成后禁用 OA 账号并触发企微 disable;同步均返回 `wecom_contact_synced`、`errcode=0`,普通员工同步记录权限负例和审计动作核验通过。测试成员按约定保留离职/禁用状态,不删除。 - WCFB 是企微打卡同步 Secret 兼容修正合同:用户确认工作台应用已作为企微入口应用配置且已授权调用打卡 API;OA 后端调整为 `WECOM_CHECKIN_SECRET` 显式优先,未配置时复用已授权工作台应用的 `WECOM_AGENT_SECRET`,避免重复维护同一个 Secret。本地语法和考勤 focused 单测通过,已随 WRV1 部署到公网;WRA1 已纠正 QA-only 只读门禁误判,正式同步批次仍由 `WECOM_CHECKIN_SYNC_ENABLED` 控制。 - WFOC 是企微优先 + OA 无痛接管需求重构合同:用户已确认优先复用企业微信成熟能力,OA 做镜像、人工接管、恢复回写、财务闭环和审计中台;其“HR/考勤/行政审批”和“完整镜像”宽口径已由 DBWFOC 修正为 HR/考勤员工日常审批和按域镜像。本轮只冻结需求和事实源,不改业务代码、不部署、不切换公网配置;后续实现需拆 `wecom_hr_master_sync_v1`、`wecom_native_approval_mirror_v1`、`oa_hr_emergency_mode_v1`、`wecom_recovery_writeback_v1`、`wecom_ruleops_v1`。 - DBWFOC 是 WFOC 后的数据边界修正合同:将“企微优先”收窄为 HR/考勤员工日常审批优先,采购、费用、合同、项目、报销、付款、AP、代账交接、审计和高敏附件继续 OA 主办;企业微信成熟功能可作为流程/字段/交互/规则参考,OA 主办审批只向企业微信发送脱敏提醒和 OA deeplink,不上传高敏附件到企微原生审批。 - WFDG 是 DBWFOC 后的设计规约门禁合同:固定后续开发前必须先判定主办方、主事实源、操作端、镜像方向、附件归属和审计责任;PC/移动页面需区分 `OA 主办`、`企微镜像` 和 `OA 应急接管`;下一轮进入 `WECOM-CAPABILITY-POC-V1`,输出 `CAN_REUSE_NOW`、`NEEDS_CONFIG`、`NEEDS_API_POC`、`KEEP_OA_PRIMARY`、`NOT_SUPPORTED_BY_API` 能力矩阵。本轮不改业务代码、不部署、不调用生产写接口。 - WDRG 是 WFDG 后的开发路线图门禁合同:新增 [企微优先开发路线图](./企微优先开发路线图.md),固定“路线图门禁 + 单功能合同”的开发节奏和阶段顺序;其下一步 `WECOM-CAPABILITY-POC-V1` 已由 WCP1/WCPC 执行并收口,HR 主数据镜像已由 WHMS/WHMSLIVE 实现并部署验证,不得跳过阶段直接开发考勤/审批镜像、OA 应急接管、恢复回写或 RuleOps。TRELLIS2 后单功能合同由 Trellis task 承接。 - WCP1 是 WDRG 后的企业微信能力 POC 合同:新增 QA-only 只读 runner `scripts/qa/check-wecom-capability-poc.mjs`,对人事助手、通讯录、打卡、审批、假期余额、回调和权限配置输出脱敏能力矩阵。远端 live 只读历史结论为 `PAUSE_FOR_CONFIG`,作为初始配置缺口证据保留;当前 HR 主数据镜像准入以 WCPC 复跑结论为准。 - WCPC 是 WCP1 后的配置收口合同:已使用既有在职低风险测试号 `SMOKE002/测试员工`(报告只记录 `oa_smoke***`)完成远端只读复跑,报告 `/tmp/wecom-capability-poc-wcpc-smoke002/summary.json`,结论 `GO_TO_HR_MASTER_SYNC`。WHMS 已承接该准入结论;审批模板 ID、审批单号 `sp_no`、真实回调配置和 HR 写接口仍需后续独立合同处理。 - WHMS/WHMSLIVE 是 WCPC 后的企微 HR 主数据镜像合同和部署验证合同:已实现并部署 `wecom_hr_master_sync_v1`、企微/人事助手读取服务、dry-run/apply、同步批次/逐员工记录、People 管理入口和 QA-only runner;公网对 `SMOKE002`(脱敏 `oa_smoke***`)完成 dry-run/apply 管道验证,缺手机号、邮箱和部门按 `missing_required_field` 跳过;权限负例 403;最终 `force_off`,未执行生产真实员工批量 apply。WAPI 后其读取口径被修正为通讯录 `user/list_id` + 人事助手 `get_staff_info`,不再用运行时 Secret fallback。 - WOUA 是 WHMSLIVE 后的 OA/企微用户一致性只读审计合同:已新增 QA-only runner `server/src/scripts/audit-wecom-oa-user-consistency.js`,本地静态/单测门禁通过并以 `SYNC_ENV=0` 部署执行;初始公网报告因旧读取路径为 `SKIP / BLOCKED_BY_EXTERNAL_CONFIG`。WAPI 后按新 API/Secret 口径复跑成功,远端脱敏报告 `/app/artifacts/qa-flow/wecom-oa-user-consistency-20260518T142544Z/summary.json` 为 `PASS_WITH_FINDINGS`,计数为 `oaEmployees=13`、`oaActiveEmployees=12`、`oaActiveWithBinding=5`、`wecomProfiles=5`、`matchedActive=5`、`oaActiveMissingInWecom=7`、`inactiveWithBinding=1`、`missingRequiredFields=5`。本轮未修改 OA/企微用户,未执行真实员工批量 apply,不代表 OA/企微用户已经一致。 - WAPI 是 WOUA 后的企微 API 能力目录与运行优先纠偏合同:新增 [企微 API 能力目录](./企微API能力目录.md),固定通讯录用 `WECOM_CONTACT_SECRET`、人事助手/打卡/消息/OAuth 用 `WECOM_AGENT_SECRET`、`WECOM_CHECKIN_SECRET` 仅作显式打卡 override、`WECOM_HR_ASSISTANT_SECRET` 仅历史兼容;后续企微能力不清楚时先查官方 API 和本地目录,不在运行时代码里轮询多个 Secret 试错。WAPPR1 后已补充审批规则 API 边界:原生审批模板的“申请人是否可手选审批人/审批规则配置”不能只读读取,必须保留后台人工确认和真机门禁。WAPI 已把通讯录成员详情降级为可选富化并完成 WOUA 公网复跑,后续由 WRRA/WOUA-FIX 承接路线与差异收口。 - WRRA 是 WAPI 后的企微路线门禁修正合同:只做 docs-only 路线修正,不改业务代码、不部署、不写 OA/企微数据;明确 `PASS_WITH_FINDINGS` 不能直接放行深度镜像,并已由 WOUA-FIX 承接测试账号差异收口;后续默认进入 `WECOM-RUNTIME-READY-V1`。 - WOUA-FIX 是 WRRA 后的 OA/企微用户一致性差异收口合同:按用户确认软归档 7 个缺企微测试/Smoke 账号,修正 `T0000` seed 复活,转交 `SMOKE201` 归档后的测试主管和待办副作用;复检 OA active 5、企微 active 5、匹配 5、OA active 缺企微 0。企微缺字段先接受不补,归档绑定保留审计,不写企微资料、不执行真实员工 WHMS 批量 apply。 - WRV1 是 WOUA-FIX 后的企业微信运行优先门禁合同:新增 `server/src/scripts/check-wecom-runtime-ready.js` 和 `npm run check:wecom-runtime-ready`,检查工作台入口、OAuth/绑定、脱敏消息、OA deeplink、通讯录 `user/list_id`、人事助手 `get_staff_info` 和打卡短窗口读取;已部署并远端 live 只读验证,报告 `/app/artifacts/qa-flow/wecom-runtime-ready-20260518T173402Z/summary.json` 为 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`,阻断点是 `WECOM_CHECKIN_SYNC_ENABLED=true` 未启用;审批模板、测试 `sp_no` 和真实回调缺口记录为 `NEEDS_CONFIG`,不放行深度镜像。 - WRA1 是 WRV1 后的运行验收门禁修正合同:确认 `WECOM_CHECKIN_SYNC_ENABLED` 是正式考勤同步开关,不应阻断 QA-only 打卡只读探测;runner 显式使用 `requireSyncEnabled=false` 复跑公网运行验收。远端报告 `/app/artifacts/qa-flow/wecom-runtime-ready-20260518T180506Z/summary.json` 为 `PASS_WITH_CONFIG_GAPS`,打卡 API 只读可读,审批模板、测试 `sp_no` 和真实回调仍为 `NEEDS_CONFIG`。 - WMSG1 是 WRA1 后的企微应用消息实发与 Deeplink 真机验证合同:使用现有 runner 单次设置 `WECOM_RUNTIME_TEST_SEND=1`,向管理员本人对应 OA 员工号 `HYD000006` 发送脱敏消息;报告 `/app/artifacts/qa-flow/wecom-runtime-ready-20260518T234431Z/summary.json` 显示 `errcode=0`、`recipientCount=1`,用户确认收到消息并可点击进入 OA 通知页面。审批模板、测试 `sp_no` 和真实回调仍需后续配置。 - WAPC1 是 WMSG1 后的企微审批配置准备清单合同:只固化请假、补卡、外出、加班模板准备项、低风险 `sp_no`、真实回调配置项和 POC 准入,不开发镜像。 - WAPC2 是 WAPC1 后的请假/补卡审批只读 POC 合同:新增 `server/src/scripts/check-wecom-approval-poc.js` 和 `npm run check:wecom-approval-poc`,固定 `WECOM_AGENT_SECRET` 读取 `gettemplatedetail`/`getapprovaldetail`;缺模板 ID 或低风险 `sp_no` 时报告 `PARTIAL_APPROVAL_POC_NEEDS_CONFIG`,不放行深度镜像。 - WPROC1 是 WAPC2 后的企微路线与开发流程工程化修正合同:只更新合同和事实源,不写业务代码、不部署、不写 OA/企微数据;修正 WAPC2F 默认非自审链为 `SMOKE002 -> SMOKE101`,后续当前顺序以 WEGOV1 为准。 - WPROC2 是 WPROC1 后的开发流程自动化门禁合同:新增 `scripts/qa/check-process-contract.mjs` process gate,并接入 `scripts/check-minimal.sh`;WAPC2F 实施前必须先通过 baseline gate 和 `wecom-approval-fixture` profile。本轮不部署、不写 OA/企微数据、不实现 WAPC2F 业务 runner。 - WAPC2F 是 WPROC2 后的企微审批 POC 样件自动生成 dry-run 合同:新增 `server/src/scripts/check-wecom-approval-fixtures.js` 和 `npm run check:wecom-approval-fixtures`,公网报告 `/app/artifacts/qa-flow/wecom-approval-fixtures-20260519T045001Z/summary.json` 为 `PASS_FIXTURE_DRY_RUN_READY`。 - WAPC2FLIVE 是 WAPC2F 后的企微审批 OA-POC 样件 live 创建合同:用户批准后执行 live 窗口,修正 `create_template` payload 为官方 `template_name` + `property` controls 结构;远端报告 `/app/artifacts/qa-flow/wecom-approval-fixtures-20260519T053400Z/summary.json` 为 `PASS_FIXTURE_CREATED`,请假/补卡测试模板和低风险测试审批单已创建并保留审计,自动复跑 WAPC2 为 `PASS_APPROVAL_POC`;不代表真实回调、补偿拉取、镜像模型或深度镜像已完成。 - WCBK1 是 WAPC2FLIVE 后的企微审批回调只读 POC 合同:已新增只读回调端点、验签/解密/归一化服务、QA runner 和 `wecom-callback` process gate;远端配置真实回调后报告 `/app/artifacts/qa-flow/wecom-approval-callback-poc-20260519T083422Z/summary.json` 为 `PASS_CALLBACK_URL_VERIFIED`,`SMOKE101` 同意现有 OA-POC 补卡测试单后报告 `/app/artifacts/qa-flow/wecom-approval-callback-poc-20260519T092648Z/summary.json` 为 `PASS_CALLBACK_EVENT_CONFIRMED`。本证据不代表补偿拉取、镜像模型或深度镜像已完成。 - WEGOV1 是 WCBK1 后的企微主办治理与 OA 自建留存路线修正合同:只更新合同和事实源,不改业务代码、不部署、不写 OA/企微数据;固定混合主办边界、OA 自建历史留存、企业微信无完整 sandbox 假设、受控测试域、自动化与人工边界,并把后续顺序调整为 `WACP3/WACP3R -> WREAD1 -> WADM1 -> WARCH1 -> wecom_attendance_approval_mirror_v1`。 - WACP3 是 WEGOV1 后的企微审批补偿拉取 POC 合同:新增 `check:wecom-approval-compensation-poc` 和 `getapprovalinfo` 只读封装;初始公网报告缺模板 ID,WACP3R 已改为按 `SMOKE002` creator 自动发现 OA-POC 请假/补卡模板并复跑,公网报告 `/app/artifacts/qa-flow/wecom-approval-compensation-poc-20260519T115944Z/summary.json` 为 `PASS_WITH_FINDINGS`,补偿拉取和详情读取可用,finding 为回调证据文件未持久化。 - WARCH1 是 WADM1 后的最小自建历史留存合同:新增审批留存 Prisma 表、回调事件入库、补偿拉取双开关入库和离线读取 runner;只覆盖请假/补卡历史留存,不写企微、不创建模板或审批单、不进入完整镜像、应急接管、恢复回写或 RuleOps。 - WARCH2 是 WARCH1 后的正式只读历史查询合同:新增只读 OA DB 查询 API 和 PC/移动历史页,只覆盖请假/补卡已归档历史;页面不提供审批动作,不进入待办语境;已完成 `SYNC_ENV=0` 公网部署、`/ready`、未登录 401 和远端离线归档复跑。 - WROAD2+OPS 是 WARCH2 后的受控上线与每日巡检合同:范围固定测试账号 `SMOKE002 -> SMOKE101`,管理员观察和告警员工号使用 `HYD000006`(`wangshunli` 的员工号),3 天每日触发脚本;巡检可用 `WECOM_ARCHIVE_WRITE=1` 写 OA 自建留存库,不写企业微信、不创建模板或审批单。Day 0 公网报告 `/app/artifacts/qa-flow/wroad2-ops-20260520-041941/summary.json` 为 `PASS_WITH_FINDINGS`,主链路通过并保留可解释 finding。后续优先 WOPS1 告警降噪、WROAD2-CLOSEOUT 三天验收;验收后先问答是否进入 WEXT1-FORMAL 正式模板外出/加班测试,再由四类测试号证据决定是否询问真实小范围试用。 ## 治理流台账(历史 Issue 只作追溯) 后续不再为每次聊天、小反馈或单点修正单独创建 Issue CSV。同类型、同目标、同风险域的任务优先进入同一个 Trellis task 或子任务,直到该治理流完成明确阶段。 | 治理流 | 当前合同 | 当前状态 | 范围 | 不做 | | --- | --- | --- | --- | --- | | `GOV8` | `issues/2026-05-13_16-31-09-gov8-system-governance.csv` | 已收口 | 文档分类、台账、流程模板、审计脚本、需求冻结、变更控制 | 不改业务代码、不部署 | | `DG8` | `issues/2026-05-13_22-56-49-design-ui-governance.csv` | 历史设计治理证据 | 旧主参考系统、外部参考降级和设计检查门禁;视觉裁决已由 `frontend-design` 接管 | 不改业务页面、不部署、不接入飞书 | | `DG9` | `issues/2026-05-13_23-30-00-dg9-ui-layout-rollout.csv` | 历史页面整改证据;最新代码已随 R7E 部署到试运行环境 | A/B/C 页面分层和共享组件迁移证据;后续页面设计不再复制 DG9 视觉样板 | 不替代 WF8、UX8 或 BIZ8 业务验收 | | `R7E` | `issues/2026-05-13_17-11-44-r7e-human-trialrun.csv` | 已收口:阶段验收通过,P2 排序与 R7E 收口完成 | 人工确认、真实试运行、每日问题收口、验收结论 | 不新增 P2 能力;付款批次延期到 P2 | | `ORG8` | `issues/2026-05-13_18-23-51-org8-master-data-permission.csv` | 已收口:本地代表性角色验收通过 | 组织、账号、直属主管、停用、角色、企业微信绑定、权限边界 | 不做审批流程增强;不替代 R7E 真实人工试运行 | | `WF8` | `issues/2026-05-13_18-23-52-wf8-approval-notification.csv` | 已收口:deeplink 修复已部署并经代表设备真机点击回 OA 验证 | 转审、通知、催办、邮件通道决策、三渠道验收 | 不做复杂 BPM 或审批设计器;通知模板和偏好设置延期到 P2 | | `BIZ8` | `issues/2026-05-13_18-23-53-biz8-finance-ocr-project.csv` | 已收口:财务移动入口真机通过,财务/项目权限回归完成 | OCR、票据、财务、费用提示、项目关联 | 不做 ERP 实时集成或重预算;付款批次延期到 P2 | | `QAOPS8` | `issues/2026-05-13_17-30-00-qaops8-test-release-ops.csv` | 已收口:Go/No-Go 与上线硬化阶段分流完成 | 回归稳定、测试覆盖、上线门禁、备份恢复、SLO | 不改业务需求;后续硬化另起 QAOPS9 或等价连续合同 | | `FBA` | `issues/2026-05-15_23-45-41-r7e-post-function-boundary-audit.csv` | 已收口:R7E 后全端功能边界审计和后续候选草案 | PC、移动/企业微信、后端 API/作业、管理/运维边界审计 | 不改业务代码、不改 API/schema、不部署、不启动 P2 | | `QAOPS9` | `issues/2026-05-16_00-19-20-qaops9-release-hardening.csv` | 已收口:上线硬化证据完成 | 公网业务流测试数据稳定化、live smoke 账号链路、恢复演练 dry-run、SLO/Go-No-Go 自动化增强;隔离业务流与公网 flag-off 证据分离 | 不改业务需求、不部署、不执行生产恢复、不重置数据库、不打印远端 env | | `P2D` | `issues/2026-05-16_00-19-21-p2-decision-followup.csv` | 已收口:P2 决策分流完成 | `P2-ORG` 只读巡检进入独立合同;付款批次、图片 OCR、UX8、审批通知、轻业务增强均 `HOLD_FOR_PREREQ`;冻结 ERP/AI/完整差旅/复杂 BPM/审批设计器/重预算/企业微信原生审批 | 不新增 API/schema/feature flag/UI;不启用付款批次或图片 OCR | | `P2-ORG` | `issues/2026-05-16_02-04-27-p2-org-readonly-master-data-audit.csv` | 已收口:组织主数据只读巡检完成 | 主管链、停用审批人、角色持有人、admin-only、财务/admin 混授、企业微信绑定漂移的脱敏只读审计 | 不写生产账号数据、不执行 P2-ORG-FIX、不改 API/schema/UI、不部署 | | `P2-FIN-DECISION` | `issues/2026-05-16_09-02-42-p2-fin-payment-batch-decision.csv` | 已收口:付款批次决策准备完成,结论 `GO_TO_IMPLEMENT` | 付款批次代码/flag/空态、角色账号矩阵、导出字段、审计事件、公网验收窗口和 flag off 回滚口径 | 不启用 `payment_batch_v1`、不写付款批次、不接真实支付、不写 ERP 实时凭证、不部署 | | `P2-FIN-V1` | `issues/2026-05-16_09-42-43-p2-fin-payment-batch-v1.csv` | 已收口:付款批次启用前本地/隔离硬化完成 | 后端付款批次/AP/导出 focused 回归、前端构建、隔离闭环、权限审计、公网 readiness、flag off 回滚口径 | 不公网启用 `payment_batch_v1`、不部署、不接真实支付、不写 ERP 实时凭证 | | `P2-OCR-SAMPLE` | `issues/2026-05-16_10-15-21-p2-ocr-image-sample-governance.csv` | 已收口:图片 OCR 样票治理前置完成;P2AF 后当前默认 `FREEZE_BY_DEFAULT` | PDF-only 当前边界、`SAMPLE-IMG-*` 授权登记口径、脱敏证据规则、mock/PDF/真实图片 provider 分层、feature flag 和回滚设计 | 默认不支持图片发票 OCR;不新增入口或 feature flag、不调用真实图片 provider、不保存真实票据、不部署 | | `P2Q` | `issues/2026-05-16_10-35-22-p2-post-p2ocrs-followup-queue.csv` | 已收口:P2OCRS 后续队列和启动门槛完成;图片 OCR 默认冻结 | UX8、付款批次公网启用、审批通知、轻业务增强和持续上线门禁的后续合同顺序;图片 OCR 仅在用户明确重启评估时另建合同 | 不直接启动 HOLD 项、不新建综合规划文档、不改业务代码、不部署 | | `P2AUTO` | `issues/2026-05-16_20-09-49-p2-automated-regression-sweep.csv` | 已收口:自动化优先回归和样票 provider 门禁完成;P2AF 后 provider 默认结论为 `FREEZE_BY_DEFAULT` | 凭据/样票掩码核对、后端 focused、前端构建、高风险确认、隔离业务流、隔离付款批次、公网 readiness/PDF live OCR、移动/企业微信自动化、OCR provider-only 脚本 | 不部署、不开放图片 OCR、不打开公网 `payment_batch_v1`、不自动选择未登记图片样票 | | `P2AF` | `issues/2026-05-16_22-11-10-p2-automatable-followup.csv` | 已收口:可自动实施收口完成 | 图片 OCR 默认冻结纠偏、QA 脚本语义、安全回归聚合、付款批次公网关闭态只读门禁、UX8 自动矩阵扫尾;报告 `artifacts/qa-flow/p2-safe-regression-20260516-222222/` | 不部署、不开放图片 OCR、不启用公网 `payment_batch_v1`、不做业务实现 | | `P2-FIN-LIVE-DECISION` | `issues/2026-05-16_22-49-05-p2-fin-payment-batch-live-decision.csv` | 已收口:公网启用窗口决策完成,初始结论 `HOLD_FOR_WINDOW`,后续用户批准并进入 `P2-FIN-LIVE` | 公网 readiness、付款批次 flag-off 只读门禁、窗口/参与人/回滚联系人/测试数据前置、后续 P2-FIN-LIVE 启动条件 | 不在决策合同中打开公网 `payment_batch_v1`、不写付款批次、不部署、不接真实支付、不写 ERP 实时凭证 | | `P2-FIN-LIVE` | `issues/2026-05-16_23-42-08-p2-fin-payment-batch-live-enable.csv` | 已收口:公网短窗口付款批次受控测试通过,最终 `payment_batch_v1=flag_force_off` | 公网测试报销、PDF 样票绑定、审批到 approved、付款批次创建/复核/执行、AP 导出审计、权限边界、移动/企业微信自动化 | 不保持公网开启、不部署、不接真实支付、不写 ERP 实时凭证、不开放图片 OCR | | `PRELAUNCH` | `issues/2026-05-17_00-46-49-prelaunch-production-readiness.csv` | 已收口:正式启用前公网预回归完成,最终 `payment_batch_v1=flag_force_off` | 公网环境基线、远端只读状态、PRELAUNCH 测试数据、核心业务自动化、付款批次公网窗口、移动/企业微信矩阵、启用范围和 Go/No-Go 摘要 | 不部署、不执行生产恢复、不重置数据库、不打印远端 env、不接真实支付、不写 ERP 实时凭证、不开放图片 OCR | | `CASHIER-VOUCHER-V1` | `issues/2026-05-17_09-04-37-cashier-payment-voucher-v1.csv` | 已收口:正式启用前财务闭环与银行回单附件完成,已由 LDF 部署 | 付款批次银行回单附件、复核后补凭证、银行渠道执行前回单阻断、管理员复核审计、出纳执行、代账交接前置 | 不接真实支付、不接 ERP、不开放图片 OCR、不导入银行流水 | | `LAUNCH-DEPLOY-FINANCE` | `issues/2026-05-17_09-38-55-launch-deploy-finance.csv` | 已收口:CASHV 部署与公网复检完成,最终 `payment_batch_v1=flag_force_off` | 本地全流程/页面门禁、受控部署、migration 应用、公网 readiness、PDF live OCR、移动/企微矩阵、CASHV 公网短窗口 | 不正式常开付款批次、不接真实支付、不接 ERP、不开放图片 OCR、不重置数据库 | | `FIN-PROD-ENABLE` | `issues/2026-05-17_11-40-47-fin-prod-enable-payment-batch.csv` | 已收口:公网付款批次正式启用完成,最终 `payment_batch_v1=force_on` | 公网正式启用 runner、测试报销 `BX-20260517-0026`、银行回单附件、AP 导出、审计、移动/企微矩阵、最终 flag-on 证据 | 不重新部署、不接真实支付、不接 ERP、不开放图片 OCR、不导入银行流水 | | `ACCOUNTING-HANDOFF-V1` | `issues/2026-05-17_11-40-48-accounting-handoff-v1.csv` | 已收口:月度代账交接 SOP 固化 | OA 侧 AP/报销/票据/付款批次/回单附件/审计资料清单,银行侧流水和回单原件由出纳线下导出,代账人工核对 | 不开发银行流水导入、不开发一键 zip 包、不保存真实银行资料到仓库 | | `SYSTEM-COMPLETE-GATE` | `issues/2026-05-17_12-55-49-system-complete-gate.csv` | 已收口:系统开发完成门禁通过,结论 `GO_TO_USE` | 公网 `/ready`、public bundle、live smoke、PDF live OCR、正式 flag 状态、FINPROD/ACCTH 证据、移动/企微矩阵和文档事实源 | 不新增业务功能、不部署、不接真实支付、不接 ERP、不开放图片 OCR、不导入银行流水 | | `LAUNCH-OPS-V1` | `issues/2026-05-17_12-55-50-launch-ops-v1.csv` | 已收口:首周运营保障口径固定 | 首周支持人、问题登记、每日巡检、暂停条件、回滚联系人、代账月度交接节奏、UX8 真实反馈池和冻结项 | 不做真实恢复演练、不重置数据库、不主动开发可选功能 | | `REQ-COMPLETE-AUDIT` | `issues/2026-05-17_13-32-26-requirements-completion-audit.csv` | 已收口:需求完成度复核和考勤边界校正完成 | 首批能力完成度、企微打卡边界、请假/补卡/外出/加班缺口、`attendance_v1` 处理建议 | 不改业务代码、不部署、不切换公网开关;后续考勤同步或修正审批必须另建合同 | | `ATTV1` | `issues/2026-05-17_14-59-28-attendance-unified-wecom-sync-v1.csv` | 已收口:考勤统一入口与企微打卡同步 V1 已部署并复检通过 | 关闭历史 OA 自建打卡;新增企微打卡摘要同步、补卡/外出/加班 OA 修正审批、月度解释页和移动入口;公网移动/企微矩阵 14 passed | 不用企业微信原生审批;不重造定位/人脸/Wi-Fi/设备风控;不保存完整位置、原始 payload 或人脸信息 | | `LAUNCH-AUTO-OPS-V1` | `issues/2026-05-17_17-47-45-launch-auto-ops-v1.csv` | 阶段收口:自动化完成,结论 `PAUSE_FOR_FIX` | 正式启用后自动 runner、live flag 只读校验、考勤统一入口 live 检查、移动/企微矩阵和证据回填;报告 `artifacts/qa-flow/launch-auto-ops-20260517-175548/` | 不切换正式 flag、不部署、不接真实支付、不接 ERP;`payment_batch_v1` 当前 force_off 漂移需单独决策恢复 | | `AUTO-REMAINING-CLOSEOUT` | `issues/2026-05-17_19-30-44-auto-remaining-closeout.csv` | 已收口:剩余自动化运营门禁通过,结论 `GO_TO_OPERATE` | 恢复正式 `payment_batch_v1=force_on`、复跑 `run-launch-auto-ops.sh`、付款批次常开闭环、移动/企微矩阵、企微同步 SKIP 证据;报告 `artifacts/qa-flow/launch-auto-ops-20260517-193317/` | 不部署、不改业务代码、不接真实支付、不接 ERP、不开放图片 OCR、不导入银行流水;企微打卡同步外部配置仍需后台配置 | | `HR-WECOM-DIRECTORY-V1` | `issues/2026-05-17_20-00-40-hr-wecom-directory-v1.csv` | 已收口:人事生命周期与企业微信通讯录同步闭环已部署公网 | ERP 永不接入 OA;入职/调岗/资料变更/离职驱动企微通讯录创建、更新、禁用;员工管理和详情展示同步状态与重试;部署后 live smoke、HRWD 端点 SKIP 检查、公网移动/企微矩阵通过;seed 已改为不覆盖正式 flag | 该合同不涉及企业微信原生审批迁移、不接真实支付、不开放图片 OCR、不导入银行流水;企微通讯录真实写入依赖后台 Secret、默认部门和 API 权限 | | `HRWD-CONTACT-LIVE-TEST` | `issues/2026-05-17_21-41-43-hrwd-contact-live-test.csv` | 已收口:公网企微通讯录真实写入闭环通过 | `HRWDTEST-20260517214548` 测试员工完成 OA 创建、onboarding 企微 create、资料 update、offboarding 企微 disable、OA 禁用、登录负例、权限负例和审计核验;报告 `artifacts/qa-flow/hrwd-contact-live-test-20260517T134548Z/summary.json` | 不删除企业微信测试成员、不重置数据库、不改业务 API/schema/UI、不部署;测试成员最终保留离职/禁用状态 | | `WCFB` | `issues/2026-05-17_22-57-39-wecom-checkin-agent-secret-fallback.csv` | 已部署,WRA1 纠正只读门禁 | `WECOM_CHECKIN_SECRET` 显式优先;未配置时复用已授权工作台应用的 `WECOM_AGENT_SECRET`,避免重复维护同一个 Secret;本地语法、focused 单测和文档/skill 校验通过,已随 WRV1 部署 | 不新增业务 API/schema/UI;不改变企微权限边界;正式同步批次仍由 `WECOM_CHECKIN_SYNC_ENABLED` 控制 | | `WFOC` | `issues/2026-05-18_10-25-18-wecom-first-oa-continuity-requirements.csv` | 已收口:企微优先 + OA 无痛接管需求重构 | 原宽口径已由 DBWFOC 修正:HR/考勤员工日常审批企微优先,OA 按域镜像、人工接管、恢复回写、RuleOps 和财务主办边界;PRD、模块规约、手册、索引和事实源矩阵已回写 | 不改业务代码、不新增 API/schema/UI、不部署、不改公网配置;不代表镜像、接管或回写运行时已完成 | | `DBWFOC` | `issues/2026-05-18_11-35-39-data-boundary-wfoc-revision.csv` | 已收口:企微能力参考 + OA 主办数据边界修正 | HR/考勤员工日常审批企微优先;采购、费用、合同、项目、报销、付款、AP、代账交接和高敏附件继续 OA 主办;企业微信只做成熟能力参考、脱敏消息和 OA deeplink | 不改业务代码、不新增 API/schema/UI、不部署、不改公网配置;不把 OA 主办域全量镜像到企微 | | `WFDG` | `issues/2026-05-18_12-21-01-wecom-first-design-gate.csv` | 已收口:企微优先设计规约门禁完成,结论 `DONE_DESIGN_READY` | 固定主办方/数据边界矩阵、入口与交互规约、隐私附件消息规约、同步审计失败处理、应急接管、恢复回写、RuleOps 和下一轮 POC 验收口径 | 不改业务代码、不新增 API/schema/UI、不部署、不改公网配置、不调用生产写接口;不代表运行时迁移已完成 | | `WDRG` | `issues/2026-05-18_12-44-10-wecom-development-roadmap-gate.csv` | 已收口:企微优先开发路线图门禁 | 固定路线图门禁、阶段顺序、单功能合同节奏、并行规则和下一轮 POC 合同口径;TRELLIS2 后由 Trellis task 承接 | 不改业务代码、不新增 API/schema/UI、不部署、不改公网配置、不调用公网写接口;不代表任何运行时迁移已完成 | | `WCP1` | `issues/2026-05-18_13-30-07-wecom-capability-poc-v1.csv` | 已收口:企业微信能力 POC 已完成,历史结论 `PAUSE_FOR_CONFIG` | QA-only 只读探测人事助手、通讯录、打卡、审批、假期余额、回调和权限配置;输出能力矩阵和配置阻断清单 | 不改业务代码、不新增 API/schema/UI、不部署、不调用生产写接口;初始阻断已由 WCPC 复跑收口 | | `WCPC` | `issues/2026-05-18_15-01-23-wecom-capability-poc-config-closeout-v1.csv` | 已收口:既有测试号 POC 复跑通过 | 使用 `SMOKE002/测试员工`(脱敏 `oa_smoke***`)完成远端只读复跑,结论 `GO_TO_HR_MASTER_SYNC`,已由 WHMS 承接 | 不开发业务功能、不部署、不持久改服务器 env;考勤/审批镜像仍需后续补审批模板、审批单和回调配置 | | `WHMS` | `issues/2026-05-18_18-43-19-wecom-hr-master-sync-v1.csv` | 已实现:企微 HR 主数据镜像 | 新增 `wecom_hr_master_sync_v1`、Prisma 同步批次/逐员工记录、企微通讯录/人事助手读取、dry-run/apply、管理员 API、People 管理卡片和 QA-only runner | 默认 `force_off`;不做考勤/审批镜像、审批回调、应急接管、恢复回写或 RuleOps | | `WHMSLIVE` | `issues/2026-05-18_19-28-25-whms-deploy-live-verify-v1.csv` | 已部署验证:企微 HR 主数据镜像公网受控验证 | 部署 WHMS、应用 migration、公网 dry-run/apply 管道验证、普通员工权限负例、最终 `wecom_hr_master_sync_v1=force_off` | `SMOKE002` 缺手机号、邮箱和部门按 `missing_required_field` 跳过,未写 OA 主数据;未执行生产真实员工批量 apply | | `WOUA` | `issues/2026-05-18_20-45-58-wecom-oa-user-consistency-audit.csv` | 已收口:OA/企微用户一致性只读对账已由 WAPI 新口径复跑 | OA active 员工 vs 企业微信通讯录 + 人事助手只读审计、脱敏差异报告、本地单测、受控部署和公网执行 | WAPI 复跑结论 `PASS_WITH_FINDINGS`:OA active 12、企微 active 5、匹配 5、OA active 缺企微 7、已归档仍有绑定 1、缺必填字段 5;未改 OA/企微用户,未执行真实员工批量 apply | | `WAPI` | `issues/2026-05-18_21-46-41-wecom-api-capability-catalog-runtime-first.csv` | 已收口:企微 API 能力目录与运行优先纠偏 | 本地 API 能力目录、Secret 矩阵、WHMS/WOUA 读取策略纠偏、文档/skill 回写和公网 WOUA 只读复跑 | 不执行真实员工批量 apply;不打开 `wecom_hr_master_sync_v1`;不修改 OA/企微用户数据;公网只读复跑 `PASS_WITH_FINDINGS` | | `WRRA` | `issues/2026-05-18_23-19-38-wecom-route-readiness-adjustment.csv` | 已收口:企微路线门禁修正与下一阶段规划 | 收紧运行优先退出门禁、修正 PRD/规约/手册旧顺序、补充 `WOUA-FIX / WECOM-RUNTIME-READY-V1` 下一阶段草案 | docs-only;不改业务代码、不部署、不写 OA/企微数据;`PASS_WITH_FINDINGS` 不放行深度镜像 | | `WOUA-FIX` | `issues/2026-05-18_23-45-45-wecom-oa-user-consistency-fix-runtime-ready.csv` | 已部署并受控写入:OA/企微用户一致性差异收口 | 7 个 OA active 缺企微测试账号已软归档,`T0000` seed 不再复活,`SMOKE201` 测试主管/待办副作用已转交;WOUA 复检 active 5/5 匹配 | 不写企微资料;不补企微缺字段;不执行真实员工 WHMS 批量 apply;不放行深度考勤/审批镜像 | | `WRV1` | `issues/2026-05-19_01-10-32-wecom-runtime-ready-v1.csv` | 已部署验证:企业微信运行优先门禁 | 新增 QA-only runner 和 focused 单测;公网 live 只读报告为 `SKIP/BLOCKED_BY_EXTERNAL_CONFIG`,入口/OAuth、Secret 矩阵、OA active 绑定、通讯录、人事助手和消息 dry-run 通过,打卡读取因 `WECOM_CHECKIN_SYNC_ENABLED=true` 未启用阻断 | 不新增公开 API、schema、前端页面;不补企微资料;不配置审批模板/`sp_no`/真实回调;不进入深度镜像 | | `WRA1` | `issues/2026-05-19_01-55-43-wecom-runtime-acceptance-v1.csv` | 已部署验证:企微运行验收门禁修正 | QA-only 打卡只读探测不再要求正式同步开关;公网报告 `/app/artifacts/qa-flow/wecom-runtime-ready-20260518T180506Z/summary.json` 为 `PASS_WITH_CONFIG_GAPS`,打卡只读可读且正式同步未启用 | 不改公开 API/schema/UI/远端 env;不发送真实消息;不补企微资料;不进入深度镜像 | | `WMSG1` | `issues/2026-05-19_07-41-37-wecom-message-live-verify-v1.csv` | 已完成:企微应用消息实发与 Deeplink 真机验证 | 远端单次设置 `WECOM_RUNTIME_TEST_SEND=1`,向管理员本人对应 OA 员工号 `HYD000006` 发送脱敏消息;报告 `/app/artifacts/qa-flow/wecom-runtime-ready-20260518T234431Z/summary.json` 为 `PASS_WITH_CONFIG_GAPS`,消息 `errcode=0`、`recipientCount=1`;用户确认收到并可点击进入 OA 通知页面 | 不改代码/schema/UI/远端持久 env;不补企微资料;不配置审批模板/`sp_no`/真实回调;不进入深度镜像 | | `WAPC1` | `issues/2026-05-19_08-44-58-wecom-approval-config-prep-v1.csv` | 已完成:企微审批配置准备清单 | 固化 WMSG1 后下一步为审批配置准备,不直接进入深度镜像;首批模板为请假、补卡、外出、加班;准备模板 ID、低风险 `sp_no`、真实回调配置项和后续 POC 准入 | 不改业务代码/API/schema/UI;不部署;不接真实回调;不调用企微写接口;不配置模板或 `sp_no` | | `WAPC2` | `issues/2026-05-19_09-34-16-wecom-approval-template-spno-poc-v1.csv` | 已部署并公网只读复跑:企微审批模板与低风险 `sp_no` 只读 POC | 新增 QA-only runner、只读集成服务和 focused 单测;范围请假+补卡;固定 `WECOM_AGENT_SECRET` 调用 `gettemplatedetail` / `getapprovaldetail`;远端报告 `/app/artifacts/qa-flow/wecom-approval-poc-20260519T020429Z/summary.json` 为 `PARTIAL_APPROVAL_POC_NEEDS_CONFIG` | 不新增公开 API/schema/UI;不接真实回调;不调用企微写接口;不写 OA/企微数据;不进入深度镜像 | | `WPROC1` | `issues/2026-05-19_10-43-50-wecom-process-route-engineering-v1.csv` | 当前路线与流程治理:企微工程化门禁修正 | 固化三层门禁、Definition of Ready、Definition of Done、自动化优先、非自审和高风险能力先 POC;修正 WAPC2F 默认链为 `SMOKE002 -> SMOKE101` | docs-only/contract-only;不改业务代码、不部署、不写 OA/企微数据;当前深度镜像前置顺序由 WEGOV1 进一步收紧 | | `WPROC2` | `issues/2026-05-19_11-15-10-process-gate-automation-v1.csv` | 当前流程自动化门禁:process gate 框架 | 新增 `check-process-contract` QA-only CLI、WAPC2F profile、最小门禁接入和事实源回写;WAPC2F 实施前先跑 baseline gate | 不部署、不改业务 API/schema/UI、不写 OA/企微数据、不实现 WAPC2F runner | | `WAPC2F` | `issues/2026-05-19_10-24-43-wecom-approval-fixture-auto-generate-v1.csv` | 已完成:企微审批 POC 样件自动生成 runner 已部署并公网 dry-run 通过 | 新增 `check:wecom-approval-fixtures`,固定 `WECOM_AGENT_SECRET`,默认 dry-run 构建 OA-POC 请假/补卡模板和审批申请 payload;`SMOKE002 -> SMOKE101` 非自审预检通过;远端报告 `PASS_FIXTURE_DRY_RUN_READY` | 不新增公开 API/schema/UI;dry-run 不真实创建模板或审批单;不接回调;不进入深度镜像 | | `WAPC2FLIVE` | `issues/2026-05-19_13-24-12-wecom-approval-fixture-live-create-v1.csv` | 当前审批样件 live:OA-POC 请假/补卡测试模板和测试审批单已创建 | 修正 `create_template` payload 后,远端报告 `PASS_FIXTURE_CREATED`,自动复跑 WAPC2 为 `PASS_APPROVAL_POC`;测试模板和审批记录保留审计,只记录脱敏 template_id / `sp_no` 前缀 | 不改公开 API/schema/UI;不接真实回调;不做补偿拉取;不建镜像表;不进入深度镜像 | | `WCBK1` | `issues/2026-05-19_14-11-20-wecom-approval-callback-readonly-poc-v1.csv` | 当前回调只读 POC:真实 URL 和事件已确认 | 新增只读 `GET/POST /api/wecom/approval/callback`、`check:wecom-approval-callback-poc` 和 `wecom-callback` process gate;远端报告 `PASS_CALLBACK_URL_VERIFIED` 后,`SMOKE101` 处理现有 OA-POC 测试单并复跑达到 `PASS_CALLBACK_EVENT_CONFIRMED` | 不改 schema/UI;不建镜像表;不写 OA/企微业务数据;不创建新模板或审批单;后续仍需 WEGOV1/WACP3/WREAD1/WADM1/WARCH1 | | `WEGOV1` | `issues/2026-05-19_18-17-44-wecom-governance-owned-oa-archive-route-v1.csv` | 当前路线治理:企微主办 + OA 自建留存 | 固定 HR/考勤企微主办、财务经营和高敏业务 OA 主办、OA 留存关键企微历史、企业微信受控测试域、自动化与人工边界;WREAD1/WADM1/WARCH1 已按该路线完成请假/补卡可读性、模型设计和最小历史留存 | docs-only;不改业务代码/API/schema/UI;不部署;不写 OA/企微数据;不进入深度镜像 | | `WACP3/WACP3R` | `issues/2026-05-19_19-03-06-wecom-approval-compensation-pull-poc-v1.csv`、`issues/2026-05-19_19-42-22-wecom-approval-compensation-config-rerun-v1.csv` | 当前补偿拉取 POC:runner 已部署并自动发现模板复跑 | 新增 `check:wecom-approval-compensation-poc`,固定 `WECOM_AGENT_SECRET` 只读调用 `getapprovalinfo` 和 `getapprovaldetail`;WACP3R 按 `SMOKE002` creator 自动发现 OA-POC 请假/补卡模板,远端报告为 `PASS_WITH_FINDINGS`,当时 finding 为回调证据文件未持久化,已由 WARCH1 DB 回调事件承接 | 不新增公开 API/schema/UI;不写 OA/企微数据;不保存完整模板 ID;不无过滤拉取高风险审批详情;不进入深度镜像 | | `WREAD1` | `issues/2026-05-19_20-39-40-wecom-approval-readability-gate-v1.csv` | 当前可读性门禁:请假/补卡真机确认已通过 | 新增 `check:wecom-approval-readability-gate`,只读汇总请假/补卡 OA-POC 证据;用户确认两类模板消息卡片、列表和详情页均可看清,远端报告 `/app/artifacts/qa-flow/wecom-approval-readability-gate-20260519T133628Z/summary.json` 为 `PASS_READABLE` | 不新增公开 API/schema/UI;不写 OA/企微业务数据;同意单击即通过已进入 WADM1/WARCH1 审计设计;仍不得直接做深度镜像 | | `WREAD1F` | `issues/2026-05-19_21-15-47-wecom-readability-fresh-fixture-v1.csv` | 当前真机确认补充:已生成新 OA-POC 样例并支撑 WREAD1 收口 | 用户选择重新生成后,修正模板名唯一性并公网 live 创建新的请假/补卡测试模板和两条审批单;报告 `/app/artifacts/qa-flow/wecom-approval-fixtures-20260519T131958Z/summary.json` 为 `PASS_FIXTURE_CREATED`,最终 WREAD1 人工报告为 `PASS_READABLE` | 写入仅限 OA-POC 测试模板和低风险审批单;不写 OA 业务表;不进入镜像;新样例保留审计 | | `WADM1` | `issues/2026-05-19_21-55-33-wecom-archive-mirror-data-model-design-v1.csv` | 当前模型设计:企微自建留存/镜像数据模型已固化 | 固定审批留存、回调事件、补偿拉取、对账 finding、打卡/人事快照边界、隐私权限和 WARCH1 最小实现切片;已由 WARCH1 承接实现请假/补卡最小历史留存 | docs-only;不改 Prisma schema、不部署、不写 OA/企微业务数据;完整镜像仍需单独 Trellis task 和方案批准 | | `WARCH1` | `issues/2026-05-19_22-32-06-wecom-approval-archive-minimum-v1.csv` | 当前最小历史留存实现:请假/补卡审批历史可入 OA DB 并离线读取 | 新增 `WecomApprovalArchive` 等 Prisma 表、回调事件持久化、补偿 run/item/finding、`check:wecom-approval-archive` 离线 runner;补偿入库需 `--persist-to-db` + `WECOM_ARCHIVE_WRITE=1`;公网报告 `/app/artifacts/qa-flow/wecom-approval-compensation-poc-20260519T160306Z/summary.json` 持久化 2 条详情,`/app/artifacts/qa-flow/wecom-approval-archive-20260519T160330Z/summary.json` 离线读取 2 条历史,finding 为旧回调未入库历史 gap | 不写企微数据;不创建模板或审批单;不新增正式管理页;不做外出/加班、完整镜像、应急接管、恢复回写或 RuleOps | | `WARCH2` | `issues/2026-05-20_00-26-04-wecom-approval-archive-query-v1.csv` | 当前正式只读历史查询:企微请假/补卡已归档历史可通过 OA API 和 PC/移动页面查看 | 新增 `/api/wecom/approval-archive` 列表/详情、`/wecom-approval-archive`、`/mobile/wecom-approval-archive`;只读 OA DB,不调用企微 API;分层权限为本人相关、直属下属、HR/admin/*,申请人未映射和 callback-only 记录仅 HR/admin/* 可见;页面固定“企业微信主办,OA 自建留存”“仅已归档记录”;公网报告 `/app/artifacts/qa-flow/wecom-approval-archive-20260520T013610Z/summary.json` 可读 2 条历史 | 不写 OA/企微数据;不读取企微 Secret;不提供审批动作;不做完整镜像、外出/加班、应急接管、恢复回写或 RuleOps | | `WROAD2+OPS` | `issues/2026-05-20_11-30-22-wroad2-ops-controlled-launch-v1.csv` | 当前受控上线与每日巡检:先用测试账号运行 3 天脚本化巡检,不直接深镜像 | 新增 `scripts/qa/run-wroad2-ops-daily.sh`,复用公网 `/ready`、live smoke、feature flag、企微 runtime、审批补偿和 OA 归档离线读取;仅补偿归档步骤可写 OA 留存库;Day 0 报告 `/app/artifacts/qa-flow/wroad2-ops-20260520-041941/summary.json` 为 `PASS_WITH_FINDINGS` | 不写企业微信;不创建模板或审批单;管理员观察和告警员工号用 `HYD000006`;外出/加班、完整镜像、应急、回写、RuleOps 和 P2 大功能继续冻结 | | `WARCH3` | `issues/2026-05-20_12-48-04-wecom-archive-stabilization-ops-v1.csv` | 当前归档稳定化自动巡检:把 WROAD2 巡检升级为可安装的服务器定时任务和脱敏告警 | 已安装 `hyb-oa-warch3-ops.timer`,每日 07:30 触发;手动公网报告 `/app/artifacts/qa-flow/warch3-ops-20260520-054841/summary.json` 为 `PASS_WITH_FINDINGS`,告警 `/app/artifacts/qa-flow/wecom-ops-alert-20260520T054851Z/summary.json` 为 `PASS_ALERT_SENT_WITH_CONFIG_GAPS` | 只允许补偿归档写 OA DB;不写企业微信、不创建模板或审批单;WOPS1 后默认收件员工号为 `HYD000006`(`wangshunli` 的员工号),已知 finding 不重复告警 | | `WCHECK1` | `issues/2026-05-20_12-48-04-wecom-checkin-summary-archive-v1.csv` | 当前打卡摘要留存:企微打卡数据进入 OA 自建历史摘要 | 新增打卡日/月摘要和规则快照表、`wecomCheckinArchive` 服务和 `npm run check:wecom-checkin-summary-archive`;公网 live `/app/artifacts/qa-flow/wecom-checkin-summary-archive-20260520T054907Z/summary.json` 为 `PASS_CHECKIN_ARCHIVE_READY`,offline `/app/artifacts/qa-flow/wecom-checkin-summary-archive-20260520T054926Z/summary.json` 为 `PASS_CHECKIN_ARCHIVE_OFFLINE_READY` | 不写企业微信;不保存位置、人脸、设备明文、原始 payload 或密钥;本窗口 0 条打卡明细、2 条规则快照已写 OA 留存 | | `WEXT1` | `issues/2026-05-20_12-48-04-wecom-outing-overtime-fixture-dryrun-v1.csv` | 当前外出/加班低风险 POC dry-run | 扩展 `npm run check:wecom-approval-fixtures` 支持 `--target=outing --target=overtime`,公网报告 `/app/artifacts/qa-flow/wecom-approval-fixtures-20260520T054940Z/summary.json` 为 `PASS_FIXTURE_DRY_RUN_READY` | 不 live 创建企微模板或审批单;live 前必须另起问答和 Trellis task;不放行完整镜像 | | `WOPS1` | `issues/2026-05-20_14-35-42-warch3-ops-alert-tuning-v1.csv` | 已完成并公网验证:巡检告警降噪,只报新增异常或状态恶化 | 默认收件员工号改为 `HYD000006`(管理员 `wangshunli` 的员工号);`send-wecom-ops-alert` 使用状态文件记录上次状态和 finding 摘要;远端 WARCH3 `/app/artifacts/qa-flow/warch3-ops-20260520-070731/summary.json` 为 `PASS_WITH_FINDINGS`,告警 `/app/artifacts/qa-flow/wecom-ops-alert-20260520T070740Z/summary.json` 为 `PASS_ALERT_SKIPPED_NO_FINDINGS`,重复 finding 未发送 | 不写企业微信业务数据;只发送脱敏状态消息;不扩大真实用户 | | `WROAD2-CLOSEOUT` | `issues/2026-05-20_14-35-42-wroad2-controlled-ops-closeout-v1.csv` | 当前三天受控巡检验收:Day 1/2/3 采集后人工确认 | 已知 observation 为 live smoke 凭据、pending OCR 和历史 callback gap,不阻断;主链必须保持企微 runtime、审批补偿归档、OA 离线读取、打卡摘要 offline 可读和隐私扫描通过 | 三天结束前不启用真实员工;结论需结合 WROAD2-BIZ1/WAPPR1 后问答确认是否进入 WEXT1-FORMAL、先处理 finding 或暂停 | | `WROAD2-BIZ1` | `issues/2026-05-20_17-13-57-wroad2-business-smoke-v1.csv` | 当前三天业务冒烟:补充测试账号人工业务动作 | `SMOKE002` 每天按企微规则尝试打卡并提交低风险请假/补卡,`SMOKE101` 先看详情再审批,`HYD000006` 查看 OA 归档历史和打卡摘要 | 不替代 WARCH3 自动巡检;不写企业微信;无法打卡、无法审批或仍需手选审批人时记录 finding | | `WAPPR1` | `issues/2026-05-20_17-13-57-wecom-approval-rule-governance-v1.csv` | 当前审批规则规范化门禁:2026-05-21 人工门禁已通过 | 用户已设置测试员工直属上级为测试主管,并真机确认请假、补卡、外出、加班均自动带出测试主管且申请人不能编辑审批人,四类模板均为 A | 仍需 WRULE1 校验提交后的实际审批链;不自动授权外出/加班 live 或真实员工试用;后续模板若回退为 B/C/D 立即暂停 | | `WRULE1` | `issues/2026-05-20_23-56-15-wecom-hr-approval-rule-validator-v1.csv` | 当前审批链校验器 POC:单一组织规则 + 企微执行 + OA 校验留存 | 新增 `npm run check:wecom-approval-rule-validator`,按 OA 直属主管、业务审批角色和管理员兜底计算理论审批人,并对比 OA 已归档企微审批详情中的实际审批链 | 只读 OA DB;不读取企微后台规则、不调用企微 API、不写 OA/企微;不替代 WAPPR1 人工 A/B/C/D 门禁 | | `WAUTO1` | `issues/2026-05-20_18-04-16-wecom-controlled-trial-auto-evidence-v1.csv` | 当前受控试用证据自动汇总:把三天自动报告和只读 runner 汇总成脱敏证据 | 新增 `scripts/qa/collect-wecom-controlled-trial-evidence.sh`,复跑 `/ready`、WARCH3 summary-only、审批补偿只读、审批归档离线、打卡摘要 offline、外出/加班 dry-run 和隐私扫描 | 默认不写 OA DB、不写企业微信、不创建模板或审批单;WAPPR1 和三天业务仍需人工确认 | | `WEXT1LD` | `issues/2026-05-20_18-04-16-wecom-outing-overtime-live-dryrun-gate-v1.csv` | 当前外出/加班 live 前 dry-run gate:只做远端 dry-run,不授权企微写入 | 远端执行 `npm run check:wecom-approval-fixtures -- --format=json --target=outing --target=overtime`;固定 `SMOKE002 -> SMOKE101` 和 `WECOM_AGENT_SECRET` | 不设置 `WECOM_APPROVAL_FIXTURE_WRITE=1`,不带 live 写入参数;WREMOTE1 后下一步按 WEXT1-FORMAL 问答决定是否人工提交正式模板测试单 | | `WFULLSMOKE1` | `issues/2026-05-20_19-01-12-three-day-full-goal-smoke-v1.csv` | 当前三天全域最终目标测试总控:覆盖企微 HR/考勤、OA 主办域、移动端和运维巡检 | 新增 `scripts/qa/run-three-day-full-goal-smoke.sh`,聚合 `/ready`、feature flag、WARCH3/WAUTO1、审批归档、打卡摘要、OA 报销/采购/付款批次主路径、移动/企微入口和隐私扫描 | 只允许 `TEST-SMOKE-WFULL` OA 测试业务数据;不写企业微信、不创建外出/加班样件、不启用真实员工、不真实付款、不接真实支付、不写 ERP、不导入银行流水 | | `WROUTE2` | `issues/2026-05-20_20-15-29-wecom-test-account-closeout-to-minimal-mirror-route-v1.csv` | 当前后续路线锁定:测试号全域收口 -> 外出/加班 live POC -> 真实小试用 -> 最小完整镜像 | 固化 WAPPR1 A 为 WEXT1-FORMAL 和 WREAL1 硬门禁;WREAL1 首批固定为 1 名真实员工 + 1 名审批人/管理员观察;WREAL1 通过后优先规划 `wecom_attendance_approval_mirror_v1` 最小完整镜像 | 不写企业微信;不启用真实员工;不创建外出/加班样件;应急接管、恢复回写和 RuleOps 继续后置 | | `WTCLOSE1` | `issues/2026-05-20_21-10-00-wecom-test-account-closeout-auto-dryrun-v1.csv` | 当前小团队自动审批规则与测试号全域收口 dry-run:公司不到 10 人时,四类 HR/考勤模板目标均为 A | 固化一层主管或指定审批角色 + 管理员兜底规则;公网 WAUTO1 `/app/artifacts/qa-flow/wecom-controlled-trial-evidence-20260520-130010/summary.json` 为 `PAUSED_MANUAL_CONFIRMATION`,WFULLSMOKE1 `/app/artifacts/qa-flow/three-day-full-goal-smoke-20260520-125909/summary.json` 为 `PASS_WITH_FINDINGS`,外出/加班 dry-run `/app/artifacts/qa-flow/wecom-approval-fixtures-20260520T125941Z/summary.json` 为 `PASS_FIXTURE_DRY_RUN_READY`;2026-05-21 WAPPR1 四类模板已由用户真机确认均为 A | 不写企业微信;不创建外出/加班模板或审批单;不启用真实员工;进入 WEXT1-FORMAL/WREAL1 前仍需 WRULE1、三天业务动作和最终问答 | | `WTCLOSE2` | `issues/2026-05-22_10-21-12-wecom-test-account-final-closeout-v1.csv` | 当前测试号最终收口与证据复核:WEXT1-FORMAL 前最后自动收口 | 新增 `scripts/qa/run-wecom-test-account-final-closeout.sh`,复跑 `/ready`、WAUTO1、WFULLSMOKE1、外出/加班 dry-run 和 WRULE1;WFULLSMOKE1 在该脚本中关闭公网写流程,WRULE1 使用 `--manual-gate=all:A` | 不写企业微信;不新增 OA 测试业务数据;不创建外出/加班模板或审批单;不启用真实员工;结论只进入 WEXT1-FORMAL 问答 | | `WTCLOSE2F` | `issues/2026-05-22_11-10-06-wecom-test-account-closeout-remote-only-v1.csv` | 当前 WTCLOSE2 远端可信 IP 执行口径修正 | WTCLOSE2 真实运行命令改为 `bash scripts/qa/run-wecom-test-account-final-closeout.sh --remote`,由部署服务器 server 容器执行;本地直接执行默认拒绝跑企微链路 | 本地只做合同、语法、文档和静态门禁;此前本地缺 env/DB 的 WTCLOSE2 输出不作为企微业务阻断证据 | | `WREMOTE1` | `issues/2026-05-22_12-34-41-wecom-remote-closeout-and-full-smoke-v1.csv` | 当前远端收口、全域 smoke 和正式模板外出/加班测试路线 | WFULLSMOKE2 必须使用 `--remote` 在部署服务器执行;外出/加班使用正式模板由 `SMOKE002` 人工提交、`SMOKE101` 审批,系统只读补偿、归档和 WRULE1 | 允许 OA `TEST-SMOKE-WFULL` 测试数据;不写企业微信、不自动创建外出/加班模板或审批单;真实员工信息只通过 `/tmp/hyb-oa-wreal1.env` 临时文件 | | `WEXT1F` | `issues/2026-05-22_14-23-19-wecom-formal-outing-overtime-evidence-v1.csv` | 当前正式模板外出/加班证据脚本:人工提交后从部署服务器只读收证据 | 新增 `WEXT1F_MANUAL_CONFIRMATION=SMOKE002_SUBMITTED_SMOKE101_REVIEWED bash scripts/qa/run-wecom-formal-outing-overtime-evidence.sh --remote`;显式拉取 `outing/overtime` 且按 `creator=SMOKE002` 过滤,写 OA 留存仅限 `WECOM_ARCHIVE_WRITE=1` + `--persist-to-db`;随后做离线归档读取和 WRULE1 | 不创建模板、不自动提交审批、不写企业微信、不启用真实员工;未有人工作业或缺确认标记时只可得到人工缺口结论 | | `OAOPS1` | `issues/2026-05-22_20-09-22-oa-real-use-stabilization-v1.csv` | 历史运行中断:计划 7 天,实际只有 Day 1–Day 4,缺人工业务闭环和 Day 7 Go/No-Go;任务归档只表示生命周期关闭,不代表目标完成 | `scripts/qa/run-oa-real-use-daily.sh` 及 Day 1–Day 4 记录保留为历史证据;旧 runner 曾存在 `SKIP` 假绿风险,不能据此补证最终启用 | 未来由新的 Trellis task 在当前可信基线部署并复核后从 Day 1 连续重启;不得补造 Day 5–Day 7;冻结项继续冻结 | | `ASSET1` | `issues/2026-05-22_21-18-33-oa-asset-governance-v1.csv` | 当前统一资产台账 V1:电子资产 + 固定资产共用现有资产模块 | 扩展 `AssetCard` 为 `FA/EA-DOC/EA-SYS/EA-REPO/EA-BKP`,新增资产大类、敏感级别、负责人/保管人、归档位置、外部引用、hash、历史验证编号、最近验证时间和脱敏索引 dry-run;前端资产页支持类型/敏感级别/编号搜索 | 代码仓库仍由 Git 管理;`EA-ACC` 暂缓;不保存密码、token、Secret、源码包、完整配置、涉密正文、真实完整路径、敏感报价、银行流水原件或未脱敏票面 | | `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` | 历史最终启用门禁来源:业务闭环、权限、备份恢复、数据治理、培训和 Day 7 决策要求仍可复用;未来实际执行由新 Trellis task 承接 | `scripts/qa/run-oa-final-launch-readiness.sh` 默认只读聚合相关证据,输出 `PASS_OA_LAUNCH_READY` / `PASS_WITH_FINDINGS` / `PAUSED_MANUAL_CONFIRMATION` / `SKIP/BLOCKED_BY_EXTERNAL_CONFIG` | 不创建业务数据、不执行付款、不写企业微信、不恢复数据库;未取得新任务完整证据前不得宣布最终正式启用完成 | | `OMAT1` | `issues/2026-05-23_17-20-00-oa-maturity-gap-review-v1.csv` | 当前成熟度缺口审查台账:按 MAGI 审视/执行/提升轮次,对标国内主流 OA、协同、低代码、财务和资产系统,记录每个问题或建议供用户逐项采纳、暂缓或否决 | 已登记最终启用、真实业务闭环、权限、备份恢复、运营支持、流程配置、报表、财务月结、合同、采购、资产、HR 镜像、移动体验、数据治理、SLO、集成、知识档案、主数据、UX、AI 边界、国内对标来源、小团队取舍原则、用户决策回填、成熟度证据视图和最低非功能基线等候选项 | 本台账只做审查和决策,不直接触发业务代码实现;采纳项必须另建或延续对应 Trellis task,并满足 OALAUNCH1 门禁 | | `OPOLICY1` | `issues/2026-05-24_01-20-52-oa-policy-system-alignment-v1.csv` | 当前制度与 OA 对齐合同:先把外部制度包裁剪为小团队 V1,再回写 OA 事实源和启用门禁 | 已固化制度参数、资料留存、用印台账、审批异常 SOP、制度签收和 P2 冻结边界;预算硬控、复杂招采、电子签章、完整电子档案系统、ERP/银行深集成和 AI 自动改规则不作为正式启用前置条件 | 本合同优先制度和事实源调整;现有合同台账/资产台账/公告能力可承载 V1,不立即做 schema 或业务代码改造 | | `OAFRONT6` | `issues/2026-05-25_12-29-03-oa-frontend-maturity-small-step-v1.csv` | 当前前端成熟化小步收口:承接 OAFRONT5 部署后 PC 硬问题清零和设计审计;审批规则路由标题、资产台账详情分区、移动视觉矩阵稳定等待、合同台账表单分组和长编号压缩均已实施部署,公网 PC 只读视觉矩阵复测 `PASS_PC_READONLY_VISUAL_READY` 且 `findingCount=0`;Portal 继续后置观察 | 页面改动使用 `frontend-design` 做视觉裁决,并读取 `docs/产品设计规则.md` 的产品体验事实和 OALAUNCH1 启用门禁;后续 Portal 仍需按真实使用反馈推进 | 不写公网业务数据;不替代真实业务闭环、备份恢复、7 天稳定化或 Day 7 Go/No-Go | | `OAKISS1` | `issues/2026-05-25_20-53-34-oa-business-flow-kiss-review-v1.csv` | 当前全业务流程 KISS 审查台账:按 MAGI 审视/执行/提升轮次,对报销/OCR、审批、采购/费用、合同/项目、付款/AP、票据池、资产、权限、移动/企微入口逐项做自动化和人工步骤审查 | 已形成 OAOPS1、OALAUNCH1、权限矩阵、PC 视觉、负责人审批链、资产试录和 OCR 辅助证据;建议保留 P0 主流程、简化 TEST/SMOKE 噪声和高密度后台页、后置 P2 复杂能力 | 本台账只做审查和建议,不直接改业务代码;真实业务闭环、备份恢复和 Day 7 Go/No-Go 仍按 OALAUNCH1 人工门禁执行 | | `PCDESIGN1` | `issues/2026-05-25_21-27-56-oa-pc-page-design-review-v1.csv` | 当前 PC 全页面设计审查台账:以项目经理和设计总监视角按 MAGI 审视/执行/提升轮次盘点 PC 路由、页面分层、交互、内容和 KISS 建议 | 已复跑关键 PC 视觉矩阵 `PASS_PC_READONLY_VISUAL_READY`,并补全 45 条静态 PC 路由扫描 `PASS_PC_STATIC_ROUTE_SCAN_READY`;建议优先收敛 HR/考勤边界、冻结模块入口、高密度 B/C 页默认视图和动态详情页证据 | 本台账只做审查和建议,不直接改业务代码;采纳后必须另建前端实施 Trellis task | | `TRELLIS1` | `issues/2026-05-26_09-02-34-trellis-primary-development-workflow-v1.csv` | 历史迁移合同:完成 Trellis-first 初始接入 | Trellis task/spec/workflow 成为开发入口的第一步,旧口径仍保留 Issue CSV 绑定 | 历史审计;已由 TRELLIS2 官方 task 合同口径替代 | | `TRELLIS2` | `.trellis/tasks/05-26-trellis2-official-task-contract/` | 当前开发流程合同:采用官方 Trellis task 作为新任务执行合同 | `prd.md` 承载需求/验收/测试,复杂任务补 `design.md` 或 `implement.md`,Issue CSV 降级为历史审计或可选导出格式 | 不改业务代码、不部署、不写公网数据;提交前必须通过 `node scripts/qa/check-trellis-governance.mjs` | | `WREAL1-PREP` | `issues/2026-05-20_14-35-42-wecom-real-trial-prep-v1.csv` | 当前真实试用准备:不启用真实员工 | 固化候选员工、非自审审批人、回滚联系人、允许流程、暂停条件和验收标准;真实试用必须等请假、补卡、外出、加班四类测试号证据、WAPPR1 和 WFULLSMOKE1 通过后再问 | 当前不创建外出/加班 live 样件;真实员工名单不写入 Issue 或文档,后续通过问答确认 | 旧 Issue CSV 不删除、不批量回写、不移动到归档目录。若新治理流替代旧合同,只在新 Trellis task、文档索引或事实源矩阵中说明 supersedes,旧文件保留历史审计语义。 ## 按开发阶段阅读 | 阶段 | 必读入口 | 目的 | | --- | --- | --- | | 需求阶段 | 当前 Trellis task、[海音达OA-MVP需求规格说明书](./海音达OA-MVP需求规格说明书.md)、对应 `需求-*.md`、[产品口径](./产品口径.md) | 判断做什么、不做什么、验收什么 | | 设计阶段 | `frontend-design`、当前 Trellis task、[产品设计规则](./产品设计规则.md)、[架构概览](./架构概览.md)、[集成边界](./集成边界.md)、`docs/ops/*.md`、必要 ADR | 用 `frontend-design` 判断视觉和交互;用项目事实源判断页面职责、权限、状态流、集成和非功能边界 | | 开发阶段 | 当前 Trellis task、[开发交付与变更管理规约](./开发交付与变更管理规约.md)、`AGENTS.md` | 判断文件范围、依赖、方案批准和交接物 | | 测试阶段 | [测试规约与回归门禁](./测试规约与回归门禁.md)、[试运行与自动化验证手册](./试运行与自动化验证手册.md)、当前 Trellis task 的 Test Plan | 判断怎么测、何时可收口 | | 发布阶段 | [发布试运行准备清单](./trialrun/发布试运行准备清单.md)、[公网 Live Smoke 准备清单](./trialrun/公网LiveSmoke准备清单.md)、[OPS7 运维交接 Runbook](./trialrun/OPS7运维交接Runbook.md) | 判断公网、企业微信、真实 OCR 和回滚条件 | | 审计阶段 | [文档事实源状态矩阵](./文档事实源状态矩阵.md)、[人工试运行报告](./trialrun/人工试运行报告.md)、当前 Trellis task、git 历史 | 判断当前事实、历史证据和冲突处理 | | 历史追溯 | [历史功能状态矩阵](./历史功能状态矩阵.md)、旧 Issue CSV、git 历史 | 只追溯,不直接派工 | ## 当前事实源 | 文档 | 用途 | | --- | --- | | [海音达OA-MVP需求规格说明书](./海音达OA-MVP需求规格说明书.md) | PRD 主事实源;WARCH3/WCHECK1/WEXT1 后包含企微审批配置、只读 POC、工程化前置、process gate、请假/补卡样例、自建留存、受控上线巡检、打卡摘要、外出/加班 dry-run 和深度镜像前置口径 | | [文档事实源状态矩阵](./文档事实源状态矩阵.md) | 文档分类、删除恢复和冲突规则 | | [产品设计规则](./产品设计规则.md) | 产品体验事实源;记录 PC、移动、企业微信职责、页面分层、信息语义和验收边界;视觉与交互裁决以 `frontend-design` 为准 | | [企微优先开发路线图](./企微优先开发路线图.md) | WDRG/WCP1/WCPC/WHMS/WHMSLIVE/WOUA/WAPI/WRRA/WOUA-FIX/WRV1/WRA1/WMSG1/WAPC1/WAPC2/WPROC1/WPROC2/WAPC2F/WAPC2FLIVE/WCBK1/WEGOV1/WACP3/WACP3R/WREAD1/WREAD1F/WARCH1/WARCH2/WROAD2/WARCH3/WCHECK1/WEXT1/WOPS1/WROAD2-CLOSEOUT/WROAD2-BIZ1/WAPPR1/WRULE1/WAUTO1/WEXT1LD/WFULLSMOKE1/WTCLOSE1/WTCLOSE2/WREAL1-PREP 后企微优先 HR/考勤改造的阶段顺序、准入/退出门禁、并行规则、禁止跳阶段、API/Secret 口径、运行优先、自建留存、受控上线巡检、三天业务冒烟、审批规则规范化、审批链校验、自动证据汇总、全域最终目标测试、测试号最终收口、告警降噪、打卡摘要、外出/加班 dry-run、WEXT1-FORMAL 和后续 WREAL1/镜像前置事实源 | | [企微 API 能力目录](./企微API能力目录.md) | WAPI/WAPC1/WAPC2/WPROC1/WPROC2/WAPC2F/WAPC2FLIVE/WCBK1/WEGOV1/WACP3/WACP3R/WARCH1/WARCH2/WROAD2/WARCH3/WCHECK1/WEXT1 后企微官方 API、Secret 矩阵、权限/可信 IP/回调模板、读写边界、运行优先、审批配置、只读 POC、回调/补偿入库、打卡摘要留存、外出/加班 dry-run 和巡检写 OA 留存边界事实源 | | [产品口径](./产品口径.md) | 已拍板产品边界和业务规则;WEGOV1 后包含混合主办、自建留存、受控测试域、后续阶段顺序和深度镜像前置口径 | | [需求 - 统一审批中心规约](./需求-统一审批中心规约.md) | OA 主办审批、企微主办 HR/考勤员工日常审批镜像、催办、超时提醒、审批效率 | | [报销发票附件规则](./报销发票附件规则.md) | 报销、发票、OCR、附件细则 | | [需求 - 报销发票 OCR 规约](./需求-报销发票OCR规约.md) | 报销发票 OCR 模块规约 | | [需求 - 企业微信基础设施规约](./需求-企业微信基础设施规约.md) | 企业微信入口、身份、消息、deeplink、HR/考勤员工日常审批、打卡、人事助手、按域镜像、OA 接管和恢复回写 | | [需求 - 请假考勤修正规约](./需求-请假考勤修正规约.md) | 企微请假/补卡/外出/加班、WAPC1 审批配置准备、WAPC2 请假/补卡只读 POC、WAPC2FLIVE 请假/补卡样例、WPROC1/WPROC2 后续门禁、WROAD2 受控巡检、WARCH3/WCHECK1/WEXT1 后续队列、考勤镜像、OA 应急接管和恢复回写 | | [需求 - 采购费用审批规约](./需求-采购费用审批规约.md) | 采购、费用、附件、审批规则 | | [需求 - 合同附件归档规约](./需求-合同附件归档规约.md) | 合同台账和附件归档边界 | | [需求 - 项目轻管理规约](./需求-项目轻管理规约.md) | 项目轻管理边界 | | [需求 - 资产管理规约](./需求-资产管理规约.md) | 统一资产台账、编号族、电子资产安全边界和离职交接口径 | | [测试规约与回归门禁](./测试规约与回归门禁.md) | 自动化、视觉、真机、状态回填 | | [开发交付与变更管理规约](./开发交付与变更管理规约.md) | Trellis task、review、提交、交付和企微阶段门禁顺序 | | [Agent开发交付实践](./Agent开发交付实践.md) | Agent 协作和交付实践 | | [AGENTS 项目规则](../AGENTS.md) | 执行硬约束 | | [Trellis Workflow](../.trellis/workflow.md) | TRELLIS2 后官方 Trellis task 开发主流程入口 | | [Trellis Project Specs](../.trellis/spec/hyb-oa/index.md) | TRELLIS2 后稳定开发规则和高频工程边界入口 | ## 当前操作手册 | 文档 | 用途 | | --- | --- | | [管理员手册](./管理员手册.md) | 管理员上线、权限、试运行配置 | | [员工快速上手](./员工快速上手.md) | 员工侧使用说明 | | [试运行与自动化验证手册](./试运行与自动化验证手册.md) | 本地、公网、企业微信和真实 OCR 验证 | | [发布试运行准备清单](./trialrun/发布试运行准备清单.md) | 发布候选、权限审计、部署预检和试运行门禁 | | [公网 Live Smoke 准备清单](./trialrun/公网LiveSmoke准备清单.md) | 公网、真实 OCR、企业微信入口复核条件 | | [真机公网测试清单](./trialrun/真机公网测试清单.md) | 真实手机、企业微信、移动浏览器人工验收 | ## 草案和准备材料 | 文档 | 边界 | | --- | --- | | [R7 扩大试运行草案](./trialrun/R7扩大试运行草案.md) | 只作历史准备材料;R7E 也已是历史证据,未来真实连续试运行由新 Trellis task 从 Day 1 承接 | | [OPS7 运维交接 Runbook](./trialrun/OPS7运维交接Runbook.md) | 不代表已执行生产配置变更、恢复演练或回滚 | | [R7 用户手册与 FAQ](./trialrun/R7用户手册与FAQ.md) | 只描述已实现能力,不承诺预算、ERP、AI、完整差旅或复杂 BPM | ## 历史证据入口 | 文档 | 用途 | | --- | --- | | [历史功能状态矩阵](./历史功能状态矩阵.md) | 轻量历史功能索引;旧大表从 git 历史恢复 | | [人工试运行报告](./trialrun/人工试运行报告.md) | R6 后当前状态、关键证据索引、OMAT1 成熟度验收摘要、域级能力对标矩阵、人工决策问答清单、审查决策包、状态审计、MAGI 轮次审视和 OAFLOW1 负责人本人报销兜底审批口径 | | [R7E 后功能边界审计](./trialrun/R7E后功能边界审计.md) | R7E 后全端功能边界、P2 候选和后续候选草案 | | [试运行覆盖矩阵](./trialrun/试运行覆盖矩阵.csv) | 轻量覆盖摘要 | | [项目级流程覆盖矩阵](./trialrun/项目级流程覆盖矩阵.csv) | `check-flow-coverage` 使用的最小流程矩阵 | | [权限直连审计记录](./trialrun/权限直连审计记录.md) | 权限直连审计证据 | | [移动信息架构视觉流程审查](./trialrun/移动信息架构视觉流程审查.md) | MIA7 审查结论,整改收口以 MIF7/MIF7T 和当前事实源为准 | ## 技术参考 | 文档 | 说明 | | --- | --- | | [架构概览](./架构概览.md) | 当前架构和运行时边界 | | [集成边界](./集成边界.md) | 历史 ERP/IM/AI/MCP/PWA 集成边界;HRWD 后 ERP 未来不接入 OA,不扩大当前 MVP 范围 | | [领域事件清单](./领域事件清单.md) | 领域事件名和对外事件边界 | | [MCP Tools](./mcp-tools.md) | 脚本和 AGENTS 强引用,保留英文文件名 | | [非功能基线](./ops/非功能基线.md) | 安全、性能、回滚、上线最低要求 | | [SLO 错误预算](./ops/SLO错误预算.md) | SLO 和错误预算 | | [测试策略](./ops/测试策略.md) | 自动化测试和门禁策略 | | [CI 回归报告归档](./ops/CI回归报告归档.md) | CI 回归报告归档 | | [DORA 指标](./ops/DORA指标.md) | CFR 等 DORA 指标 | | [链路追踪策略](./ops/链路追踪策略.md) | OpenTelemetry 追踪策略 | | [ADR: 移动端路线决策](./adr/移动端路线决策.md) | PWA、RN、小程序路线历史决策 | | [ADR: 企业卡/虚拟卡管控预研](./adr/企业卡虚拟卡管控预研.md) | 企业卡能力预研 | ## 已从当前树移除 这些文档不再作为当前资料维护;需要时从 git 历史恢复,例如 `git show 5da05eb:<旧路径>`。 | 旧路径 | 恢复说明 | | --- | --- | | `docs/implementation_plan.md` | 早期实施计划 | | `docs/tech_stack_report.md` | 早期技术栈报告 | | `docs/invoice-pool-refactor-plan.md` | invoicePool 一次性拆分方案 | | `docs/migration-mapping.md` | 旧迁移映射 | | `docs/MVP主线代码差距盘点.md` | A1 旧盘点 | | `docs/todo-reconciliation.md` | 旧 TODO 清账 | | `docs/mobile/pwa-regression-checklist.md` | 旧 PWA 回归清单 | | `docs/trialrun/domestic-oa-best-practices.md` | 旧外部调研快照 | | `docs/trialrun/async-ux-audit.csv` | 旧异步体验审计 CSV | | `docs/trialrun/deployment-preflight-2026-05-10.md` | 旧部署预检记录 | | `docs/requirements-specification.md` | 旧 PRD 跳转入口 | ## 阅读顺序 1. 新需求:当前 Trellis task PRD + 对应模块规约。 2. 页面体验:视觉与交互先使用 `frontend-design`;业务体验事实参考产品设计规则。 3. 报销/发票:报销发票附件规则 + 报销 OCR 规约。 4. 试运行/部署/真机:试运行手册 + 发布清单 + 真机清单。 5. 历史追溯:历史功能状态矩阵 + git 历史 + 相关 Issue CSV。