{
  "server": "contextra",
  "hashes": {
    "ct.py": "c0354ceb10e2f187e23fe886b0337012bc8ff0333e892ed6b16348f02036df04",
    "compose_backend.py": "ecbc75fe7dd9ccae1026a395e57c68c8974683eab8151ab4143bec224803fc49",
    "field_ui.py": "bd4be7c4d20eb70e0ceaeaaa8de5224030e81e8cc533b6f28c7169fb251dbc9b",
    "tool_permissions.py": "86b7e2b63352968d9e7f9fac7296c4fd3b7c18601500c97c96b9c132a0455d3c",
    "data_safety.py": "ee6f21df202d795878530694a10103c528225a3a8629e5f202d274ec194c0d94",
    "data_worker.py": "2197b558b2d4c3df0b59d0c23b294eff200bfc55f7330005e4e5710ec94e8188",
    "data_worker_sql.py": "a16c0941619f00532306af4bd93d7f26c8b1cb91f0d863bf6e1ddf1a6f32236d",
    "data_worker_redis.py": "796f9c65fe0c1b9b247539981c59c43c09b9731bb9633e5f9d1fe3e97a5d3808",
    "data_console.py": "522a9a0f1a876bc980b4cdf3486b7306c6272c7579c1a9a0a36e1ce638e07f9f",
    "data_host.py": "9b0eff50c335eff79f2f7eddbc9983b0d2a0a1e975fecca674fddf04ef08cd5f",
    "field_data.py": "af6d6f1c2e9bea518f1be75f888e4ed5096d848e56d756303906360762f04886",
    "field_storage.py": "f4af1909e99a1b25fb5b6ea2c14c97a059ab13b3a386a13888eae1c62c8a24d4",
    "storage_policy.py": "7d20ae23c7abcfa677d9130354cc6de4d74790fea5cea0d12874ceebb4c325fe"
  },
  "active_transaction": "storage-20261007T112447",
  "staged_image": "sha256:ac0b993ff998555ebc0f968c189f7d11af682abd38b8b4005128d86cb17241b9",
  "services": [
    {
      "service": "analytics",
      "status": "running",
      "image": "sha256:e032ec9e6ad39e2480d683f3572283fd21bfc7b1fcb1fbc98bdeadfb29ebbd7c"
    },
    {
      "service": "ai-gateway",
      "status": "running",
      "image": "sha256:ac8efec875ce36b619cb41f91d9db579487b9d45ed29393dc957a745b1e0024f"
    },
    {
      "service": "ai-control-sidecar",
      "status": "running",
      "image": "sha256:07107cb35729488454ddde1de732676f0ed8ed38a3a9811f5d5aa6b299a2fb52"
    },
    {
      "service": "postgresql",
      "status": "running",
      "image": "sha256:75f5a96988cdf694a215073c3e9c001b706b371e2f94df3967f2efdec2787f6b"
    },
    {
      "service": "redis",
      "status": "running",
      "image": "sha256:5509c0097c6064aa8a3b1df58f1d950e67090fffa6678ae8f3f1dc2385f12deb"
    }
  ],
  "root_free": 19047616512,
  "storage": {
    "version": 1,
    "artifact": {
      "max_bytes": 107374182400,
      "target_bytes": 96636764160,
      "min_free_bytes": 53687091200,
      "auto_cleanup": false
    },
    "training": {
      "max_bytes": 200000000000,
      "target_bytes": 180000000000,
      "min_free_bytes": 100000000000,
      "auto_cleanup": true
    }
  },
  "editable_tools": "/workspace/contextra-runtime-config/ct/setup/source-work/ct-storage-final-20261007",
  "receipts": [
    {
      "path": "/var/lib/contextra-maintenance/contextra/storage-updates/20261007T112447/receipt.json",
      "receipt": {
        "server": "contextra-local",
        "changed": [
          "ct.py",
          "compose_backend.py",
          "tool_permissions.py",
          "data_safety.py",
          "data_worker.py",
          "data_worker_sql.py",
          "data_worker_redis.py",
          "data_console.py",
          "data_host.py",
          "field_data.py",
          "field_storage.py",
          "storage_policy.py"
        ],
        "tools": "/usr/local/lib/contextra-maintenance/portable-20261001T182138",
        "active_before": {
          "transaction": "field-20261005T132627-1791174387504468391",
          "compose": "/workspace/contextra-runtime-config/ct/runtime/state/transactions/field-20261005T132627-1791174387504468391/compose.json",
          "physical": "/workspace/contextra-runtime-config/ct/runtime/state/transactions/field-20261005T132627-1791174387504468391/compose.physical.json",
          "compose_semantic_sha256": "0d7521af55c4b2f0400968447caa51fe207a0aa88a6ce8a8adb9f7ccda7e12b5",
          "profile": "office",
          "enrolled": true
        },
        "active_after": {
          "transaction": "storage-20261007T112447",
          "compose": "/workspace/contextra-runtime-config/ct/runtime/state/transactions/storage-20261007T112447/compose.json",
          "physical": "/workspace/contextra-runtime-config/ct/runtime/state/transactions/storage-20261007T112447/compose.physical.json",
          "compose_semantic_sha256": "d7fb366ee014eeefa69adf18359ffabfe9c7de499c0c37aecb1c5cf1bf419294",
          "profile": "office",
          "enrolled": true
        },
        "source_manifest": "78df5ae512402bfcba29b0b6be2081a791390bfa9c9917a990cef7209f8bb315",
        "image": "sha256:ac0b993ff998555ebc0f968c189f7d11af682abd38b8b4005128d86cb17241b9",
        "tag": "contextra-analytics:storage-contextra-local-20261007T112447",
        "previous_image": "sha256:e032ec9e6ad39e2480d683f3572283fd21bfc7b1fcb1fbc98bdeadfb29ebbd7c",
        "service_states_unchanged": true,
        "running_image_not_replaced": true,
        "runtime_activation": "NEXT_EXPLICIT_CT_START",
        "editable_source": "/workspace/contextra-runtime-config/ct/setup/source-work/20261007T112447",
        "storage_source": "/workspace/contextra-runtime-config/ct/setup/storage.json",
        "actual_data_deleted": false
      }
    },
    {
      "path": "/var/lib/contextra-maintenance/contextra/storage-updates/launcher-supplement-r01/receipt.json",
      "receipt": {
        "tool_sha256": "86b7e2b63352968d9e7f9fac7296c4fd3b7c18601500c97c96b9c132a0455d3c",
        "launcher_sha256": "da2b4591c4752713b3f283791ed0b17329b887f902549704ecea18e37ab0d85d",
        "services_changed": false
      }
    },
    {
      "path": "/var/lib/contextra-maintenance/contextra/storage-updates/selection-summary-r01/receipt.json",
      "receipt": {
        "sha256": "af6d6f1c2e9bea518f1be75f888e4ed5096d848e56d756303906360762f04886"
      }
    },
    {
      "path": "/var/lib/contextra-maintenance/contextra/storage-updates/selector-r01/receipt.json",
      "receipt": {
        "sha256": "98804845c0f039264031c48c3fcc748d3c3b7b21b191fe03f66a2adfcba13cb5"
      }
    },
    {
      "path": "/var/lib/contextra-maintenance/contextra/storage-updates/worker-lifecycle-r01/receipt.json",
      "receipt": {
        "data_worker.py": "2197b558b2d4c3df0b59d0c23b294eff200bfc55f7330005e4e5710ec94e8188",
        "field_ui.py": "bd4be7c4d20eb70e0ceaeaaa8de5224030e81e8cc533b6f28c7169fb251dbc9b"
      }
    }
  ],
  "actual_data_deleted": false
}
