Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
34 lines
2.2 KiB
Markdown
34 lines
2.2 KiB
Markdown
# TASK · 前端死代码删除修复单(issue #63,第 1 次打回)
|
||
|
||
- 日期:2026-10-14
|
||
- 原任务书:`docs/tasks/TASK-frontend-dead-code-20261013.md`
|
||
- 被验 SHA:`1f9947a0d733e34b7754cce058e20b023791fdd8`(`codex/frontend-dead-code-20261013`)
|
||
- 执行方:Grok,同一分支续做(先 merge 最新 `origin/staging`,不改写已推历史)
|
||
- BUG 编号:沿用 BUG-1342
|
||
|
||
## 1. 验收结论:一条未通过,其余全部通过
|
||
|
||
| 检查 | 结果 | 证据 |
|
||
| --- | --- | --- |
|
||
| 删除范围 | 通过 | 删掉的文件与三个路由都在原任务书清单内;全仓 grep 三个路由路径、被删模块名,`frontend/src`、`scripts`、`deploy`、`.gitea` 无残留引用 |
|
||
| 改既有断言 | 通过 | 每处三栏齐全;否定合同(不得挂内部徽章 / 内部面板)保留;`/api/birth-rectification` 改成「路由不存在且无代理」 |
|
||
| tsc / lint / next build | 通过 | 0 错 / 0 error(warning 125→123)/ `/` 仍 Static;首屏 gzip −312 字节 |
|
||
| Python 改动的两份测试 | 通过 | — |
|
||
| 前端全量 `npm test`(与 staging 逐名比对) | **未通过:新增 1 条** | `frontend/tests/class-name-definition-contract.test.ts`「the knownUnstyled allowlist has no stale entries」:`actual: ['personal-report-additional-charts']` |
|
||
|
||
**根因**:`class-name-definition-contract.test.ts` 第 62 行的 `knownUnstyled` 白名单里有 `personal-report-additional-charts`,这个类名唯一的使用者是已删除的 `personal-report-document-view.tsx`。合同要求白名单里不能有已经没人用的条目。
|
||
|
||
## 2. 修法要求
|
||
|
||
1. 从 `knownUnstyled` 删掉 `"personal-report-additional-charts"` 这一项,旁边按 §7.3 写三栏(原值:白名单含该项;新值:删除;原因:唯一使用者随 BUG-1342 删除,白名单不得留陈旧条目)。
|
||
2. 再查一遍:被删文件里用到的其它类名,是否还出现在别的白名单 / 合同里(`grep -rn "knownUnstyled\|allowlist" frontend/tests` 后逐个核对)。
|
||
3. 业务代码不改。PROGRESS 末尾记一行。
|
||
|
||
## 3. 验收标准
|
||
|
||
前端全量 `npm test` 失败清单与 staging 基线逐名相同(本机 Docker 类失败除外)。
|
||
|
||
## 4. 让步顺序
|
||
|
||
无。第 1 次打回。
|