11 KiB
11 KiB
收口遗留任务与运行手册状态
Goal
在开展全系统功能、页面与设计审查前,先让 Trellis task、现行运行手册、部署事实和真实试运行状态一致,清除“已经完成但未归档”“已经实现但未验收”“历史运行中断却仍显示进行中”等状态债,避免后续审查基于错误口径。
Scope
- 收口三个遗留 Trellis task 的真实生命周期和验证状态。
- 更新现有文档索引、状态矩阵、试运行手册、发布准备清单和真机公网清单中的当前口径。
- 只运行本地、无凭据验证;不修改业务实现,不执行公网或生产动作。
- 为后续独立多维系统审查建立干净、可信的事实基线。
What I Already Know
- 当前工作树干净,Trellis governance 与流程基线通过。
05-31-business-edit-template-remove-ledger-tools-wave1的功能、验证、部署和公网复检均已有证据,只缺任务归档。05-31-unified-page-header-actions已有实现提交,相关实现文件后续未再改变,但 PRD 的 7 项验收均未回填,也没有正式验证结果。05-26-oa-seven-day-trial-live-ops只留下 Day 1–Day 4 证据,缺 Day 5–Day 7、现场人工业务闭环与 Day 7 Go/No-Go;旧 readiness 还曾错误地把部分SKIP汇总成 cleanPASS。- 最后确认的公网部署基线是
df26922;当前main另有 14 个提交,其中包含 7 月本地 P0 可信度修复,尚无部署证据。 - 现行试运行/发布手册仍混有 5 月旧状态和 Issue-first 入口,尚未吸收 Trellis-first 与“本地已修、尚未部署”事实。
- 用户已确认:先完成收口,再单独从功能、页面、设计等多个角度审查已经完成的系统。
Confirmed Scope
- 本任务只做状态和事实源治理,不修改业务代码、接口、数据库、权限或页面表现。
- 用户于 2026-07-16 选择方案 1:旧 7 天任务明确记录“历史运行中断、原目标未完成、后续由新连续试运行替代”后归档。
- 用户于 2026-07-16 明确批准本 PRD 与
design.md的实施方案,可以进入本地收口;外部动作仍未授权。 - 归档只表示任务生命周期关闭,不能表述为旧 7 天试运行目标已经实现。
- 页面操作区任务只做当前代码基线验收;如发现失败或视觉问题,记录 finding 并另建修复 task,不在本任务顺手扩大范围。
- 多维系统审查是本任务完成后的独立 Trellis task,其审查结论先分级,不自动实施所有修复。
Open Questions
- 无。
Requirements (Evolving)
- 复核并归档已经完整完成的业务编辑模板任务。
- 对页面右上角操作区任务运行当前基线验证:前端 typecheck/build、聚焦 Playwright、关键页面视觉/结构复核、task/governance/diff 门禁。
- 验证通过后回填该任务 PRD、提交引用和验证结果并归档;失败时只记录 finding,不虚报完成。
- 对旧 7 天试运行保存真实事实:仅 Day 1–Day 4、目标未完成、不得补造 Day 5–Day 7 或 Go/No-Go。
- 更新现有文档入口、状态矩阵和运行手册,使其采用 Trellis-first,并明确 7 月 P0 基线尚未 push/部署、正式启用仍需新连续试运行。
- 不新建重复业务手册;只更新现有事实源和当前 Trellis task。
- 收口完成后输出下一阶段多维系统审查的建议边界,但不在本任务执行审查或修复。
Acceptance Criteria (Evolving)
- 三个遗留 task 均有真实、可解释的最终状态,不补造历史证据。
- 已完成的业务编辑模板任务已归档。
- 页面操作区任务的 7 项验收有当前验证证据;通过则归档,失败则保留明确 finding。
- 旧 7 天任务明确记录中断、未完成和替代路线,不再被误读为仍可续跑的连续试运行。
- 当前文档入口、状态矩阵与试运行/发布手册不再把 Issue CSV 作为新任务执行入口。
- 文档明确区分本地 P0 基线、最后公网部署基线和未来新 7 天试运行。
- Trellis task validate、governance、文档审计与
git diff --check通过;可解释的 registry/stale-term warning 单独登记。 - 工作树只包含本任务批准的 task、状态和现有文档更新,不含业务代码修改或验证生成物。
Test Plan
cd client && npm run typecheck
cd client && npm run build
cd client && E2E_BASE_URL=http://127.0.0.1:5173 npx playwright test tests/e2e/r103-cross-page-ui-consistency.spec.ts --workers=1 --reporter=list
python3 ./.trellis/scripts/task.py validate .trellis/tasks/archive/2026-07/05-31-business-edit-template-remove-ledger-tools-wave1
python3 ./.trellis/scripts/task.py validate 05-31-unified-page-header-actions
python3 ./.trellis/scripts/task.py validate .trellis/tasks/archive/2026-07/05-26-oa-seven-day-trial-live-ops
python3 ./.trellis/scripts/task.py validate 07-16-legacy-task-runbook-closeout
node scripts/qa/check-process-contract.mjs --baseline --json
node scripts/qa/audit-docs.mjs --check-registry
node scripts/qa/audit-docs.mjs
node scripts/qa/check-trellis-governance.mjs
git diff --check
- 聚焦 Playwright 只使用本地 mock,不访问公网或真实账号。
- 若测试需要启动本地 Vite,由验证会话启动并在结束后关闭;不得连接生产数据库。
- 视觉证据先复用/复核既有非敏感截图;如生成新文件,只处理本轮明确生成的路径,不删除既有
output/或artifacts/。
Definition of Done
- 状态、提交、部署、试运行和文档事实相互一致。
- 不把归档动作误写成业务目标完成,不把本地验证误写成公网已部署。
- 所有修改形成中文本地提交计划并另行取得提交确认。
- 不 push、不部署、不运行带凭据公网测试、不写真实数据。
Verification Results
- 业务编辑模板任务:
task.py validate、实现/部署提交复核和旧入口静态搜索通过,已按正常完成语义归档到 2026-07。 - 旧 7 天试运行:确认只有 Day 1–Day 4,已写明原目标未完成、旧 runner 假绿风险和未来替代路线后归档;未补造任何日期或人工证据。
- 页面操作区:相关实现自
dcf34d7后未漂移;typecheck/build 通过,Vite 转换 2381 个模块,PWA 102 个预缓存条目;Vite dev 模式聚焦 Playwright 3 passed。 - production preview 首跑 Playwright 的 1 个失败来自 PWA Service Worker 绕过
page.routemock 并回到登录页;切回该测试原本适用的 Vite dev 模式后 3/3 通过,因此归类为验证环境问题。 - 页面操作区只读复核登记 5 类后续 finding:付款、合同、票据权限显隐,资产旧测试交互,以及七页面视觉/合同覆盖不足;该任务继续
in_progress,未虚报完成。 docs/五份现行入口/手册已改为 Trellis-first,并区分df26922历史部署来源、7 月本地未部署基线、旧试运行中断和未来 Day 1 重启。- 最终 reviewer 指出的 3 组治理阻断已清除:现行手册不再要求创建修复/数据库治理 Issue,状态矩阵的 IDX/REG、OAOPS1/OALAUNCH1 与 2026-05 历史门禁语义已校正,当前 task 的两个归档任务引用和 validate 命令均使用
archive/2026-07实际路径。 - 当前 task 的
implement.jsonl/check.jsonl已各登记 4 条真实 spec/research 上下文;四个相关 task validate 全部通过。 - process baseline 与 Trellis governance 通过,无 warning/error;文档 registry 无 error,未登记文档由 24 降为 22。
- 当前事实源敏感内容门禁扫描 30 个文件、0 finding;新增登记手册暴露出的一条历史个人工作区绝对路径已改为脱敏用户级引用。
- 稳定治理经验已写入
project-governance.md:中断/被替代任务的completed只表示生命周期关闭,归档前必须记录未完成事实、缺口和替代路线,未满足验收不得勾选。 - 文档 full audit 保留 19 个非阻断启发式 warning:22 个未登记文件汇总、5 份文档的历史/当前状态词复核,以及 13 个 QA 脚本敏感字面量风险提示;本轮不为清零数字批量改写历史证据或无关脚本。
- 最终复跑
git diff --check通过;上述流程、治理、文档和敏感内容门禁均为 2026-07-16 当前工作树结果。 - 本轮生成的
client/dist、client/test-results和 Playwright report 已清理;output/playwright/r103的三份历史截图已在审查后原样恢复并核对哈希。 - 未 fetch、push、部署、运行带凭据公网测试或执行任何业务/数据库/企业微信写入。
Feasible Approaches
方案 1:显式关闭历史任务并建立新起点(推荐)
- 把旧 7 天任务写明为“历史运行中断、原目标未完成、后续由新连续试运行替代”,然后归档。
- 优点:活动任务列表与真实状态一致,后续新任务从 Day 1 开始,证据链清晰。
- 代价:Trellis 的归档状态是生命周期
completed,必须在 PRD/task notes 中明确这不代表原目标达成。
方案 2:保留旧任务为进行中
- 更新说明但不归档,等新试运行真正启动后再处理。
- 优点:不会把归档状态误读为目标完成。
- 缺点:继续保留已经过期的活动任务和状态债,后续审查仍需特殊解释。
方案 3:沿用旧任务续跑 Day 5–Day 7
- 不推荐。日期已经中断,且旧 runner 结论存在可信度缺陷,无法形成连续 7 天证据。
Decision (ADR-lite)
Context:旧试运行已中断一个多月,缺少连续天数、人工闭环和 Go/No-Go;继续显示 in_progress 会污染后续系统审查,直接标为成功又会伪造证据。
Decision:采用方案 1。先在旧任务正文和 notes 中写明未完成事实与替代路线,再执行归档。Trellis 的 completed 只解释为生命周期关闭,不能解释为原试运行目标达成。
Consequences:活动任务列表恢复真实;未来正式试运行必须新建任务并从 Day 1 连续执行。代价是阅读归档元数据时必须结合 PRD 的 closeout 结论,不能只看状态字段。
Out of Scope
- 业务功能、页面布局、交互或设计修复。
- 新的连续 7 天真实试运行执行。
- push、部署、公网检查、真实 OCR、真实业务写入、恢复演练或生产配置变更。
- 删除历史 Issue CSV、归档 task、迁移或运行证据。
- PWA、Postman、冻结模块、ERP 等第二批清理。
Technical Notes
- 收口证据见
research/closeout-status-audit.md。 - 项目治理:
.trellis/spec/hyb-oa/project-governance.md。 - 文档与证据:
.trellis/spec/hyb-oa/docs-and-evidence.md。 - 部署边界:
.trellis/spec/hyb-oa/deployment-trialrun.md。 - 当前现行入口:
docs/文档索引.md、docs/文档事实源状态矩阵.md、docs/试运行与自动化验证手册.md。 - 页面操作区后续修复必须在独立 task 中处理,不能在本收口任务修改业务代码。