Independent Staging Quality Gate run 2683 唯一失败: database-consultation-session-capacity 期望 false:session_missing, 实际是 f:session_missing。夹具把 boolean::text 的 false 规范成 psql -A 的 f。 五处期望值对齐既有合同;无 Docker 源码合同锁住 false→f。
2.1 KiB
2.1 KiB
PROGRESS · staging 门禁容量合同 false: / f: 失配(2026-09-16)
工作树:.worktrees/session-capacity-bool-assert-20260916
分支:codex/session-capacity-bool-assert-20260916
基线:origin/staging @ 8cb1877e(最近门禁路径 SHA 1e3570b4,Gitea run 2683 failure)
修复提交:推送 HEAD:staging 后回填 40 位 SHA。
本机 Windows。无 Docker。未改生产 SQL、未改 .gitea/workflows/**、未 bump Skill、未动 page.tsx。
做了什么
database-consultation-session-capacity.test.ts五处期望值:false:→f:(session_missing/invalid_question_message/ 三处session_full)。true:null与权限位true:f:f未动。postgres-fixture.ts的 false→f 规范化保留,补一行说明:boolean::text是false,psql -A是f。consultation-session-capacity.test.ts新增无 Docker 源码合同(BUG-739):夹具必须保留该 replace;真实库合同必须写f:、禁止"false:session_*"。- Bug 历史 BUG-739,关联 BUG-732。
既有断言变更(AGENTS.md §7.3)
| 文件 | 原值 | 新值 | 原因 |
|---|---|---|---|
database-consultation-session-capacity.test.ts 会话不存在 |
"false:session_missing" |
"f:session_missing" |
fixture.psql() 把 false 规范成 f;CI 实测 actual 即此 |
| 同上,超长提问 | "false:invalid_question_message" |
"f:invalid_question_message" |
同上,第一条炸后未跑到 |
| 同上,额度/物理/条数满员 ×3 | "false:session_full" |
"f:session_full" |
同上 |
测试
| 命令 | 结果 |
|---|---|
./node_modules/.bin/tsc --noEmit |
0 错 |
eslint --max-warnings 0 本单三个测试文件 |
0 error / 0 warning |
npx tsx --test tests/consultation-session-capacity.test.ts |
7 passed / 0 failed(含新增 BUG-739 源码合同) |
npx tsx --test tests/database-consultation-session-capacity.test.ts |
1 skipped(docker unavailable on this host),不得写成通过 |
npm run test:db |
blocked:本机无 Docker |
门禁重跑证据写在推送之后。