Cross-Examine – replay base behavior against an AI-generated PR Cross-Examine, a verification harness for Codex-authored Python changes, detects behavior regressions that standard test suites miss, returning a BROKEN verdict with a reproducing input for a plausible optimization that returns None for an empty list. The tool, developed during OpenAI Build Week 2026, captures base revision behavior and executes head revisions against the same inputs, providing exact command and output evidence for every VERIFIED or REFUTED finding. A live evidence explorer is available at cross-examine-six.vercel.app, and the tool supports macOS, Linux, and Windows. Codex writes the code. Cross-Examine puts it on the stand.OpenAI Build Week 2026 · Track: Developer tools testing · agentic workflows Git worktrees → GPT-5.6 Sol claims → trusted-input base/head execution → pure aggregate → FastAPI/React report. The problem. Agent-authored code passes the tests that exist. Nothing yet checks whether the behavior it replaced still holds. So, the model fixes one bug, introduces another, and the suite stays green throughout. Anyone merging Codex-authored pull requests is reviewing a diff with no evidence about the behavior that diff silently changed. The tool. Cross-Examine is an independent verification harness for Codex-authored Python changes. It captures the base revision's behavior, executes the head revision against the same inputs, and hunts adversarial boundaries. Newly executed reports that pass pipeline validation show the exact command and captured output behind every VERIFIED or REFUTED finding. Abstentions show attempted evidence or a deterministic diagnostic instead of fabricating a receipt. The catch is the product. A plausible optimization returns None for an empty list, the existing happy-path test stays green, and Cross-Examine returns BROKEN with as the reproducing input — reproducible in 60 seconds from a clean checkout by the command below. Judge quickstart: see the catch in 60 seconds judge-quickstart-see-the-catch-in-60-seconds How Codex and GPT-5.6 were used how-codex-and-gpt-56-were-used Why this is not a Codex skill why-this-is-not-a-codex-skill Architecture architecture Scope and safety scope-and-safety License license Also in this repo: requirements requirements · directory map directory-map · Windows setup windows-powershell-setup · real repository runs real-repository-run · tests tests · video outline three-minute-video-outline On macOS or Linux, allocate a fresh workspace, clear ambient model and run-storage variables, and force the checked-in characterization fixture. The findings still come from the real local pipeline: hero workspace=$ mktemp -d env -u OPENAI API KEY -u CROSS EXAMINE DB -u CROSS EXAMINE RUNS CROSS EXAMINE DEMO CHARACTERIZER=fixture \ uv run --isolated --no-editable cross-examine demo --no-open \ --workspace "$hero workspace" The first run in that new workspace reports: Characterization: deterministic hero fixture Verdict: BROKEN Corpus: +2 this run · 2 total Refuted claim: preserve-empty Reproducing input: Run the same credential-cleared command again with the same hero workspace . The verdict remains BROKEN ; corpus output becomes +0 this run · 2 total . A new workspace is what makes the advertised first-run +2 exact. To inspect the same evidence in the product UI: env -u OPENAI API KEY \ CROSS EXAMINE DB="$hero workspace/cross-examine.db" \ CROSS EXAMINE RUNS="$hero workspace/runs" \ uv run cross-examine serve Open the run URL printed by the terminal command, then expand the refuted finding. This server reads the same workspace-local database and run root, so the exact command, base output, head output, expected value, actual value, and reproducing input come from that pipeline-validated persisted report. Test it without building anything. The live evidence explorer https://cross-examine-six.vercel.app is a deployed demo instance — no clone, no install, no API key. It serves an explicitly labeled, checked-in evidence fixture so the report UI, the exact-command receipts, and the verdict surface can be inspected directly in a browser. Vercel Functions do not provide the Git and local-runtime capabilities required to execute repositories, so arbitrary repository analysis is intentionally local-only — the quickstart above runs the real five-stage pipeline. Supported platforms. macOS, Linux, and Windows. The commands above are macOS/Linux; the equivalent Windows PowerShell setup windows-powershell-setup is below. CI exercises Python 3.12 on all three. Where Codex accelerated the work. Codex authored and iterated the whole application: the Python pipeline, the schema and validation layer, execution controls, SQLite persistence, the FastAPI service, the React evidence explorer, the CLI, packaging, the cross-platform verification scripts, and the test suite. It also did the work that is easy to underestimate — diagnosing a Windows cp1252 child-encoding failure, a pytest-cache rename denial in detached worktrees, and the dependency-shaped false positives documented in docs/trials.md /stefbuilds/cross-examine/blob/main/docs/trials.md — each of which changed the execution policy rather than just the code. The dated Git history and the Codex session supplied with the Devpost submission show that progression. Where the key decisions were made. The human held product authority throughout; Codex chose the implementation. The split was deliberate and is the reason the verdict is trustworthy: every doctrine on the left constrains what the code on the right is allowed to conclude. | Human-provided doctrine | Codex-chosen implementation | |---|---| | Problem selection and Python-only scope | FastAPI / SQLite / React stack | | The contract and five-stage structure | Worktree and subprocess mechanics | | Abstain-toward-risk policy | Edge catalog and Hypothesis bounds | | Layer-A-before-Layer-B sequencing | Persistence and SSE protocol | | Trusted-input execution boundary | CLI surface and deterministic hero construction | | Build Week deadline | Component selection and adaptation | | Interface design requirement | Responsive behavior, tests, packaging | | Evidence doctrine and final submission story | Cross-platform diagnosis, release verification | How GPT-5.6 is used at run time. GPT-5.6 Sol gpt-5.6-sol reads bounded diff and source context and emits schema-constrained Claims plus optional ProbePlans. It never emits an outcome or a verdict. Malformed, duplicate, unknown-target, and forbidden structured fields are rejected, and proposal text stays untrusted. The model is a deliberately constrained component rather than the judge — it proposes behavioral claims, while model-free execution supplies the evidence and a pure deterministic aggregate decides the product verdict. A skill is part of the system being judged. You cannot ask the suspect to be the jury. Cross-Examine is a separate process with a separate state store: it proposes and executes checks, then applies a deterministic verdict function. Corpus v1 persists verified Layer-A fixtures and replays them by repository locator and symbol. A schema-constrained Claim is an untrusted proposal, not an oracle. Characterization may also propose an optional untrusted ProbePlan ; neither can carry an outcome or verdict. Executed base behavior and deterministic policy, not claim prose, decide a preservation finding. The intended-change abstention rule below follows from that same boundary. --- config: theme: base layout: dagre themeVariables: fontSize: 14px lineColor: ' 9ca3af' primaryTextColor: ' 111827' edgeLabelBackground: ' ffffff' tertiaryTextColor: ' 4b5563' flowchart: curve: basis nodeSpacing: 44 rankSpacing: 60 padding: 16 htmlLabels: true --- flowchart TB PR "