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

1.7 KiB
Raw Blame History

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 完成(实现) isNotis 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 已知缺口,与本单无关)