# 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) 修复提交:`7061d0d1f33b2ff6a5653004c4d5b57a6e487fb9`(已快进 `origin/staging`;门禁 run `2684` / #1336 进行中) 本机 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 | ## 门禁与部署 | 项 | 结果 | | --- | --- | | `origin/staging` | `7061d0d1f33b2ff6a5653004c4d5b57a6e487fb9` | | Independent Staging Quality Gate run `2684` / #1336 | **success**(validate + publish) | | Migrate Staging Database run `2685` / #1337 | **success** | | Deploy staging run `2686` / #1338 | **success** | | `GET https://staging.jyotisha.chat/api/health` `.deployment.gitCommit` | `7061d0d1f33b2ff6a5653004c4d5b57a6e487fb9` | | `GET /login` | 200 | | 未登录 `GET /api/account` | 401 | 本机无 Docker,真实 `test:db` 由门禁 validate 步覆盖;该步 conclusion=success。