2.5 KiB
2.5 KiB
生产可信度收口设计
目标架构
本任务不重写业务架构,只在现有入口增加可验证的安全与发布边界。实施按可独立回滚的工作包进行,每个工作包完成后运行聚焦测试,最终再跑全量门禁。
工作包
WP1:恢复测试基线
- 使用 Vitest fake timers 或显式注入当前时间,修复公告测试时间炸弹。
- 更新导航测试到当前批准名称,不在实现中恢复旧名称。
- 将
server npm test纳入最小/CI 可信门禁,避免静态绿灯掩盖全量失败。
WP2:运行时与依赖安全
- 统一 Node 22。
- 按研究摘要分三段升级依赖;每段运行认证、回调、邮件、Prisma 和 server 全量测试。
- 生产依赖审计无 critical;直接可达 high 清零,其余项写明依赖路径和处理结论。
WP3:Readiness 与 Seed 防误操作
- 给 readiness 子步骤增加结构化状态和 finding 传播。
- 新增缺前置条件回归,保证
SKIP不会成为 clean PASS。 - 抽出可单测的 dev-seed safety guard;默认不覆盖既有密码,日志不输出口令。
WP4:发布追溯与敏感治理
- 部署前检查 clean tree、commit/upstream,并把 build SHA 传入构建和版本响应。
- 扩大当前事实源/README/部署入口的脱敏扫描,输出文件与类别而非匹配原文。
- 脱敏当前文档中的完整账号、凭据、基础设施信息和绝对路径;不批量重写历史 CSV。
WP5:第一批生成物清理与第二批候选
- 删除可重建且无跟踪引用的 build/test 临时目录。
- 保留根级
output/、artifacts/,提交第二批候选清单,不删除 Git 跟踪兼容代码。
验证矩阵
- 后端:Prisma validate/generate check、全量
npm test、触达文件node --check、认证/企微回调/邮件聚焦测试、生产依赖审计。 - 前端:typecheck、build、Router 聚焦 smoke。
- QA:readiness 四类状态场景、process/Trellis/docs gates、部署环境契约、shell syntax。
- 治理:task validate、敏感扫描、
git diff --check、只读 reviewer。
回滚
- 依赖段按 package/lockfile 和相关适配代码分别回滚,不使用 amend 或重写迁移。
- readiness/seed/deploy 入口均保留旧业务行为之外的 fail-closed 变化;若验证失败,回滚对应工作包,不放宽安全边界。
- 删除仅限可再生忽略目录;必要时由 build/test 命令重建。
部署边界
本任务完成只代表本地可信基线。公网部署、远端配置和带凭据复核需另行明确批准。