Question
Type ColdRefused as decided in "Make api::Launch self-sufficient and type ColdRefused": replace reason: String (flows/launch.rs:1880-1884) with a sum over the startup reasons — NoHomeDirectory / Config(ConfigError) / Metadata(MetadataError) (payloads already core types, mirroring dl's private StartupError at dl/src/session.rs:35-39) — plus a no-cold-path arm replacing NoColdPath's English literal (flows/launch.rs:1911-1916). dl's renderer takes over the words (render.rs:2034-2046 currently clones the string; render::startup_reason becomes the match on the typed arms). Consult constructive-modeling; follow the NotRefreshed precedent (repo_manager.rs:336-359). Red-first: a test pinning that a metadata-refused cold open surfaces as the typed arm, not prose.
Question
Type
ColdRefusedas decided in "Make api::Launch self-sufficient and type ColdRefused": replacereason: String(flows/launch.rs:1880-1884) with a sum over the startup reasons —NoHomeDirectory/Config(ConfigError)/Metadata(MetadataError)(payloads already core types, mirroring dl's privateStartupErroratdl/src/session.rs:35-39) — plus a no-cold-path arm replacingNoColdPath's English literal (flows/launch.rs:1911-1916). dl's renderer takes over the words (render.rs:2034-2046currently clones the string;render::startup_reasonbecomes the match on the typed arms). Consult constructive-modeling; follow theNotRefreshedprecedent (repo_manager.rs:336-359). Red-first: a test pinning that a metadata-refused cold open surfaces as the typed arm, not prose.