unknown-not-a-valid-score
Installation
SKILL.md
"Could not parse" is not a value
Every fallback in a parser answers a question the caller will ask later. ?: 0 answers "how many"
with a number that means both zero of them and the parser gave up. ?: "" answers "which one"
with a string that means both none and unreadable. The two meanings then travel together
through every consumer, and each consumer has to guess — differently.
There are only three honest fallbacks:
- A sentinel the success path can never produce — a negative where the domain is
non-negative,
MAX_VALUEwhere the domain is a real measurement. - Absence in the type —
null, or anUnknowncase in a sealed hierarchy. - No fallback at all — fail the parse and let the caller decide.
Absence in the type is the one that cannot be misread, because the compiler makes every consumer say what it wants to happen. Reach for a numeric sentinel only where a nullable type is genuinely not available — a database column, a fixed-width protocol field, an interface you do not own.