test: stop requiring retired archive entrypoints in Python contracts
Independent Staging Quality Gate / validate (push) Successful in 11m24s
Independent Staging Quality Gate / publish (push) Successful in 3m45s

Flip archive tokens to must-not-appear on the session row and session hook only. Keep writeChatSession POST/PATCH and assert delete still uses DELETE. Grep tests/ before deleting frontend symbols.
This commit is contained in:
jesse-ux
2026-09-21 19:20:45 +08:00
parent d3e0edfd1b
commit d2cec17995
6 changed files with 85 additions and 22 deletions
+16
View File
@@ -13135,3 +13135,19 @@
- 相关记录:BUG-990、BUG-553
- 复发自:无
- 修复版本:待本修复合入 staging 且门禁转绿
## BUG-992 | 归档下线后门禁 Python 合同仍要求归档入口存在
- 状态:resolved
- 首次发现:2026-09-21
- 最近更新:2026-09-21
- 影响面:`tests/test_session_management_entrypoints.py`
- 用户现象:无直接用户现象。Gitea 门禁 run 2836 红,`5a4b8738` 未部署。
- 触发条件:向 staging 推送删掉归档入口的前端改动。
- 根因:Python 合同对前端源码做字符串断言,要求 `toggleArchivedSession` 等必须出现。前序单 grep 只扫 `frontend/`,扫不到 `tests/`。同类第四次。
- 修复:那五个 token 从「必须出现」翻成「必须不出现」,且只对 `sidebar-session-row.tsx``use-session-management.ts` 做反向断言。归档测试重写,保住 `writeChatSession` 的 POST/PATCH 合同,并把「归档不走 DELETE」改成「删除仍走 DELETE」。`frontend/AGENTS.md` 要求删符号前 `git grep -- tests/ frontend/`
- 验证:`python -m pytest tests/test_session_management_entrypoints.py`;门禁以合入后的 run 为准。
- 防复发:删除或重命名任何前端符号、类名、可见文案之前,必须 `git grep -n "<符号>" -- tests/ frontend/`,不得只 grep `frontend/`
- 相关记录:BUG-933、BUG-934、BUG-939、BUG-991
- 复发自:BUG-939(Python 合同盯着已搬走的前端源码)
- 修复版本:待本修复合入 staging