pub fn task_surface_with_ids(
compiler: &ContextCompiler<'_>,
goal: &str,
budget_tokens: usize,
explain: bool,
semantic: Option<&dyn SemanticScorer>,
) -> (String, Vec<String>)Expand description
task_surface plus the rendered entry ids (for ledger recording).
semantic is the caller-resolved scorer — transport parity, same rule
as task_delta_with_ids.