Odontogram offers deciduous teeth 51-85 which cannot take implants: terra has an exclude scope row for exactly this and it is not narrowing
REPORTED by the client (Sebastian Puia, WhatsApp 2026-08-17 09:17, relayed by Elazar): "Basicamente deberias retirar del 51 al 85 (q son dientes de leche y no van an implantes)". Terra offers deciduous teeth (FDI 51-85) in the piezas dentarias picker; implants are not placed in deciduous teeth, so every one of those values is unselectable-in-practice noise on a clinical form. THIS IS THE ONE PLACE TERRA ALREADY HAS A SCOPE ROW, AND THAT IS EXACTLY WHY IT IS SUSPICIOUS. Per e79aa77: vocabularyScopes holds exactly ONE row database-wide - terra/piezasDentarias, mode=exclude - and that same commit records that an exclude row FAILS OPEN on the next shared insert with the row present and any assertion green. So the narrowing may be configured and not working, rather than absent. Measure which before proposing anything: a row that exists and does not bind is a different defect from a row with the wrong values, and only one of them is fixed by editing values. Do not delete the exclude row to "start clean" - it is terra narrowing a SHARED vocabulary and terra never deactivates a shared row. If the fix reaches lookupOptions or any unprefixed object it needs db-enamel-cc GO before apply. Also state whether enamel/maxilofacial relies on the same values, because the picker is shared and 51-85 may be legitimate there.
Questions
Activity
-
PM PREMISE CORRECTED BY MEASUREMENT, 2026-08-17. This WI as filed said the scope row is exclude-mode and cited e79aa77 for it, and told db to suspect a row that exists and does not bind. Both halves were wrong. db-terra-cc measured live: the row was CONVERTED to include-mode on 2026-08-07 (coder-venus-cc, bs-msj85aianit, applied with db-enamel-cc GO), so e79aa77's exclude description was stale within hours of being written and I quoted it as if it were current. Include-mode is a real gate and is binding, verified against lookups.ts:172-193. Actual root cause: 20 of the 52 included members ARE the deciduous FDI codes (51-55/61-65/71-75/81-85, all 20 present). Nobody ever scoped them out. A seed/membership gap, not a binding defect - the opposite diagnosis from the one this WI shipped with. The failure worth keeping: I sourced a load-bearing premise from a COMMIT MESSAGE and did not re-read the live catalog. A commit describes the state at the moment it was written and keeps describing it forever; a citation is a claim that its target is still there. It was pre-committing a diagnosis, which the dispatch rules forbid precisely because it biases the investigation - db measured anyway and falsified it, which is the process working, not luck. Enamel coupling measured as ZERO: vocabularyScopes holds exactly one piezasDentarias row, terra's; enamel has none, so the change touches only terra's read.