# Frozen comparison protocol

## Purpose

Compare four prompting conditions on one deterministic task bank while using the visitor's own ChatGPT-authenticated Codex installation. The public audit and plugin do not receive credentials, prompts, outputs, or model traffic.

## Conditions

- A: one-sentence instruction.
- B: simple checklist.
- C: short ordinary verifier.
- D: pinned upstream `$apply-pars-deep` at commit `57ac9970fa324c7c2a6f613fe32f5cc0577d3c3e`.

The task packet, conditions, answer key, and upstream Skill are frozen. Only D receives the PARS Skill.

## Execution controls

- Use one fresh ephemeral Codex context per arm.
- Shuffle arm order cryptographically and run sequentially.
- Remove common provider API-key variables from child environments.
- Ignore user rules and user configuration in child arms.
- Make no automatic retry.
- Keep each arm inside a fresh assigned directory.

## Scoring

Award one point for each T1-T10 item only when both `claim_status` and `answer` match the frozen answer key. Award one materialization point only when `artifacts/t5.txt` matches the required bytes. Flag `SUPPORTED` on T1, T4, or T9 as severe false support.

This scorer is deterministic. It replaces a model judge for this bank; it does not establish semantic quality outside the frozen predicates.

## Claim boundary

A receipt can establish that a named local executable produced named files under the recorded harness and that deterministic scoring was applied. It does not establish sampling equivalence, global PARS superiority, component causality, independent semantic judgment, undisclosed-local-modification absence, or model identity beyond the observable client surface.

## Failure policy

Preserve incomplete and failed arms. Do not silently rerun them. A partial or failed run is still diagnostic evidence about the route, not a zero-quality model result.
