{"abstract":"The manifest filename is incorrectly treated as a directory.","category":"Streaming segment lifecycle","checks":4,"contract":"Resolve a simple relative segment path against the directory of an absolute manifest path. Paths contain no query, fragment, dot-segments or URLs; absolute segment paths stay absolute.","contract_signature":"base_path, segment","evaluation_group":"xmed-segment-uri-relative-resolution","failed_approach":"Always prefixing the directory corrupts already-absolute segment references.","family":"xmed-segment-uri-relative-resolution","id":"FA-11121","implementations":{"attempt":{"sha256":"31794352d55ba205abe74deee0db3b73321c68263dd706e30e3172fbd7a55856","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(base_path, segment):\n    return base_path.rsplit(\"/\",1)[0]+\"/\"+segment\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1',solve(*('/live/list.m3u8', 'seg1.ts')),'/live/seg1.ts')\ncheck('fixture 2',solve(*('/live/list.m3u8', '/shared/seg.ts')),'/shared/seg.ts')\ncheck('fixture 3',solve(*('/list.m3u8', 'x.ts')),'/x.ts')\ncheck('fixture 4',solve(*('/a/b/list', 'part')),'/a/b/part')\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"e728aad1defcde9f7e5d50a6ab202a9637d434be8b774a698dab83e80042da58","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(base_path, segment):\n    return base_path+\"/\"+segment\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1',solve(*('/live/list.m3u8', 'seg1.ts')),'/live/seg1.ts')\ncheck('fixture 2',solve(*('/live/list.m3u8', '/shared/seg.ts')),'/shared/seg.ts')\ncheck('fixture 3',solve(*('/list.m3u8', 'x.ts')),'/x.ts')\ncheck('fixture 4',solve(*('/a/b/list', 'part')),'/a/b/part')\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":" This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"xmed-segment-uri-relative-resolution","generated_at":"2026-09-29T14:38:45.075475+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic local media controller stage; metadata and downloaded data are supplied explicitly. No external player, service or codec is required.","root_cause":"The manifest filename is incorrectly treated as a directory.","sha256":"15406edad815373eb1288c18f606486cdd8fd67ae902110766b6b8fb8f7e049d","title":"Segment uri relative resolution · case 01","variant":1,"variant_policy":"The five numbered cases rerun the same authored boundary fixtures; they are reproducibility runs, not independent input variants.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":36.806,"exit_code":1,"observations":[{"actual":"/live/seg1.ts","check":"fixture 1","expected":"/live/seg1.ts","passed":true},{"actual":"/live//shared/seg.ts","check":"fixture 2","expected":"/shared/seg.ts","passed":false},{"actual":"/x.ts","check":"fixture 3","expected":"/x.ts","passed":true},{"actual":"/a/b/part","check":"fixture 4","expected":"/a/b/part","passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": \"/live/seg1.ts\", \"expected\": \"/live/seg1.ts\", \"passed\": true}, {\"check\": \"fixture 2\", \"actual\": \"/live//shared/seg.ts\", \"expected\": \"/shared/seg.ts\", \"passed\": false}, {\"check\": \"fixture 3\", \"actual\": \"/x.ts\", \"expected\": \"/x.ts\", \"passed\": true}, {\"check\": \"fixture 4\", \"actual\": \"/a/b/part\", \"expected\": \"/a/b/part\", \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.799,"exit_code":1,"observations":[{"actual":"/live/list.m3u8/seg1.ts","check":"fixture 1","expected":"/live/seg1.ts","passed":false},{"actual":"/live/list.m3u8//shared/seg.ts","check":"fixture 2","expected":"/shared/seg.ts","passed":false},{"actual":"/list.m3u8/x.ts","check":"fixture 3","expected":"/x.ts","passed":false},{"actual":"/a/b/list/part","check":"fixture 4","expected":"/a/b/part","passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": \"/live/list.m3u8/seg1.ts\", \"expected\": \"/live/seg1.ts\", \"passed\": false}, {\"check\": \"fixture 2\", \"actual\": \"/live/list.m3u8//shared/seg.ts\", \"expected\": \"/shared/seg.ts\", \"passed\": false}, {\"check\": \"fixture 3\", \"actual\": \"/list.m3u8/x.ts\", \"expected\": \"/x.ts\", \"passed\": false}, {\"check\": \"fixture 4\", \"actual\": \"/a/b/list/part\", \"expected\": \"/a/b/part\", \"passed\": false}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}