Files

51 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# GOV-010 测试与质量证据
- 功能编号:GOV-010
- 验证提交:`61f85e5`
- 验证日期:2026-08-13
## 全量命令
以下命令按顺序执行,均退出码为 0:
| 命令 | 结果 | 关键证据 |
|---|---|---|
| `pnpm check:contracts` | passed | OpenAPI 与生成 TypeScript 契约无漂移;项目边界验证通过 |
| `pnpm lint` | passed | Web 与 Server ESLint 无错误 |
| `pnpm format:check` | passed | 全仓 Prettier 格式通过 |
| `pnpm typecheck` | passed | Web、Vite 配置和 Server TypeScript 检查通过 |
| `pnpm test` | passed | runtime 2、governance 9、MySQL 2、环境 10、Schema 28、contracts 3、boundaries 16、deployment 6、Web 11、Server 30 + API 预检 2 |
| `pnpm build` | passed | Web Vite 构建;API、Scheduler、Worker 三进程 Nest 构建 |
| `pnpm verify:e2e` | passed | Chromium 桌面和移动 4/4 通过 |
| `pnpm verify:source` | passed | 源码发布产物与 systemd/Nginx 配置通过 |
## 安全验证
- `redis-cli -h 127.0.0.1 -p 6379 ping` 返回 `PONG`;只验证开发机本地 Redis 可达,不读取生产配置或数据。
- 构建产物扫描 `MYSQL_PASSWORD|AI_API_KEY|Root@|mysql://root:|Authorization: Bearer` 未发现匹配。
- 修复前官方 npm audit 发现 `server>@nestjs/swagger>js-yaml@5.2.1` 的 GHSA-pm4m-ph32-ghv5 High 拒绝服务漏洞;`@nestjs/swagger@11.4.6` 仍精确依赖 5.2.1。
- 提交 `e992edc` 使用 pnpm 项目级精确 override 将 `@nestjs/swagger>js-yaml` 固定到修复版本 `5.2.2`。`pnpm why js-yaml --prod -r` 和解析路径检查均确认实际版本 5.2.2。
- 修复后 `pnpm audit --prod --registry=https://registry.npmjs.org/` 返回 `No known vulnerabilities found`。
- 取消请求、网络错误和 HTTP 错误脱敏由 `web/src/utils/request.test.ts` 覆盖;错误不保留原始 URL、请求头、响应正文或连接串。
- 本功能不新增认证 Cookie、远程 HTML、动态 SQL、服务端 URL 抓取或生产数据库访问,因此 CSRF、XSS、SQL 注入和 SSRF 的运行攻击测试不适用;后续触及这些边界必须重新评估。
## 性能验证
- Web 构建基线(Axios 迁移前):JS `163908` 字节,CSS `805` 字节。
- 当前 Web 构建:`web/dist/assets/index-BjClxDN-.js` `163908` 字节,`web/dist/assets/index-13WJH6XV.css` `805` 字节;本次页面未接入健康 API,产物体积无增量。
- `request.ts` 默认超时为 10 秒,不启用自动重试;测试覆盖超时配置和取消语义。
- 治理与边界扫描只在开发/发布验证运行,不进入线上请求路径;当前仓库规模不需要负载测试。市场查询、MySQL 索引、Redis TTL、RocketMQ 吞吐、Worker 并发和图表渲染均未被本功能改变,后续业务功能需单独设定目标。
## 视觉与构建附加证据
- 桌面截图:`screenshots/iterations/app-shell-desktop-1440x900-61f85e5.png`,实际浏览器 DOM 视口 1440×900。
- 移动截图:`screenshots/iterations/app-shell-mobile-61f85e5.png`,实际浏览器 DOM 视口 390×844。
- 两个视口均有可见 `main` 和页面标题,无横向溢出;浏览器错误/警告日志为空。截图只证明本次请求基础设施迁移没有造成外壳回归,不代表市场概览 UI 已实现。
## v0.0.8 发布封存验证(2026-08-17)
- GOV-009 与 GOV-010 完成门禁均通过;`pnpm verify:release` 以 Node.js 22.22.0、pnpm 10.25.0 完整通过。
- 最终计数为治理 10、MySQL 2、环境 10、Schema 28、契约 3、边界 16、部署 6、Web 11、Server 30、API 预检 2、Playwright 4,全部通过且无失败。
- Web 与 API/Scheduler/Worker 构建、源码产物、systemd/Nginx 一致性均通过;本次仅改变发布文档和状态,不改变 Axios、OpenAPI 或后端运行行为。
- 安全边界与 2026-08-13 Review 一致:不访问生产配置或数据库,不输出凭据,不写入 Redis/MySQL,不启用 RocketMQ 收发。