{
  "schemaVersion": 2,
  "publicEvidenceVersion": 2,
  "runId": "blendergrid-2h-deadline-junkshop-2026-08-02",
  "provider": {
    "name": "Blendergrid",
    "plan": "Two-hour deadline quote",
    "compute": "Provider-managed; per-job hardware and node allocation not exposed",
    "selectedNodes": null,
    "automaticSubmission": false,
    "asynchronousDownload": false
  },
  "benchmark": {
    "scene": "junkshop",
    "label": "Blender Junkshop",
    "expectedFrames": 96,
    "frameRange": "1-96",
    "engine": "Cycles",
    "samples": 240,
    "outputFormat": "PNG",
    "resolution": "2000x1000",
    "persistentData": true
  },
  "boundaries": [
    {
      "id": "upload_start",
      "wallClock": "2026-08-02T22:21:08.933333+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame where Upload changes to its activated Uploading state; 17.900 still shows the pre-upload state. File selection occurred earlier but did not begin transfer.",
      "recordingSeconds": 17.933,
      "recordingVideoPts": {
        "value": 1613970,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "upload_network_start",
      "wallClock": "2026-08-02T22:21:09.700000+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame showing network progress at 0.3%.",
      "recordingSeconds": 18.7,
      "recordingVideoPts": {
        "value": 1683000,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "upload_complete",
      "wallClock": "2026-08-02T22:22:33.533333+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame showing UPLOADED and the subsequent Checking state.",
      "recordingSeconds": 102.533,
      "recordingVideoPts": {
        "value": 9227970,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "checking_complete",
      "wallClock": "2026-08-02T22:22:51.900000+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame showing Checked after Blendergrid's mandatory file check.",
      "recordingSeconds": 120.9,
      "recordingVideoPts": {
        "value": 10881000,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "analysis_start",
      "wallClock": "2026-08-02T22:23:20.233333+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame showing Benchmarking in the mandatory price-calculation step.",
      "recordingSeconds": 149.233,
      "recordingVideoPts": {
        "value": 13430970,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "analysis_complete",
      "wallClock": "2026-08-02T22:31:13.733333+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame showing Benchmarked and the deadline quote options.",
      "recordingSeconds": 622.733,
      "recordingVideoPts": {
        "value": 56045970,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "quote_controls_ready",
      "wallClock": "2026-08-02T22:31:14.933333+02:00",
      "confidence": "exact-visible",
      "evidence": "First native source frame where provider-controlled quote loading has finished and the quote controls are usable.",
      "recordingSeconds": 623.933,
      "recordingVideoPts": {
        "value": 56153970,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "selected_quote_visible",
      "wallClock": "2026-08-02T22:31:24.367000+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame showing the selected two-hour deadline total of $7.30 USD; 633.333 still shows $6.52.",
      "recordingSeconds": 633.367,
      "recordingVideoPts": {
        "value": 57003030,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "render_submit",
      "wallClock": "2026-08-02T22:31:26.733333+02:00",
      "confidence": "exact-visible",
      "evidence": "First consequent source frame after Start Rendering is activated for the selected two-hour quote.",
      "recordingSeconds": 635.733,
      "recordingVideoPts": {
        "value": 57215970,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "active_render_start",
      "wallClock": "2026-08-02T22:34:32.300000+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame with a completed-frame tile; Blendergrid exposes no worker-start timestamp, so this is the first defensible visible active-render signal rather than the physical compute start.",
      "recordingSeconds": 821.3,
      "recordingVideoPts": {
        "value": 73917000,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "active_render_complete",
      "wallClock": "2026-08-02T23:35:51.100000+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame showing all 96 expected rendered-frame tiles.",
      "recordingSeconds": 4500.1,
      "recordingVideoPts": {
        "value": 405009000,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "render_complete",
      "wallClock": "2026-08-02T23:37:26.600000+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame where the current Junkshop row moves from Rendering to FINISHED and Rendered; 4595.567 still shows Rendering 78.7% and 78 frames in the freshly loaded list.",
      "recordingSeconds": 4595.6,
      "recordingVideoPts": {
        "value": 413604000,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "download_start",
      "wallClock": "2026-08-02T23:37:31.667000+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame where the macOS Save action is visibly activated and begins the browser's local transfer; 4600.633 still shows the active blue Save button.",
      "recordingSeconds": 4600.667,
      "recordingVideoPts": {
        "value": 414060030,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "download_complete",
      "wallClock": "2026-08-02T23:37:51.066667+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame where Chrome Recent Download History shows 02-junkshop-frames.zip as Done; the ZIP mtime is 2026-08-02 23:37:51 CEST and its archive integrity was verified.",
      "recordingSeconds": 4620.067,
      "recordingVideoPts": {
        "value": 415806030,
        "timeBase": "1/90000"
      }
    }
  ],
  "phases": [
    {
      "id": "upload",
      "type": "upload",
      "startBoundary": "upload_start",
      "endBoundary": "upload_complete",
      "providerControlled": true,
      "includedInSystemTime": true,
      "notes": [
        "Includes the required browser upload through Blendergrid's explicit UPLOADED acknowledgment."
      ]
    },
    {
      "id": "mandatory_checking",
      "type": "analysis",
      "startBoundary": "upload_complete",
      "endBoundary": "checking_complete",
      "providerControlled": true,
      "includedInSystemTime": true,
      "notes": [
        "Provider-required file checking."
      ]
    },
    {
      "id": "operator_configuration_before_benchmark",
      "type": "configuration",
      "startBoundary": "checking_complete",
      "endBoundary": "analysis_start",
      "providerControlled": false,
      "includedInSystemTime": false,
      "notes": [
        "Required operator settings work is documented and removed from standardized system time."
      ]
    },
    {
      "id": "mandatory_price_benchmark",
      "type": "analysis",
      "startBoundary": "analysis_start",
      "endBoundary": "analysis_complete",
      "providerControlled": true,
      "includedInSystemTime": true,
      "notes": [
        "Blendergrid requires this benchmark before it exposes deadline prices."
      ]
    },
    {
      "id": "quote_interface_loading",
      "type": "analysis",
      "startBoundary": "analysis_complete",
      "endBoundary": "quote_controls_ready",
      "providerControlled": true,
      "includedInSystemTime": true,
      "notes": [
        "Provider-controlled quote loading remains in the benchmark clock."
      ]
    },
    {
      "id": "operator_quote_selection",
      "type": "configuration",
      "startBoundary": "quote_controls_ready",
      "endBoundary": "render_submit",
      "providerControlled": false,
      "includedInSystemTime": false,
      "notes": [
        "Quote selection and the final render action are operator time and are removed."
      ]
    },
    {
      "id": "queue_startup",
      "type": "queue-startup",
      "startBoundary": "render_submit",
      "endBoundary": "active_render_start",
      "providerControlled": true,
      "includedInSystemTime": true,
      "notes": [
        "Ends at the first completed-frame signal because no worker-start telemetry is exposed."
      ]
    },
    {
      "id": "active_render_observed",
      "type": "active-render",
      "startBoundary": "active_render_start",
      "endBoundary": "active_render_complete",
      "providerControlled": true,
      "includedInSystemTime": true,
      "notes": [
        "Observed completion span from the first completed frame through all 96 frames; physical worker start remains unknown."
      ]
    },
    {
      "id": "mandatory_finalization",
      "type": "finalization",
      "startBoundary": "active_render_complete",
      "endBoundary": "render_complete",
      "providerControlled": true,
      "includedInSystemTime": true,
      "notes": [
        "All frame tiles were complete before Blendergrid exposed the current project as FINISHED/Rendered."
      ]
    },
    {
      "id": "download_setup",
      "type": "download-setup",
      "startBoundary": "render_complete",
      "endBoundary": "download_start",
      "providerControlled": false,
      "includedInSystemTime": true,
      "notes": [
        "Normal immediate download navigation and Save confirmation; not an operator exclusion."
      ]
    },
    {
      "id": "download",
      "type": "download",
      "startBoundary": "download_start",
      "endBoundary": "download_complete",
      "providerControlled": true,
      "includedInSystemTime": true,
      "notes": [
        "Browser transfer through the first visible Done frame and a verified local archive."
      ]
    }
  ],
  "operatorExclusions": [
    {
      "id": "operator_interaction_1",
      "durationSeconds": 28.333,
      "reason": "Operator configuration between provider checking and mandatory benchmarking",
      "recordingStartSeconds": 120.9,
      "recordingStartVideoPts": {
        "value": 10881000,
        "timeBase": "1/90000"
      },
      "recordingEndSeconds": 149.233,
      "recordingEndVideoPts": {
        "value": 13430970,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "operator_interaction_2",
      "durationSeconds": 11.799999999999955,
      "reason": "Operator quote selection and final render confirmation after the quote controls became usable",
      "recordingStartSeconds": 623.933,
      "recordingStartVideoPts": {
        "value": 56153970,
        "timeBase": "1/90000"
      },
      "recordingEndSeconds": 635.733,
      "recordingEndVideoPts": {
        "value": 57215970,
        "timeBase": "1/90000"
      }
    }
  ],
  "comparisonExclusions": [],
  "capacitySamples": [
    {
      "confidence": "inferred-from-visible-completion-pattern",
      "evidence": "The recording shows one sequential worker-equivalent completion stream, normally advancing in two-frame batches. Blendergrid does not expose a physical worker counter.",
      "frameBatchSize": 2,
      "inferredNodeEquivalent": 1,
      "recordingSeconds": 821.3,
      "recordingVideoPts": {
        "value": 73917000,
        "timeBase": "1/90000"
      }
    }
  ],
  "billingSamples": [
    {
      "amount": 7.3,
      "atBoundary": "selected_quote_visible",
      "confidence": "exact-visible",
      "final": false,
      "kind": "upfront-two-hour-deadline-quote",
      "note": "Exact displayed quote total for the selected two-hour deadline; a final debit or invoice is not shown in this recording.",
      "scope": "scene",
      "unit": "USD"
    }
  ],
  "uxEvents": [
    {
      "id": "mandatory_dual_preprocessing",
      "observation": "The workflow requires both file checking and a separate 473.500-second price benchmark before rendering can be submitted.",
      "severity": "friction",
      "recordingSeconds": 102.533,
      "recordingVideoPts": {
        "value": 9227970,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "hardware_allocation_opaque",
      "observation": "The job page does not expose selected hardware, node count, GPU count, queue telemetry, or a worker-start timestamp.",
      "severity": "measurement-note",
      "recordingSeconds": 635.733,
      "recordingVideoPts": {
        "value": 57215970,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "post-frame-finalization",
      "observation": "Blendergrid took 95.500 seconds after all 96 frame tiles were visible before the current project was exposed as FINISHED/Rendered.",
      "severity": "measurement-note",
      "recordingSeconds": 4500.1,
      "recordingVideoPts": {
        "value": 405009000,
        "timeBase": "1/90000"
      }
    }
  ],
  "outcome": {
    "classification": "complete",
    "expectedFrames": 96,
    "providerCompletedFrames": 96,
    "localVerifiedFrames": 96,
    "terminalBoundary": "download_complete"
  },
  "metrics": {}
}
