{
  "schemaVersion": 2,
  "publicEvidenceVersion": 2,
  "runId": "blendergrid-2h-deadline-classroom-2026-08-06",
  "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": "classroom",
    "label": "Blender Classroom",
    "expectedFrames": 145,
    "frameRange": "1-145",
    "engine": "Cycles",
    "samples": 300,
    "outputFormat": "PNG",
    "resolution": "1920x1080",
    "persistentData": true
  },
  "boundaries": [
    {
      "id": "upload_start",
      "wallClock": "2026-08-06T01:22:34.033333+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame where Upload changes to its activated Uploading state; 11.000 still shows the pre-upload state. File selection occurred earlier but did not begin transfer.",
      "recordingSeconds": 11.033,
      "recordingVideoPts": {
        "value": 992970,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "upload_network_start",
      "wallClock": "2026-08-06T01:22:34.667000+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame showing network transfer progress.",
      "recordingSeconds": 11.667,
      "recordingVideoPts": {
        "value": 1050030,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "upload_complete",
      "wallClock": "2026-08-06T01:22:57.133333+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame showing UPLOADED and the subsequent Checking state.",
      "recordingSeconds": 34.133,
      "recordingVideoPts": {
        "value": 3071970,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "checking_complete",
      "wallClock": "2026-08-06T01:23:10.966667+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame showing Checked after Blendergrid's mandatory file check.",
      "recordingSeconds": 47.967,
      "recordingVideoPts": {
        "value": 4317030,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "analysis_start",
      "wallClock": "2026-08-06T01:23:22.200000+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame showing Benchmarking in the mandatory price-calculation step.",
      "recordingSeconds": 59.2,
      "recordingVideoPts": {
        "value": 5328000,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "analysis_complete",
      "wallClock": "2026-08-06T01:28:32.200000+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame showing Benchmarked and the deadline quote options.",
      "recordingSeconds": 369.2,
      "recordingVideoPts": {
        "value": 33228000,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "quote_controls_ready",
      "wallClock": "2026-08-06T01:28:33.366667+02:00",
      "confidence": "exact-visible",
      "evidence": "First native source frame where provider-controlled quote loading has finished and the quote controls are usable.",
      "recordingSeconds": 370.367,
      "recordingVideoPts": {
        "value": 33333030,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "selected_quote_visible",
      "wallClock": "2026-08-06T01:28:38.467000+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame showing the selected two-hour deadline total of $11.73 USD; 375.433 still shows the prior $9.82 amount.",
      "recordingSeconds": 375.467,
      "recordingVideoPts": {
        "value": 33792030,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "render_submit",
      "wallClock": "2026-08-06T01:28:47.066667+02:00",
      "confidence": "exact-visible",
      "evidence": "First consequent source frame after Start Rendering is activated for the selected two-hour quote.",
      "recordingSeconds": 384.067,
      "recordingVideoPts": {
        "value": 34566030,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "active_render_start",
      "wallClock": "2026-08-06T01:32:03.033000+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": 580.033,
      "recordingVideoPts": {
        "value": 52202970,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "active_render_complete",
      "wallClock": "2026-08-06T02:47:03.000000+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame showing all 145 expected rendered-frame tiles.",
      "recordingSeconds": 5080,
      "recordingVideoPts": {
        "value": 457200000,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "render_complete",
      "wallClock": "2026-08-06T02:48:45.766667+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame after refresh where Downloads appears and Cancel Rendering becomes Delete Project. Earlier list/detail checks still expose the current Classroom run as Rendering, so the 102.767-second interval after all frame tiles is mandatory provider finalization rather than operator idle.",
      "recordingSeconds": 5182.767,
      "recordingVideoPts": {
        "value": 466449030,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "download_start",
      "wallClock": "2026-08-06T02:48:49.867000+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame where the macOS Save action is visibly activated and begins the browser's local transfer; 5186.833 still shows the active blue Save button.",
      "recordingSeconds": 5186.867,
      "recordingVideoPts": {
        "value": 466818030,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "download_complete",
      "wallClock": "2026-08-06T02:49:28.233333+02:00",
      "confidence": "exact-visible",
      "evidence": "First source frame where Chrome Recent Download History shows 01-classroom-frames (1).zip as Done; the ZIP mtime is 2026-08-06 02:49:28 CEST and its archive integrity was verified.",
      "recordingSeconds": 5225.233,
      "recordingVideoPts": {
        "value": 470270970,
        "timeBase": "1/90000"
      }
    }
  ],
  "phases": [
    {
      "id": "upload",
      "type": "upload",
      "startBoundary": "upload_start",
      "endBoundary": "upload_complete",
      "providerControlled": true,
      "includedInSystemTime": true,
      "notes": [
        "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 145 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 Downloads and replaced Cancel Rendering with Delete Project."
      ]
    },
    {
      "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": 11.233000000000004,
      "reason": "Operator configuration between provider checking and mandatory benchmarking",
      "recordingStartSeconds": 47.967,
      "recordingStartVideoPts": {
        "value": 4317030,
        "timeBase": "1/90000"
      },
      "recordingEndSeconds": 59.2,
      "recordingEndVideoPts": {
        "value": 5328000,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "operator_interaction_2",
      "durationSeconds": 13.699999999999989,
      "reason": "Operator quote selection and final render confirmation after the quote controls became usable",
      "recordingStartSeconds": 370.367,
      "recordingStartVideoPts": {
        "value": 33333030,
        "timeBase": "1/90000"
      },
      "recordingEndSeconds": 384.067,
      "recordingEndVideoPts": {
        "value": 34566030,
        "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": 580.033,
      "recordingVideoPts": {
        "value": 52202970,
        "timeBase": "1/90000"
      }
    }
  ],
  "billingSamples": [
    {
      "amount": 11.73,
      "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 310.000-second price benchmark before rendering can be submitted.",
      "severity": "friction",
      "recordingSeconds": 34.133,
      "recordingVideoPts": {
        "value": 3071970,
        "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": 384.067,
      "recordingVideoPts": {
        "value": 34566030,
        "timeBase": "1/90000"
      }
    },
    {
      "id": "post-frame-finalization",
      "observation": "Blendergrid took 102.767 seconds after all 145 frame tiles were visible before the download became available.",
      "severity": "friction",
      "recordingSeconds": 5080,
      "recordingVideoPts": {
        "value": 457200000,
        "timeBase": "1/90000"
      }
    }
  ],
  "outcome": {
    "classification": "complete",
    "expectedFrames": 145,
    "providerCompletedFrames": 145,
    "localVerifiedFrames": 145,
    "terminalBoundary": "download_complete"
  },
  "metrics": {}
}
