{"record":{"id":"538ff415d6671f82","repo":"zed-industries/zed","slug":"split-point-split-classified-as-expected-ki","errorCode":null,"errorMessage":"split point {split} classified as {}, expected {kind}","messagePattern":"split point (.+?) classified as (.+?), expected (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/edit_prediction_cli/src/split_commit.rs","lineNumber":706,"sourceCode":"        None => {\n            let split = sample_split_point(&patch, rng.as_mut());\n            generate_split_commit_at_split(&patch, split, rng.as_mut())?\n        }\n        Some(SplitPoint::Fraction(fraction)) => {\n            let split = resolve_split_point_value(SplitPointValue::Fraction(fraction), num_edits);\n            generate_split_commit_at_split(&patch, split, rng.as_mut())?\n        }\n        Some(SplitPoint::Index(index)) => {\n            let split = resolve_split_point_value(SplitPointValue::Index(index), num_edits);\n            generate_split_commit_at_split(&patch, split, rng.as_mut())?\n        }\n        Some(SplitPoint::Kind(kind)) => sample_split_commit_of_kind(&patch, kind, rng.as_mut())?,\n        Some(SplitPoint::KindWithSplit { kind, split_point }) => {\n            let split = resolve_split_point_value(split_point, num_edits);\n            let generated_split_commit =\n                generate_split_commit_at_split(&patch, split, rng.as_mut())?;\n            let actual_kind = classify_generated_split_commit(&generated_split_commit);\n            anyhow::ensure!(\n                actual_kind == Some(kind),\n                \"split point {split} classified as {}, expected {kind}\",\n                actual_kind\n                    .map(|kind| kind.to_string())\n                    .unwrap_or_else(|| \"empty-target\".to_string())\n            );\n            generated_split_commit\n        }\n    };\n\n    let split = generated_split_commit.split;\n    let cursor = generated_split_commit.cursor;\n    let mut split_commit = generated_split_commit.split_commit;\n\n    // Get cursor excerpt\n    let cursor_excerpt = get_cursor_excerpt(\n        &cursor,\n        &split_commit.source_patch,","sourceCodeStart":688,"sourceCodeEnd":724,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/edit_prediction_cli/src/split_commit.rs#L688-L724","documentation":"When an explicit split point was requested, the generated split is classified and compared against the requested kind; a mismatch (e.g. asking for index but the resolved split behaves as a fraction boundary) aborts generation with this message naming the split and both kinds.","triggerScenarios":"Thrown at crates/edit_prediction_cli/src/split_commit.rs:706 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Choose a split point value that lands on a boundary of the requested kind","Regenerate with a random split if the exact boundary is not required"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f4178619acd0d47ea1f76a2025c42962c6d6638c","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}