1210735959
Contract face moves to contract/slots.ts (PropsRuntime composition off the conversation SlotMap entry, flat answer/cancel injected share); apply takes the ui-sidebar terminal form (strict need() service reads, ctx.effect-wrapped single register, framework-resolved sessionId); tests upgrade to the terminal style (props-direct component specs with standard-kit stubs, real-registry apply spec with children-declared slot, fiber-teardown case).