From a513c53ee3b9fa1497312b8eddb499995e94d16f Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Fri, 18 Sep 2026 06:50:23 -0400 Subject: [PATCH] [Docs] (Disaggregated): P5e c0e - fix the one citation the draft got wrong - SlotAllocator.cpp:410-419 named lines that do not exist; the Gen-on-reuse rule is at :176-189 for the ordinary table and :240-258 for the composite band. The doc-citation lint now reports the same four pre-existing problems it reports at the base and no new one. --- MobileGL/MG_Remote/CONTRACT-P5E.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MobileGL/MG_Remote/CONTRACT-P5E.md b/MobileGL/MG_Remote/CONTRACT-P5E.md index 53df8647..a33de58e 100644 --- a/MobileGL/MG_Remote/CONTRACT-P5E.md +++ b/MobileGL/MG_Remote/CONTRACT-P5E.md @@ -250,7 +250,8 @@ window rule makes it unrepresentable. The creation moment is LAZY everywhere (no not introduced. `applier_reset` touches neither twins nor object records (`PipeApply.h:800-832`). ### 4.3 ABA -`Gen` moves only on reuse (`SlotAllocator.cpp:410-419`). At the server every record naming `{s,g}` +`Gen` moves only on reuse (`SlotAllocator.cpp:176-189`, and `:240-258` for the composite band — +"the one place Gen may move", in the file's own words). At the server every record naming `{s,g}` is applied before `object_death{s,g}`, which is applied before `create{s,g+1}`. `GetOrCreate({s,g+1})` on a live `{s,g}` entry resets it (`SlotTables.h:338`); `FindByHandle({s,g})` after the recycle answers null (`:424`); a backward `{s,g-1}` is refused (`:331`). Even with a death skipped (an