{
  "finalPair": {
    "before": "vm-base-5",
    "after": "vm-head-2",
    "sameExecutedDriverSha256": "e39320d969be1d6cd5ddf01ecfc0fda398b109866863a47e9ea6cf5ed1419e9f",
    "sameExecutedLauncherSha256": "a9d6fd2c4654dedb6293a20eb834b2e5b5574c77405cab4892a414c1ab6b1236"
  },
  "startingState": "Each run recreates the server home and boots a guest from the same immutable disk snapshot; one synthetic repository is added through each server CLI; zero existing threads; exactly one UI submission.",
  "fixtureCorrection": "The first companion shared the Docker host. Base selected Available-environment in that run despite reporting incorrect container resources. The companion was then moved to a local 1 vCPU / 2 GiB KVM guest so it reports a genuinely smaller capacity. Load, preferences, project and routing steps were unchanged. This is the single correction to the reproduction fixture.",
  "excludedRuns": [
    {
      "runs": "prove-first (both commits)",
      "outcome": "No app interaction; container runtime lacked libatomic.so.1."
    },
    {
      "runs": "prove-second (both commits)",
      "outcome": "No submission; companion pairing URL pointed at an unserved web port. Manual fallback followed."
    },
    {
      "runs": "manual-head-setup, head-calibration-1, head-calibration-2, manual-head-1",
      "outcome": "CLI selection/output path errors; no app interaction."
    },
    {
      "runs": "manual-head-2",
      "outcome": "One head submission to Available-environment; excluded because settings still was a loading screen and resource reads were null."
    },
    {
      "runs": "manual-head-3",
      "outcome": "Interrupted before submission while updating the capture driver."
    },
    {
      "runs": "manual-head-4",
      "outcome": "One head submission to Available-environment; excluded because final screenshots caught a sidebar transition."
    },
    {
      "runs": "manual-base-1",
      "outcome": "One base submission to Available-environment; this did not reproduce the routing difference, prompting the fixture correction disclosed above."
    },
    {
      "runs": "vm-base-1, vm-base-2",
      "outcome": "Interrupted during guest image/module preparation; no UI submission."
    },
    {
      "runs": "vm-base-3",
      "outcome": "Guest dev wrapper attempted a runtime download; no UI submission."
    },
    {
      "runs": "vm-base-4",
      "outcome": "Guest dev-wrapper cache failed on the shared filesystem; no UI submission. The guest server was then run directly from source with guest-local state."
    },
    {
      "runs": "vm-head-1",
      "outcome": "Loading screen did not clear within the locator deadline; no UI submission. The unchanged driver was rerun."
    }
  ],
  "captureProcessing": [
    "Full recordings retained: no splicing, cuts, speed changes or synthetic metrics.",
    "WebM converted to H.264 MP4 at the original 1280 by 800 viewport.",
    "Only the central replay output is visibly masked to remove local file paths: base seconds 67\u201379, head seconds 61\u201371. Routing controls, selected environment and sidebar remain visible.",
    "Routing PNGs are extracted from the last video frames. The original app stills were accepted only after byte-identical screenshots 500 ms apart; final videos end after those checks.",
    "Uploaded scripts differ from executed scripts only by normalizing the private scratch prefix to /tmp/capacity-proof and the checkout mount home to /home/proof."
  ]
}
