文件
hyb-oa/.trellis/tasks/08-05-product-interaction-consistency/design.md
T

3.5 KiB

设计说明

1. 任务树与边界

父任务只维护共同目标、子任务边界、顺序和最终集成验收,不直接修改业务代码。

子任务 交付物 主要风险
08-05-interaction-pattern-unification 错误/状态/文案/反馈/移动动作一致性,删除差旅自动选中 跨页面文案回归、共享组件影响
08-07-interaction-pattern-browser-regression 补齐低风险统一的本地 Chromium 与企业微信 UA 模拟证据 证据边界、历史 spec 漂移
08-07-e2e-fixture-repair 修复 R6/R111 committed E2E fixture 与断言,勘误历史诊断 测试口径被误删、fixture 权限漂移
08-05-business-detail-routing 采购、资产已有详情态迁到独立路由 URL 兼容、返回、dirty guard
08-07-business-routing-regression-repair 关闭资产创建后被 dirty guard 拦截及采购断言漂移 保存成功导航、共享 guard 放行边界
08-05-contract-detail-workspace 新建合同详情、终止状态、迁移和事务审计 状态机、权限、迁移、审计

08-07-local-database-migration-readiness 是合同开工前独立执行的本地基线恢复任务,不属于父任务产品子任务,但其迁移状态与真实回归结果作为集成证据保留。

2. 执行顺序

  1. 先实施低风险统一,形成后续页面可复用的错误消息、状态兜底和移动动作模式。
  2. 补齐低风险统一的浏览器证据,并修复补跑暴露的 committed E2E fixture/断言红灯。
  3. 再迁移采购/资产路由;该子任务只消费共享模式,不修改合同、差旅、付款或请假。
  4. 本地数据库基线恢复后,独立关闭真实回归暴露的资产创建跳转与采购断言漂移,不把该修复混入合同任务。
  5. 合同详情作为独立能力最后实施,必须单独批准其 schema、状态机与迁移计划。

父子关系不隐含自动授权。每个子任务都要独立执行 task.py start、验证、提交与归档。

3. 共同设计合同

  • 页面职责以 docs/产品设计规则.md 为准,视觉细节在 frontend-design 不可用时保守复用现有组件。
  • 普通用户文案使用自然中文;技术 code、原始 payload、完整路径和敏感资料不进入普通页面。
  • 列表负责查找,详情负责处理;差旅、付款和请假按已确认例外保持现有业务边界。
  • 高风险动作必须有对象摘要、后果、理由和审计;服务端权限与状态校验始终为最终边界。
  • 所有面向用户可测改动只有在另行批准部署并通过公网检查后才能宣布线上可测。

4. 集成与回滚

  • 三个产品交付子任务和质量支撑任务均独立提交;任何后续任务失败时可回滚该子任务,不回滚已经验收的前序任务。
  • 路由兼容保留旧链接过渡,避免低风险任务和路由任务必须同时上线。
  • 合同 migration 与前端详情同批兼容发布;生产应用、迁移和数据写入另需授权。
  • 最终集成复核只检查跨任务一致性、链接、共享组件和文档事实,不重做每个子任务的全部测试。

5. 共同验证

  • cd client && npm run typecheck && npm run build
  • 相关聚焦 Playwright 与后端 Vitest
  • python3 ./.trellis/scripts/task.py validate <task>
  • node scripts/qa/check-process-contract.mjs --baseline --json
  • node scripts/qa/audit-docs.mjs --check-registry
  • node scripts/qa/check-trellis-governance.mjs
  • git diff --check