Does a well-formed action satisfy your contract?
Author a schema and permission policy. Test a valid action, extra field, wrong type and unauthorised action.
Parse JSON; validate required fields, exact types, range, extra fields and an independent action allowlist.
Cut these cards apart. Use the original example first, then let a partner supply a changed case. Keep sealed/final cards with the teacher until the learner commits a rule.
Action JSON: {"action": "read", "duration": 10}
My prediction and reason:
Action JSON: {"action": "send", "duration": 10}
My prediction and reason:
Action JSON: {"action": "read", "duration": "ten"}
My prediction and reason:
Action JSON: {"action": "read", "duration": 10, "extra": true}
My prediction and reason:
This is a small explicitly declared schema, not a complete JSON Schema implementation.