{
  "surface": "Chromium web client, 1280x800 CSS pixels, light theme",
  "provider": "Actual Claude Code CLI 2.1.322; local HTTP endpoint only",
  "seed": "Fresh per-checkout T3 database with T3CODE_DEV_SEED=0; isolated Claude configuration; synthetic git project titled Endpoint version proof. No live database copied.",
  "steps": [
    "Start stub.py with no required-version file (minimum defaults to 2.1.290).",
    "Prepare each fresh checkout with seed.py, install with vp i, and run T3CODE_DEV_SEED=0 T3CODE_AUTO_BOOTSTRAP_PROJECT_FROM_CWD=0 vp run dev.",
    "Create an empty synthetic git repository and add it with the checkout CLI: project add PROJECT --title 'Endpoint version proof' --base-dir .t3.",
    "Use the CLI thread start command to create a preparatory Claude thread, then pair the browser and open it. Use the same provider selection on each side.",
    "Click New thread. Close Toggle thread details panel. Start browser recording.",
    "Type 'Check the endpoint version.' into [role=textbox][contenteditable=true] and click button[aria-label='Submit message'].",
    "Wait for the terminal provider error. Click the thread breadcrumb to remove composer focus. Capture two stills at least 500ms apart and compare pixels; retain only when identical. Stop recording.",
    "Repeat the identical send flow on the other checkout against the unchanged stub.",
    "Supplemental head-only control: write 2.1.400 to required-version beside stub.py, restart the stub, create a new Claude thread, and repeat the send. The same installed CLI 2.1.322 now fails the minimum requirement."
  ],
  "privacy": {
    "beforeRecording": "Inject CSS button[aria-label^=\"Claude \"] { visibility:hidden !important } to conceal model selector metadata only; close the workspace details panel through its normal button.",
    "export": "Crop the sidebar from both recordings and stills identically (256 CSS pixels from the left); no error or transcript text modified. Export videos at 1024x800."
  },
  "assertions": "No tests used as evidence; visually compare the real error banner and Provider error activity.",
  "attribution": "AI-assisted; verified with the tests and tools listed above."
}
