{"record":{"id":"fc66604348e8d623","repo":"zed-industries/zed","slug":"parse-output-only-supports-teacher-and-zeta2-provi","errorCode":null,"errorMessage":"parse-output only supports Teacher and Zeta2 providers, got {:?}","messagePattern":"parse-output only supports Teacher and Zeta2 providers, got (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"crates/edit_prediction_cli/src/parse_output.rs","lineNumber":50,"sourceCode":"\n    Ok(())\n}\n\npub fn parse_prediction_output(\n    example: &Example,\n    actual_output: &str,\n    provider: PredictionProvider,\n) -> Result<(String, Option<ActualCursor>)> {\n    match provider {\n        PredictionProvider::Teacher(_, _) | PredictionProvider::TeacherNonBatching(_, _) => {\n            TeacherPrompt::parse(example, actual_output)\n        }\n        PredictionProvider::TeacherJumps(_) | PredictionProvider::TeacherJumpsNonBatching(_) => {\n            TeacherJumpsPrompt::parse(example, actual_output)\n        }\n        PredictionProvider::Zeta2(version) => parse_zeta2_output(example, actual_output, version),\n        PredictionProvider::Repair => repair::parse(example, actual_output),\n        _ => anyhow::bail!(\n            \"parse-output only supports Teacher and Zeta2 providers, got {:?}\",\n            provider\n        ),\n    }\n}\n\nfn parse_zeta2_output(\n    example: &Example,\n    actual_output: &str,\n    format: ZetaFormat,\n) -> Result<(String, Option<ActualCursor>)> {\n    let prompt_inputs = example\n        .prompt_inputs\n        .as_ref()\n        .context(\"prompt_inputs required\")?;\n\n    if format == ZetaFormat::V0615HashRegions {\n        return Ok((","sourceCodeStart":32,"sourceCodeEnd":68,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/edit_prediction_cli/src/parse_output.rs#L32-L68","documentation":"Thrown by the parse-output path (parse_output.rs) when the active PredictionProvider has no output parser. The match covers Teacher, TeacherNonBatching (TeacherPrompt::parse), TeacherJumps/TeacherJumpsNonBatching (TeacherJumpsPrompt::parse), Zeta2 (parse_zeta2_output) and Repair; the catch-all `_` arm — Mercury, Zeta1, and Baseten — has no parse implementation, so evaluating their raw model output is refused.","triggerScenarios":"Running the parse-output command with --provider mercury, --provider zeta1, or --provider baseten:.... It parses stored raw model output against the provider's expected format, and those three providers lack a format implementation here.","commonSituations":"Re-scoring an old dataset that was generated with mercury/zeta1 and trying to parse its outputs with a newer CLI; using baseten as a cheap zeta2 host but forgetting that parse-output keys off the provider name, not the underlying model.","solutions":["Run parse-output with a supported provider: teacher[:backend], teacher-jumps[:backend], the non-batching variants, zeta2[:version], or repair","For Baseten-hosted zeta2 runs, parse with --provider zeta2:<same format> since Baseten serves a zeta model","For mercury/zeta1 outputs there is no parser — regenerate predictions with a supported provider if parsing is required"],"exampleFix":"# before\nparse-output examples.jsonl --provider baseten:ordered\n\n# after\nparse-output examples.jsonl --provider zeta2:ordered","handlingStrategy":"validation","validationCode":"fn parse_output_supported(provider: &PredictionProvider) -> bool {\n    !matches!(provider, PredictionProvider::Mercury | PredictionProvider::Zeta1 | PredictionProvider::Baseten(_))\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Restrict parse-output runs to teacher*, zeta2, and repair providers","Baseten serves zeta models: parse its outputs with --provider zeta2:<same format>","Older mercury/zeta1 datasets have no parser — regenerate predictions if parsing is required"],"tags":["rust","cli","provider-selection","edit-prediction"],"backgroundTag":"unsupported-provider","analyzedSha":"f4178619acd0d47ea1f76a2025c42962c6d6638c","analyzedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-08-26T04:18:47.238Z"}