Local Postgres not() only handled eq/cs, so archived=1 threw and the sidebar archive view returned 500. Compile is not null/true/false instead of inequality.
1.7 KiB
1.7 KiB
PROGRESS · 会话列表重建验收修复单(2026-09-21)
工作树:.worktrees/session-list-rebuild-fix-20260921
分支:codex/session-list-rebuild-fix-20260921
基线:origin/staging @ 70d595e3(修复单;代码基线 e71e4f92)
任务状态
| 任务 | 状态 | 说明 |
|---|---|---|
F1 兼容层 not(col,"is",…) BUG-990 |
完成(实现) | isNot → is not null/true/false;未改 applyArchiveFilter |
| F2 归档空咨询 fixture | 完成 | 归档视图不返回已归档的空咨询;两视图互斥且对上 cloudListIncludesSession |
| F3 记录 | 完成 | BUG-990 先标 investigating,等 test:db 或门禁转绿再 resolved |
实现要点
LocalPostgresQueryBuilder.not()增加operator === "is",新 filter kindisNot。compileUnaryIsClause编译is [not] null|true|false;其余取值 throw。不走<>。database-session-list-visibility.test.ts原断言保留,另加已归档空咨询一行。
测试
| 项 | 结果 |
|---|---|
tsc --noEmit |
0 错 |
npm run lint |
0 error / 119 warning(未增) |
| 定向 | local-postgres-not / local-postgres-or / chat-session-authority / session-list-filter 通过 |
npm test |
3600 条,3512 通过 / 88 失败。较本机上次 e71e4f92 全量(3598 / 3509 / 89)净增 2 绿(local-postgres-not 两条)。失败仍是本机 Windows Docker 网段 + symlink/chmod/脚本,不是本单新逻辑。 |
npm run test:db |
Docker 网段耗尽,未跑通。见 BLOCKED.md。BUG-990 保持 investigating,最终验证交给门禁。 |
next build |
本轮未跑(Windows skill symlink EPERM 已知缺口,与本单无关) |