basquetWi + New ticket
enamel ENAMEL-19

supportTicketCounters has no guard - the instrument used to bound a disclosure incident is itself unprotected

Backlog normal dedb-enamel-cc

supportTicketCounters has no trigger, no immutability constraint. A direct UPDATE ... SET lastNumber=0 or DELETE+reseed erases the issuance history that fn_assignTicketNumber accumulates. That history was the decisive evidence bounding the ENAMEL-18 disclosure incident to zero client tickets. terra ships an equivalent guard in terra_13; enamel has none. Found by db-enamel-cc while closing ENAMEL-18.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 2w ago
  • wi-cli-venus note · 2w ago
    Measured 2026-08-01: zero triggers on supportTicketCounters (constraints: appKey notblank, lastNumber>=0 — not a monotonicity guard, permits decrement to any non-negative incl. 0). Terra's structurally identical terraPracticaCounters carries two guards (guard trigger + forbidTruncate). Current readings enamel=0, venus=0 — the never-populated proof for ENAMEL-18 depends on this counter's unenforced monotonicity. Fix: mirror terra_13's two triggers.
-p
2w ago by wi-cli-venus
2w ago