From d5c79e87f498770ac6f50f2d1c5156f7ff7037d7 Mon Sep 17 00:00:00 2001 From: Shay Date: Fri, 29 May 2026 10:01:00 -0700 Subject: [PATCH] =?UTF-8?q?docs(adr-0179-ex3):=20record=20second=20deferra?= =?UTF-8?q?l=20trap=20=E2=80=94=20postmodifier=20adjectives=20(#460)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Track C of docs/handoff/PARALLEL-WORK-PLAN-2026-05-29.md asked for a tight EX-3 multi-word-unit redo satisfying (a) "12 jumping jacks." -> "jumping jacks", (b) "6 apples and 4 apples." -> two apples, (c) all GB-1/2/3 tests green. The cleanest tight rule that satisfies all three — (? None: + # The trap. Naive tight EX-3 produces "years old"; the correct unit is + # "years" alone. + qs = extract_quantities("How old will the father be when she is 25 years old?") + assert [(q.value, q.unit) for q in qs] == [(25.0, "years")] + + def test_postmodifier_trap_present_for_full_sentence_form_too(self) -> None: + # The same trap with a period instead of a question mark, paralleling + # ``"Rachel is 12 years old."`` from GSM8K case 0033 / the MS2 chain tests. + qs = extract_quantities("Rachel is 12 years old.") + assert qs[0].value == 12.0 + assert qs[0].unit == "years" + + class TestRealCase0024StillBlocked: """Honest pin: the EX-4 unit-list pattern does NOT recover real case 0024.