Files

3.3 KiB
Raw Permalink Blame History

代码 Review

  • 审查范围:c04184a6111da0cfad90d1a265dc3cd3a6d90a9c..95b8611bd9bbc282193591e472e2e19c617e5035
  • 审查方式:独立只读复审
  • 日期:2026-08-13

发现与处置

第一轮发现三进程生命周期依赖本地 env、未跟踪生成契约可绕过漂移检查、Vue 外部脚本可绕过边界、生产镜像允许可变 tag,以及 Docker 未验证镜像内 Scheduler/Worker 生命周期。上述问题已在 cb550e3 完成整改并通过针对性测试。

最终复审进一步发现早期外部脚本正则不能识别合法的无引号 src 属性。GitNexus 单符号影响分析为 LOW,只有 verifyProjectBoundaries 一个直接调用者和一条边界检查流程。95b8611 改用固定版本 @vue/compiler-sfc@3.5.41,直接拒绝普通脚本或 setup 脚本的外部 src,测试覆盖双引号、单引号、无引号和属性换序,边界用例 8/8 通过。

最终证据

  • pnpm verify 完整通过:静态检查、类型、全部测试、Web/Server 构建和 Playwright 4/4。
  • 契约漂移 3/3、工程边界 8/8、镜像引用 5/5、Web 8/8、Server 30/30。
  • Scheduler/Worker 的源码子进程生命周期使用公开 production fixture,可在干净 checkout 复现。
  • HTTP 契约保持 Server DTO → OpenAPI → Web 单向发布;RocketMQ 消息契约只在 Server 内部。
  • 未发现新的配置泄漏、安全、生命周期、错误处理或生产风险。
  • Docker 是已验证过的历史可选交付能力;按用户决定不再作为后续日常门禁,最终开发完成后再决定是否保留。

Critical、Important、Minor 均无未关闭问题。

最终结论:passed

仅源码部署调整复审

  • 审查范围:cfcd7f13d9a6a35173d01bd8ca1458911190e70f..47d0e0d248eb9b21cbd12f1625d3bd0e9c266dc9 及其后 Review 修复
  • 审查重点:发布门禁绕过、子进程与信号、Redis 失败语义、systemd/Nginx 真实命令、历史证据和测试缺口

发现与处置

  1. Important:systemd 模板目标名不可执行。 初版源码手册把 *.service.example 原样安装并以该名称重启,真实 systemd 单元名不正确。新增环境契约测试先 RED,随后改为分别安装成 a-share-api.service、a-share-scheduler.service、a-share-worker.service,并统一 verify/restart/status/journalctl 命令;环境 10/10 GREEN。
  2. Important:Docker 禁止清单可被新路径绕过。 初版只阻断已删除的固定旧路径,ops/Dockerfile 或新 Compose YAML 会被放行。新增未列举路径测试先 RED,随后用递归活动资产扫描阻断任意 Dockerfile、.dockerignore、docker-compose*.yml 和 compose/ YAML;部署测试 6/6 GREEN。

最终证据

  • pnpm verify:release 完整通过,包含静态检查、类型、全部测试、四类构建、Playwright 4/4 和源码发布校验。
  • Redis 不可达时只返回脱敏的固定本机服务提示;无安装、启动、停止或删除基础设施的分支。
  • API 子进程只接收公开禁用态测试夹具,SIGINT/SIGTERM 只转发给该子进程。
  • 源码门禁要求 Web 与三个 Server 入口、三份最小权限 systemd 单元和 Nginx Web/API 配置完整。
  • 当前跟踪文件没有 Dockerfile、Compose、.dockerignore 或 Docker 专用脚本;历史文档事实仍可追溯。

Critical、Important、Minor 均无未关闭问题。

最终结论:passed