{"record":{"id":"da9a26831dc8723e","repo":"zed-industries/zed","slug":"output-span-must-be-bounded-by-two-marker-tags","errorCode":null,"errorMessage":"output span must be bounded by two marker tags","messagePattern":"output span must be bounded by two marker tags","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/zeta_prompt/src/hashed_regions.rs","lineNumber":217,"sourceCode":"}\n\npub fn extract_marker_span_allow_same(text: &str) -> Result<(String, String, String)> {\n    let first_tag_start = text\n        .find(MARKER_TAG_PREFIX)\n        .context(\"no start marker found in output\")?;\n    let first_id_start = first_tag_start + MARKER_TAG_PREFIX.len();\n    let first_id_end = text[first_id_start..]\n        .find(MARKER_TAG_SUFFIX)\n        .map(|i| i + first_id_start)\n        .context(\"malformed start marker tag\")?;\n    let start_id = &text[first_id_start..first_id_end];\n    let first_tag_end = first_id_end + MARKER_TAG_SUFFIX.len();\n\n    let last_tag_start = text\n        .rfind(MARKER_TAG_PREFIX)\n        .context(\"no end marker found in output\")?;\n    if last_tag_start == first_tag_start {\n        return Err(anyhow!(\"output span must be bounded by two marker tags\"));\n    }\n    let last_id_start = last_tag_start + MARKER_TAG_PREFIX.len();\n    let last_id_end = text[last_id_start..]\n        .find(MARKER_TAG_SUFFIX)\n        .map(|i| i + last_id_start)\n        .context(\"malformed end marker tag\")?;\n    let end_id = &text[last_id_start..last_id_end];\n\n    let mut content_start = first_tag_end;\n    if text.as_bytes().get(content_start) == Some(&b'\\n') {\n        content_start += 1;\n    }\n    let content_end = last_tag_start;\n    let content = &text[content_start..content_end.max(content_start)];\n    let content = multi_region::strip_marker_tags(content);\n    Ok((start_id.to_string(), end_id.to_string(), content))\n}\n","sourceCodeStart":199,"sourceCodeEnd":235,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/zeta_prompt/src/hashed_regions.rs#L199-L235","documentation":"Raised in extract_marker_span_allow_same(): the output text is not bounded by marker tags — either the first or last marker tag was malformed, so the text cannot be interpreted as a marker-bounded span.","triggerScenarios":"Thrown at crates/zeta_prompt/src/hashed_regions.rs:217 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Regenerate the model output with proper start/end markers","Retry the edit request"],"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"}