KamoCRM

Retire Sent to AI, and store the status by name

Refactorkamo-shared-library
已装运
2026年8月25日 17:40 UTC
作者
Kamo
提交
856b6ef

Removing SENT_TO_AI is not a one-line enum edit. It sat at ordinal 3, and system_bug.status was an ORDINAL column: dropping it shifts AWAITING_INFO onto 3, CANNOT_REPRODUCE onto 4, and so on for the whole tail — every existing row starts reading as a different status than the one it is in, with nothing thrown and nothing logged. The class of trap the schema already documents is the opposite one (a frozen CHECK constraint firing when an enum GROWS); no constraint catches this one. So the status is stored by NAME now, in STATUS_NAME and STATUS_APPLIED_NAME. The enum is free to grow, shrink and reorder, which is what one this young is going to keep doing. The dispatch audit gets it doubly: those rows are never rewritten, so an ordinal that changed meaning underneath one would leave the record saying something the operator never did. WONT_FIX is now "Won't Fix / Denied". It is the terminal state for an enhancement nobody is going to build as well as a bug nobody is going to fix, and telling somebody their idea "won't fix" answers a question they did not ask. SystemBugStatusStorageTest fails the build if either field goes back to ORDINAL, if a status name outgrows its column, or if SENT_TO_AI reappears — the first of those is a one-word diff that reads as a tidy-up.

所有更改

就像你看到的运输?

所有东西都是靠自己运入你的工作空间的 从免费计划开始,一个月后再读这页.

永远开始自由查看定价