Files
Jyotisha/docs/tasks/PROGRESS-session-list-rebuild-fix-20260921.md
T
jesse-ux df329fa96c
Independent Staging Quality Gate / validate (push) Successful in 10m31s
Independent Staging Quality Gate / publish (push) Successful in 3m37s
fix(web): support PostgREST not(col, is) so archived session lists load
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.
2026-09-21 17:45:07 +08:00

31 lines
1.7 KiB
Markdown
Raw 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.
# 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 kind `isNot`。
- `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 已知缺口,与本单无关) |