ebe2e71349
Architect drift review over 8bc429f..HEAD (spec03f2dc4, planc9115e3, impl 41cbb55; plus the in-range #42 fieldtest port241bb62). No regression scripts configured (profile regression/architect_sweeps both empty) — the architect is the sole gate. Result: clean. C23 holds — Role.name / ParamAlias.name / OutField.name are all dropped at lowering; compiled_view_golden byte-identical (untouched in the diff); the param_space slot-order anchors green and unmodified. Param aliasing is a pure naming overlay (relabel in place, slot order/arity/kind unchanged), confirmed by the new relabel/unaliased/partial tests. C8/C7/C4/ C9 untouched (authoring-surface legibility only); BadInteriorIndex reused, no new variant. The #42 port is faithful (assertions strengthened, not gutted). One drift item, resolved here: the 0018 C9 realization note carried a stale "Input-role and param names ... remain index-only pending #41" sentence. #41 has landed, so this commit replaces it with a cycle-0019 realization note recording that all three composite-boundary edge-kinds (input roles / params / outputs) are now uniform named projections of interior handles (Role / ParamAlias / OutField), names non-load-bearing and dropped at lowering — the prose now matches the shipped code. drift-clean, not a milestone close (no milestone fieldtest run here).