FAILURE MAP
← Case archive

FA-10776 / Rendering state / Open access

Primitive restart index separation · case 01

The restart sentinel is consumed as an ordinary vertex index.

Verified by executionVariant 1 · 4 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The restart sentinel is consumed as an ordinary vertex index.

VERIFIED REPAIR

Use the stage contract: Split an index buffer into nonempty primitive runs at a configured restart sentinel. Restart markers are not vertices; consecutive markers produce no empty runs.

Unsuccessful approach: Deleting sentinels without splitting joins otherwise independent primitives.

Case contract

Split an index buffer into nonempty primitive runs at a configured restart sentinel. Restart markers are not vertices; consecutive markers produce no empty runs.

Why this case matters

A deterministic software graphics stage with explicit channel and coordinate conventions; no hardware, device profile or API behavior is inferred.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(indices, restart):
    return [list(indices)] if indices else []
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve(*([0, 1, 99, 2, 3], 99)), [[0, 1], [2, 3]])
check('fixture 2', solve(*([99, 0, 99, 99], 99)), [[0]])
check('fixture 3', solve(*([], 99)), [])
check('fixture 4', solve(*([0, 1], 99)), [[0, 1]])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
fixture 1[[0, 1, 99, 2, 3]][[0, 1], [2, 3]]Failed
fixture 2[[99, 0, 99, 99]][[0]]Failed
fixture 3[][]Passed
fixture 4[[0, 1]][[0, 1]]Passed

SHA-256 / fbc79fc7bb61e00987e1c2a4cad1dda3c3b473510ca4e0b9667ea33dd8df8b3e

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(indices, restart):
    return [[x for x in indices if x!=restart]] if indices else []
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve(*([0, 1, 99, 2, 3], 99)), [[0, 1], [2, 3]])
check('fixture 2', solve(*([99, 0, 99, 99], 99)), [[0]])
check('fixture 3', solve(*([], 99)), [])
check('fixture 4', solve(*([0, 1], 99)), [[0, 1]])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
fixture 1[[0, 1, 2, 3]][[0, 1], [2, 3]]Failed
fixture 2[[0]][[0]]Passed
fixture 3[][]Passed
fixture 4[[0, 1]][[0, 1]]Passed

SHA-256 / 0f81e785c06416a5ad2b52bedd6194ab37ad0bb605ea6e7c408eda23a1d7f70a

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(indices, restart):
    out=[]
    current=[]
    for index in indices:
        if index==restart:
            if current: out.append(current)
            current=[]
        else: current.append(index)
    if current: out.append(current)
    return out
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve(*([0, 1, 99, 2, 3], 99)), [[0, 1], [2, 3]])
check('fixture 2', solve(*([99, 0, 99, 99], 99)), [[0]])
check('fixture 3', solve(*([], 99)), [])
check('fixture 4', solve(*([0, 1], 99)), [[0, 1]])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
fixture 1[[0, 1], [2, 3]][[0, 1], [2, 3]]Passed
fixture 2[[0]][[0]]Passed
fixture 3[][]Passed
fixture 4[[0, 1]][[0, 1]]Passed

SHA-256 / f5bfc410872ac3ddbc170bdc183e1be668faaa89fba64cc3a2ae942c5c203962

Verification & scope

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.

Observations recorded using Python 3.12.14 at 2026-09-29T14:38:42.089309+00:00.

Case digest / f850f1975329ad00916f20effb8cfe9174fbf52b123c6aa542612513c2180b0e