上一轮只改了**看**侧(初选矩阵),圈人侧的 `labelExistsSql` / `labelTemperatureExistsSql` 仍在实时回查 `patient_facts` 算标签。🔴 这不只是慢,是**我上一轮亲手造出的口径不一致**: · 看侧读预存的 potential_labels(回填那一刻的年龄) · 圈人侧实时算(当前年龄) 标签规则里有三条带年龄(K08>18 / K07 3~12 / K07 13~40)⇒ 过生日跨档的人两边不一样。 而 `reason-temperature.sql.ts` 里那段注释早就写过这个坑: 「曾经它们各自带一个 mode 参数,一旦调用方漏传就是主管看到 87 人、 确认单捞出另一批,而且全程不报错(T14)」 我差点原样重演一遍,只是这次漂的原因从"参数"换成了"数据源"。 改动:两处 EXISTS 都换成 `pr.potential_labels @> ARRAY[label]`。 ■ 实测(本地,15,884 条 plan 的诊所,人数逐字未变) 只按治疗 603 ms → 57 ms 2305 人 → 2305 人 治疗 + 温度 971 ms → 82 ms 353 人 → 353 人 这条路一次弹窗要走两遍(整格人数 + 当页明细),还被 propose 复用。 ■⚠ ️ 三条既有断言失败 —— 但它们守的不变量**没有消失,是搬家了** · 「只认未治疗的证据(f.status='active')」 · 「证据必须有日期(COALESCE(occurred_at, planned_for) IS NOT NULL)」 两者现在由回填 SQL 保证。⛔ 没有删断言,而是搬到 plan-label.spec.ts 钉住 —— 删了的话,谁把"治完的诊断"或"没有日期的证据"算进标签都不会有人发现, 而那会直接改变召回谁。⚠ ️ 已做变异校验:拿掉 status 守卫立刻变红。 · 第三条改成断言"锚点仍是末诊",并注明非空守卫搬去了哪。 ■ 新增《看侧与圈人侧同源》一组:三处都读 potential_labels、 三处都不再出现 patient_facts / jsonb_array_elements_text / 按年龄现算。 验证:tsc 通过;jest 86 套 1351 例全过;eslint 无新增错误。
| Name |
Last commit
|
Last update |
|---|---|---|
| .claude | Loading commit data... | |
| .design-sync | Loading commit data... | |
| apps | Loading commit data... | |
| clickhouse/config.d | Loading commit data... | |
| deploy | Loading commit data... | |
| docs | Loading commit data... | |
| packages | Loading commit data... | |
| scripts | Loading commit data... | |
| .gitignore | Loading commit data... | |
| .gitlab-ci.yml | Loading commit data... | |
| .npmrc | Loading commit data... | |
| .prettierrc | Loading commit data... | |
| README.md | Loading commit data... | |
| docker-compose.expose.yml | Loading commit data... | |
| docker-compose.managed.yml | Loading commit data... | |
| docker-compose.prod.yml | Loading commit data... | |
| docker-compose.yml | Loading commit data... | |
| eslint.config.mjs | Loading commit data... | |
| liu.cjs | Loading commit data... | |
| package.json | Loading commit data... | |
| pnpm-lock.yaml | Loading commit data... | |
| pnpm-workspace.yaml | Loading commit data... | |
| tsconfig.base.json | Loading commit data... | |
| turbo.json | Loading commit data... |