diff --git a/docs/BUG_HISTORY.md b/docs/BUG_HISTORY.md index 5118d926..e3f32f31 100644 --- a/docs/BUG_HISTORY.md +++ b/docs/BUG_HISTORY.md @@ -2176,3 +2176,19 @@ - 防复发:任何报告出生时间状态扩展必须同时更新服务端事实门槛和客户端可见性测试;客户端不得仅以资料表单完成度推导报告可生成。 - 相关记录:BUG-117、BUG-119 - 修复版本:本次个人报告 staging 发布提交 + +## BUG-126 | 正式报告页进入能力审计后质量门禁仍断言旧路由集合 + +- 状态:resolved(local,pending quality-gate rerun) +- 首次发现:2026-08-06 +- 最近更新:2026-08-06 +- 影响面:`tests/test_api_server_security.py`、Gitea `Staging Backend Quality Gate`、正式报告页面可发现性审计 +- 用户现象:PR quality gate run `1453` 中 290 项 Python 检查通过,但 `test_capability_audit_scans_registry_and_local_sources` 因扫描结果新增 `reports/[reportId]` 而失败。 +- 触发条件:新增 `frontend/src/app/reports/[reportId]/page.tsx` 后运行 API 安全 quick quality gate。 +- 根因:能力审计会动态扫描前端页面,新增报告 reader 被正确识别;精确路由集合测试仍锁定新增前的六个页面,且本地个人报告聚焦矩阵没有包含该跨层能力审计测试。这是 BUG-014 的同类契约更新遗漏。 +- 修复:将 `reports/[reportId]` 明确纳入能力审计预期路由集合,不隐藏或排除真实产品入口;将该测试纳入本轮修复后的本地和远端门禁复验。 +- 验证:`tests/test_api_server_security.py::test_capability_audit_scans_registry_and_local_sources` 聚焦通过;完整 Gitea quality gate 结果待新 run 记录。 +- 防复发:新增或删除 Next.js 页面时必须运行能力审计安全测试;报告前端验收矩阵增加跨层 `_scan_app_routes` 契约,不能只运行 `frontend/tests/personal-report-*`。 +- 相关记录:BUG-014、BUG-125 +- 复发自:BUG-014 +- 修复版本:本次个人报告 staging 发布提交 diff --git a/tests/test_api_server_security.py b/tests/test_api_server_security.py index 6ae2ba11..6231ef17 100644 --- a/tests/test_api_server_security.py +++ b/tests/test_api_server_security.py @@ -1574,6 +1574,7 @@ def test_capability_audit_scans_registry_and_local_sources() -> None: 'admin/users', 'home', 'login', + 'reports/[reportId]', ] assert set(audit['surfaces']['app_visible_topics']) == { 'Birth Rectification',