{"id": "r3-01-distance", "expect": "solved", "text": "A car travels 60 miles per hour for 3 hours. How many miles does it travel?", "rate_unit": {"numerator": "mile", "denominator": "hour"}, "rate": 60, "time": 3, "time_unit": "hour", "quantity": null, "query": "quantity", "gold": 180, "options": {"A": 120, "B": 150, "C": 180, "D": 200}, "answer": "C", "notes": "Forward, no conversion: 60 mile/hour × 3 hour = 180 mile."}
{"id": "r3-02-earnings", "expect": "solved", "text": "A worker earns 15 dollars per hour for 8 hours. How many dollars does she earn?", "rate_unit": {"numerator": "dollar", "denominator": "hour"}, "rate": 15, "time": 8, "time_unit": "hour", "quantity": null, "query": "quantity", "gold": 120, "options": {"A": 120, "B": 23, "C": 105, "D": 135}, "answer": "A", "notes": "15 dollar/hour × 8 hour = 120 dollar."}
{"id": "r3-03-widgets", "expect": "solved", "text": "A machine makes 12 widgets per minute. It runs for 5 minutes. How many widgets does it make?", "rate_unit": {"numerator": "widget", "denominator": "minute"}, "rate": 12, "time": 5, "time_unit": "minute", "quantity": null, "query": "quantity", "gold": 60, "options": {"A": 17, "B": 60, "C": 7, "D": 72}, "answer": "B", "notes": "12 widget/minute × 5 minute = 60 widget."}
{"id": "r3-04-items", "expect": "solved", "text": "A packer fills 8 items per box for 6 boxes. How many items does the packer pack?", "rate_unit": {"numerator": "item", "denominator": "box"}, "rate": 8, "time": 6, "time_unit": "box", "quantity": null, "query": "quantity", "gold": 48, "options": {"A": 14, "B": 48, "C": 42, "D": 54}, "answer": "B", "notes": "Non-temporal denominator (per box): 8 item/box × 6 box = 48 item. The denominator is not a time unit, so conversion is the identity."}
{"id": "r3-05-speed", "expect": "solved", "text": "A car travels 180 miles in 3 hours. What is its speed in miles per hour?", "rate_unit": {"numerator": "mile", "denominator": "hour"}, "rate": null, "time": 3, "time_unit": "hour", "quantity": 180, "query": "rate", "gold": 60, "options": {"A": 540, "B": 60, "C": 90, "D": 30}, "answer": "B", "notes": "Inverse (rate): 180 mile ÷ 3 hour = 60 mile/hour."}
{"id": "r3-06-runtime", "expect": "solved", "text": "A machine makes 60 widgets at 12 widgets per minute. How many minutes did it run?", "rate_unit": {"numerator": "widget", "denominator": "minute"}, "rate": 12, "time": null, "time_unit": "minute", "quantity": 60, "query": "time", "gold": 5, "options": {"A": 5, "B": 720, "C": 48, "D": 6}, "answer": "A", "notes": "Inverse (time, answered in the rate denominator unit): 60 widget ÷ 12 widget/minute = 5 minute."}
{"id": "r3-09-convertible", "expect": "solved", "text": "A car travels 60 miles per hour for 30 minutes. How many miles does it travel?", "rate_unit": {"numerator": "mile", "denominator": "hour"}, "rate": 60, "time": 30, "time_unit": "minute", "quantity": null, "query": "quantity", "gold": 30, "options": {"A": 30, "B": 1800, "C": 15, "D": 90}, "answer": "A", "notes": "R3.2 conversion: the rate is per HOUR but the duration is 30 MINUTES, which converts EXACTLY (30 minute = 1/2 hour). 60 mile/hour × 1/2 hour = 30 mile. The conversion is exact rational (Fraction), confined to the solver; the never-convert distractor 1800 (60×30) is rejected."}
{"id": "r3-07-non-integer-rate", "expect": "solver_refuses", "solver_reason": "non_integer_solution", "text": "A car travels 100 miles in 3 hours. What is its speed in miles per hour?", "rate_unit": {"numerator": "mile", "denominator": "hour"}, "rate": null, "time": 3, "time_unit": "hour", "quantity": 100, "query": "rate", "gold": null, "notes": "100 ÷ 3 is not an integer. REFUSE (non_integer_solution), never round."}
{"id": "r3-08-non-integer-time", "expect": "solver_refuses", "solver_reason": "non_integer_solution", "text": "A machine makes 50 widgets at 12 widgets per minute. How many minutes did it run?", "rate_unit": {"numerator": "widget", "denominator": "minute"}, "rate": 12, "time": null, "time_unit": "minute", "quantity": 50, "query": "time", "gold": null, "notes": "50 ÷ 12 is not an integer. REFUSE (non_integer_solution)."}
{"id": "r3-10-missing-time", "expect": "reader_refuses", "reader_reason": "missing_time", "text": "A car travels 60 miles per hour. How many miles does it travel?", "gold": null, "notes": "Rate but no duration — underdetermined. REFUSE (missing_time)."}
{"id": "r3-11-combined-rates", "expect": "reader_refuses", "reader_reason": "combined_rates", "text": "A car travels 60 miles per hour for 2 hours and then 40 miles per hour for 3 hours. How many miles does it travel?", "gold": null, "notes": "Two rates / segments — multi-rate is R3.x. REFUSE (combined_rates)."}
{"id": "r3-12-temporal-state", "expect": "reader_refuses", "reader_reason": "temporal_state", "text": "A car left at 2 pm and arrived at 5 pm traveling 60 miles per hour. How many miles did it travel?", "gold": null, "notes": "Elapsed clock time, not an explicit duration. REFUSE (temporal_state)."}
{"id": "r3-13-non-convertible", "expect": "reader_refuses", "reader_reason": "rate_unit_mismatch", "text": "A car travels 60 miles per hour for 3 gallons. How many miles does it travel?", "gold": null, "notes": "The rate is per HOUR but the duration is in GALLONS — gallon is not a time unit and does not convert to hour. v1 REFUSES (rate_unit_mismatch); this stays a proposal surface (rate-like but non-composing), distinct from the convertible minute↔hour case which now solves."}
