core/generate/rate_comprehension
Shay 89321e617d feat(rate): R3.2 exact-rational time-unit conversion primitive (R3.2a)
generate/rate_comprehension/conversion.py: convert_time(value, from_unit, to_unit) -> Fraction for known time units (minute<->hour), exact rational (fractions.Fraction), NO floats. is_convertible gates it. 30 minute -> Fraction(1,2) hour; non-time/non-convertible (minute<->mile, dollar<->hour) raises ConversionError so the caller still refuses rate_unit_mismatch. Tiny: only minute<->hour in v1 (length/currency/compound deferred). 6 tests incl. never-a-float guard.
2026-06-08 05:30:57 -07:00
..
__init__.py feat(rate): single-rate reader + run_reader lane + answer-choice reuse (R3d) 2026-06-07 23:07:51 -07:00
conversion.py feat(rate): R3.2 exact-rational time-unit conversion primitive (R3.2a) 2026-06-08 05:30:57 -07:00
model.py feat(rate): R3 RateProblem model + rate gold + setup oracle (R3b) 2026-06-07 23:01:25 -07:00
reader.py feat(contemplation): wire R3 into the multi-organ router + pass manager (R3.1) 2026-06-08 02:05:34 -07:00
solver.py feat(rate): exact integer single-rate solver (R3c) 2026-06-07 23:03:30 -07:00
units.py feat(rate): R3 compound-unit primitive — the dimensional substrate (R3a) 2026-06-07 22:57:13 -07:00