pub fn route_task_class_executor(
cfg: &mut MissionConfig,
task_class: Option<&str>,
) -> (ExecutorTier, &'static str)Expand description
Core of route_ticket_executor, taking the raw task-class string
directly. crate::orchestrator::MissionEngine::create calls this with
the class recovered from its goal argument via
crate::ticket::parse_task_class_from_goal — create only ever sees a
folded goal string, never the originating crate::ticket::Ticket, so
the class has to travel through that one channel.
The routing table (KRZ-331): when cfg.routing declares rules, they are
the floor — resolved deterministically by crate::routing::table_tier
(first match wins, no match stays Frontier). An EMPTY table keeps the
hardcoded literal floor (task_class_to_tier) byte-for-byte, so a
config that never heard of the table routes exactly as before.