diff --git a/TODO.org b/TODO.org index 6ad8021e..f0c1f584 100644 --- a/TODO.org +++ b/TODO.org @@ -524,7 +524,8 @@ dispatch values. With single dispatch on literal values there is no specificity question, and inheritance or multiple dispatch would create one. Unknown-slot checking needs class-typed tracking the dyn side deliberately does not have. -** TODO update-instance-for-redefined-class, the user hook +** NEXT update-instance-for-redefined-class, the user hook +Decided 2026-09-25: build it after typed class slots land, shaped for the REPL — written and installed from a live session as a one-time "here is how to migrate this", without restarting. It receives the instance with the added and discarded slots and their old values, and runs at each instance's lazy migration. A hook that signals parks in the break buffer with a restart that falls back to name-matching migration. Left out of v1 because name matching is the half that makes redefinition usable and the hook is what makes it expressive. The obvious spelling is a generic riding the dispatch that exists, and the migration already computes both the added and