The Choice kind holds a short line and nothing more, so it behaves exactly like Text while the guide tells operators it is something else.
Current state: kindSelect maps to the String scalar and coerce accepts any string, the same branch Text and Long text take. The fields guide says Choice is "kept apart from Text so a later release can add a fixed option list", which is a promise in writing that the product does not keep.
Proposal: let a definition carry its options, refuse a value outside them, and offer them as a dropdown rather than a text box. Until then Choice is a documentation debt.
Trigger: active, the guide already promises it.
The Choice kind holds a short line and nothing more, so it behaves exactly like Text while the guide tells operators it is something else.
Current state:
kindSelectmaps to the String scalar andcoerceaccepts any string, the same branch Text and Long text take. The fields guide says Choice is "kept apart from Text so a later release can add a fixed option list", which is a promise in writing that the product does not keep.Proposal: let a definition carry its options, refuse a value outside them, and offer them as a dropdown rather than a text box. Until then Choice is a documentation debt.
Trigger: active, the guide already promises it.