{
  "ok": true,
  "active_version": "v2.0.1-decision-studio",
  "served_engine_version": "v2.0.1-decision-studio",
  "active_root_parity": true,
  "platform_posture": "built, pre-benchmark",
  "version_count": 4,
  "pending_count": 1,
  "studio_dir_kind": "staged-in-image",
  "versions": [
    {
      "version_id": "v2.0-decision-studio",
      "status": "archived",
      "note": "Built in-house (Claude session, 2026-10-17): the v2.0 Decision Studio & Live Control Cockpit, engine-wired same-origin via /api/demo/studio/*. Serves /demo/studio while active. Its studio_server.py snapshot carries the owner's CodeQL autofix commits of 2026-10-18 (fa015d140, 077c2c81d; never imported or deployed; digest re-pinned the same day). Archived 2026-10-18 when v2.0.1 took the active slot: this snapshot's engine and cockpit still carry hardcoded model pins, including the retired claude-opus-4-7, as the build shipped them; it stays clickable for comparison and is labelled archived on the index. Served as a historical browser simulation with network connections denied; no server engine runs for this version. Artifact integrity does not validate the browser fallback as a replay of the archived Python engine.",
      "pending": false,
      "execution_mode": "historical-browser-simulation",
      "engine_check_scope": "not-run-for-this-version",
      "served_at": "/demo/studio/v/v2.0-decision-studio",
      "artifacts_verified": true,
      "artifacts": {
        "cockpit_html": {
          "path": "versions/v2.0-decision-studio/demo-studio.html",
          "present": true,
          "expected_sha256": "1fcbe30b2f9533eefb2a98f325b95e7dfa4317f5e61d054bacd6de59e15c3562",
          "actual_sha256": "1fcbe30b2f9533eefb2a98f325b95e7dfa4317f5e61d054bacd6de59e15c3562",
          "sha256_match": true,
          "shipped_in_image": true
        },
        "engine": {
          "path": "versions/v2.0-decision-studio/demo_studio.py",
          "present": false,
          "expected_sha256": "32d409a19d9b3ce31c823e59848827fac656cbe18b1141648a23368596882618",
          "actual_sha256": null,
          "sha256_match": false,
          "shipped_in_image": false
        },
        "server": {
          "path": "versions/v2.0-decision-studio/studio_server.py",
          "present": false,
          "expected_sha256": "2033b77945ee1073973caf72889a477b6667eab5ffa2a5a1f0d277695404804d",
          "actual_sha256": null,
          "sha256_match": false,
          "shipped_in_image": false
        }
      }
    },
    {
      "version_id": "v2.0.1-decision-studio",
      "status": "active",
      "note": "v2.0 with the review follow-ups from #1787 (2026-10-18): the Virtuoso routing table and the model_version / model_registry_refs strings name ROLES only (every model identifier, including the retired claude-opus-4-7 the v2.0 cockpit showed as current routing, is resolved by src/shared/virtuoso_models/model_registry.py at call time and none is hardcoded here, in the engine or in the cockpit's fallback tables); the unused per-tenant chain store is gone and the passport-chain-v1 block is documented as a genesis-anchored single link. Every figure stays an illustrative scenario; no claim copy changed. Serves /demo/studio while active.",
      "pending": false,
      "execution_mode": "active-server",
      "engine_check_scope": "active-server",
      "served_at": "/demo/studio/v/v2.0.1-decision-studio",
      "artifacts_verified": true,
      "artifacts": {
        "cockpit_html": {
          "path": "versions/v2.0.1-decision-studio/demo-studio.html",
          "present": true,
          "expected_sha256": "50eadd52453e43e4309ed0ecf44594fb55020c33b7593f09723574ed5d04347e",
          "actual_sha256": "50eadd52453e43e4309ed0ecf44594fb55020c33b7593f09723574ed5d04347e",
          "sha256_match": true,
          "shipped_in_image": true
        },
        "engine": {
          "path": "versions/v2.0.1-decision-studio/demo_studio.py",
          "present": false,
          "expected_sha256": "c778e02d9e54f17bc8909d6e3a8d0ffd224cb92fe63609bcfa06837e2ad23321",
          "actual_sha256": null,
          "sha256_match": false,
          "shipped_in_image": false
        },
        "server": {
          "path": "versions/v2.0.1-decision-studio/studio_server.py",
          "present": false,
          "expected_sha256": "7add8337c831e379d9de9765314c4a57a9ef8b856d498a10713bbc9ed8ee8246",
          "actual_sha256": null,
          "sha256_match": false,
          "shipped_in_image": false
        }
      }
    },
    {
      "version_id": "v2.0-gemini-studio",
      "status": "active",
      "note": "Built in-house (Gemini 4.0 session, 2026-10-18): the v2.0 Gemini 4.0 Decision Studio & Fleet Matrix Cockpit (/demo/studio/v/v2.0-gemini-studio), adding Tab 05 (5-Job Fleet Matrix Compare + live /api/demo/studio/monitor verifier) alongside the 7-phase SRPVDAL simulator and 7-vector Red-Team harness. Its studio_server.py snapshot carries the owner's CodeQL autofix commits of 2026-10-18 (6cb60896f..ae0c21e19, fa015d140, 077c2c81d; never imported or deployed; digest re-pinned the same day). Served as a historical browser simulation with network connections denied; no server engine runs for this version. Artifact integrity does not validate the browser fallback as a replay of the archived Python engine.",
      "pending": false,
      "execution_mode": "historical-browser-simulation",
      "engine_check_scope": "not-run-for-this-version",
      "served_at": "/demo/studio/v/v2.0-gemini-studio",
      "artifacts_verified": true,
      "artifacts": {
        "cockpit_html": {
          "path": "versions/v2.0-gemini-studio/demo-studio.html",
          "present": true,
          "expected_sha256": "ac8098d7e8af7cbfdcccf8a662939e7818b26eaff8aec9a1e9cc2ab97deb8d84",
          "actual_sha256": "ac8098d7e8af7cbfdcccf8a662939e7818b26eaff8aec9a1e9cc2ab97deb8d84",
          "sha256_match": true,
          "shipped_in_image": true
        },
        "engine": {
          "path": "versions/v2.0-gemini-studio/demo_studio.py",
          "present": false,
          "expected_sha256": "1d79ae8b3dd593ddcb50949295644a06cbf515780f029ccaa024f5b40fea7bc3",
          "actual_sha256": null,
          "sha256_match": false,
          "shipped_in_image": false
        },
        "server": {
          "path": "versions/v2.0-gemini-studio/studio_server.py",
          "present": false,
          "expected_sha256": "d166f11a80d56ed1481bf95cb9316ad5107e87f2feecf091da6150283096f5bf",
          "actual_sha256": null,
          "sha256_match": false,
          "shipped_in_image": false
        }
      }
    },
    {
      "version_id": "v2.1-decision-studio-engine",
      "status": "pending",
      "note": "Reserved for the v2.1 design-desk export. No cockpit is published for this slot; the version page remains unavailable until an explicitly reviewed release.",
      "pending": true,
      "execution_mode": "pending",
      "engine_check_scope": "not-run-for-this-version",
      "served_at": null,
      "artifacts_verified": null,
      "artifacts": {}
    }
  ],
  "live_engine": {
    "engine_module": "mizoki_runtime/demo_studio.py",
    "engine_version": "v2.0.1-decision-studio",
    "passed": true,
    "checks": {
      "spec_fields_count_18": true,
      "jobs_evaluated": 5,
      "decision_objects_complete": true,
      "passport_hash_verified": true,
      "del_floor_80_enforced": true,
      "redteam_7_fail_closed": true
    },
    "contract_parity": "spec-field parity with mizoki_contracts is checked repo-side by demo-studio/version_monitor.py; the image carries no contracts package",
    "errors": []
  }
}