Question
api::Launch is the frozen wf surface, but Launch::new requires &mut dyn ColdMachinery and &dyn Provision whose only real implementations live in the dl binary (dl/src/cold.rs:52, dl/src/launch.rs:138) — a second consumer must reimplement dl's wiring or gets a launcher that cannot go cold. And ColdRefused.reason: String carries dl-rendered English back through core (flows/launch.rs:1831 ← dl/src/cold.rs:64 render::startup_reason) — the one place the no-English-in-core layering runs backwards.
Decide where the impls should live and the typed reason's shape (consult constructive-modeling). Then slice the builds.
Question
api::Launchis the frozen wf surface, butLaunch::newrequires&mut dyn ColdMachineryand&dyn Provisionwhose only real implementations live in the dl binary (dl/src/cold.rs:52,dl/src/launch.rs:138) — a second consumer must reimplement dl's wiring or gets a launcher that cannot go cold. AndColdRefused.reason: Stringcarries dl-rendered English back through core (flows/launch.rs:1831←dl/src/cold.rs:64render::startup_reason) — the one place the no-English-in-core layering runs backwards.Decide where the impls should live and the typed reason's shape (consult constructive-modeling). Then slice the builds.