953f2e146d
Milestone 24 closes the Post-22 Prelude roadmap entry's second half. Architecture: `class Show a where show : (a borrow) -> Str`, four primitive instances (Int/Bool/Str/Float — Float included because float_to_str is semantically unproblematic, unlike Eq/Ord's IEEE-754 issues), and `print : forall a. Show a => (a borrow) -> () !IO` as a polymorphic free fn following 23.5's `ne/lt`/etc. shape. Two new runtime primitives (`bool_to_str`, `str_clone`) let Show Bool and Show Str honour the uniform `(a borrow) -> Str Own` signature without codegen intercept. Three iters: 24.1 (runtime + codegen for the two new primitives), 24.2 (class + 4 instances in prelude.ail.json + DESIGN.md anchor), 24.3 (print free fn + positive/user-ADT/negative E2E + DESIGN.md sync). io/print_int|bool|float STAY this milestone — redundancy with `print` ratified as transitional per the 23-spec precedent for ==/eq. Corpus migration (86 fixtures) queued as separate P2 follow-up. Grounding-check PASS: all 12 enumerated load-bearing assumptions plus two additional implicit claims ratified by currently-green named tests (eob.1 RC-discipline tests anchor 24.1's critical group; milestone-23 mono unification anchors 24.2/24.3's group).