{
  "assets": {
    "images/ai-control-sidecar.tar": {
      "sha256": "909a6a36b1ffd8f10aef325c6c0a4273cedf250a12ca1e03f9f52f1570995b35",
      "source": "/data/codex-artifacts/contextra/field-maintenance/2026/2026-11-03_contextra-offline-export_r01/Contextra_Offline_Preparation_20261103_r02/images/ai-control-sidecar.tar"
    },
    "images/ai-gateway.tar": {
      "sha256": "2caf4a31d1ef9d1ee5a9ace72b70570d9149fbdd30bf86dbf3356e1329ca8df0",
      "source": "/data/codex-artifacts/contextra/field-maintenance/2026/2026-11-03_contextra-offline-export_r01/Contextra_Offline_Preparation_20261103_r02/images/ai-gateway.tar"
    },
    "images/analytics-candidate.tar": {
      "sha256": "3e5c83fca6f5e94ad16325e882ee1adcee94478c23f4051df267410c39b0c2ca",
      "source": "/data/codex-artifacts/contextra/field-maintenance/2026/2026-11-03_contextra-offline-export_r01/Contextra_Offline_Preparation_20261103_r02/images/analytics-candidate.tar"
    },
    "images/analytics-previous.tar": {
      "sha256": "04843d1a9d288c6ef6e7db540b402b7263610b64adcd5dbb2c8179e9ddc9b727",
      "source": "/data/codex-artifacts/contextra/field-maintenance/2026/2026-11-03_contextra-offline-export_r01/Contextra_Offline_Preparation_20261103_r02/images/analytics-previous.tar"
    },
    "images/postgresql.tar": {
      "sha256": "832088f7d25a30170017c7dfc329b63b14e6bdbbe7eea9fd890df952b1d43e17",
      "source": "/data/codex-artifacts/contextra/field-maintenance/2026/2026-11-03_contextra-offline-export_r01/Contextra_Offline_Preparation_20261103_r02/images/postgresql.tar"
    },
    "images/redis.tar": {
      "sha256": "574350d8396aaeeef318a74c80768c1ed3962cadeabd46c9bf8c3b3a1921b472",
      "source": "/data/codex-artifacts/contextra/field-maintenance/2026/2026-11-03_contextra-offline-export_r01/Contextra_Offline_Preparation_20261103_r02/images/redis.tar"
    }
  },
  "source_paths": [
    "control_sidecar/__init__.py",
    "control_sidecar/config.py",
    "control_sidecar/protocol.py",
    "ct-offline",
    "deployment_kit/ModelTooling.Dockerfile",
    "deployment_kit/__init__.py",
    "deployment_kit/bundle.py",
    "deployment_kit/cli.py",
    "deployment_kit/compose_snapshot.py",
    "deployment_kit/core.py",
    "deployment_kit/diagnostics.py",
    "deployment_kit/engine_contract.cpp",
    "deployment_kit/host.py",
    "deployment_kit/image_identity.py",
    "deployment_kit/maintenance_bundle.py",
    "deployment_kit/model_probe.py",
    "deployment_kit/model_repair.py",
    "deployment_kit/models.py",
    "deployment_kit/offline/__init__.py",
    "deployment_kit/offline/cli.py",
    "deployment_kit/offline/host.py",
    "deployment_kit/offline/image_export.py",
    "deployment_kit/offline/package.py",
    "deployment_kit/offline/record.py",
    "deployment_kit/offline/settings.py",
    "deployment_kit/offline/transport.py",
    "deployment_kit/offline/workflow.py",
    "deployment_kit/release.py",
    "deployment_kit/site.py",
    "deployment_kit/site_guard.py",
    "deployment_kit/storage.py",
    "docs/deployment/ARCHITECTURE.ko.md",
    "docs/deployment/AWIROS_PERSON_HEAD_CANDIDATE.ko.md",
    "docs/deployment/CT_DATA_MAINTENANCE.ko.md",
    "docs/deployment/CT_FIELD_GAMEBOOK_GPT.ko.md",
    "docs/deployment/CT_PORTABLE.ko.md",
    "docs/deployment/CT_REUSE_HANDOFF.ko.md",
    "docs/deployment/CT_TRACE.ko.md",
    "docs/deployment/ERROR_CATALOG.ko.md",
    "docs/deployment/FIRST_SITE.ko.md",
    "docs/deployment/HOST_BOOTSTRAP.ko.md",
    "docs/deployment/ICERTI_INCREMENTAL.ko.md",
    "docs/deployment/ICERTI_LOGIN.ko.md",
    "docs/deployment/ICERTI_OFFLINE_MAINTENANCE.ko.md",
    "docs/deployment/ICERTI_PROVIDER_OPERATIONS.ko.md",
    "docs/deployment/LOCAL_PREPARATION.ko.md",
    "docs/deployment/MODEL_CONFIG_REPAIR.ko.md",
    "docs/deployment/MODEL_TOOLING.ko.md",
    "docs/deployment/OFFLINE_OPERATOR.ko.md",
    "docs/deployment/OFFLINE_UPDATE.ko.md",
    "docs/deployment/QUICK_START.ko.md",
    "docs/deployment/README.ko.md",
    "docs/deployment/RELEASE_FORMAT.ko.md",
    "docs/deployment/ROLLBACK.ko.md",
    "docs/deployment/SCENARIO_DEMO_COMPATIBILITY.ko.md",
    "docs/deployment/SITE_BOOTSTRAP.ko.md",
    "docs/deployment/STORAGE.ko.md",
    "docs/deployment/TROUBLESHOOTING.ko.md",
    "tools/icerti_offline/maintenance/NETWORK_TRANSITION.ko.md",
    "tools/icerti_offline/maintenance/OFFLINE_OPERATIONS.ko.md",
    "tools/icerti_offline/maintenance/apply_source.py",
    "tools/icerti_offline/maintenance/auth_control.py",
    "tools/icerti_offline/maintenance/compose_backend.py",
    "tools/icerti_offline/maintenance/connection.py",
    "tools/icerti_offline/maintenance/connection_versions.py",
    "tools/icerti_offline/maintenance/ct",
    "tools/icerti_offline/maintenance/ct.py",
    "tools/icerti_offline/maintenance/data_console.py",
    "tools/icerti_offline/maintenance/data_host.py",
    "tools/icerti_offline/maintenance/data_safety.py",
    "tools/icerti_offline/maintenance/data_worker.py",
    "tools/icerti_offline/maintenance/data_worker_redis.py",
    "tools/icerti_offline/maintenance/data_worker_sql.py",
    "tools/icerti_offline/maintenance/field_ca.py",
    "tools/icerti_offline/maintenance/field_cli.py",
    "tools/icerti_offline/maintenance/field_data.py",
    "tools/icerti_offline/maintenance/field_diagnostics.py",
    "tools/icerti_offline/maintenance/field_network.py",
    "tools/icerti_offline/maintenance/field_profiles.py",
    "tools/icerti_offline/maintenance/field_resources.py",
    "tools/icerti_offline/maintenance/field_roi.py",
    "tools/icerti_offline/maintenance/field_runtime.py",
    "tools/icerti_offline/maintenance/field_storage.py",
    "tools/icerti_offline/maintenance/field_trace.py",
    "tools/icerti_offline/maintenance/field_ui.py",
    "tools/icerti_offline/maintenance/field_usb.py",
    "tools/icerti_offline/maintenance/gpu_metrics.py",
    "tools/icerti_offline/maintenance/maintenance_guard.py",
    "tools/icerti_offline/maintenance/maintenance_process.py",
    "tools/icerti_offline/maintenance/network_apply.py",
    "tools/icerti_offline/maintenance/network_prepare.py",
    "tools/icerti_offline/maintenance/network_schedule.py",
    "tools/icerti_offline/maintenance/observability.py",
    "tools/icerti_offline/maintenance/portable_firewall.py",
    "tools/icerti_offline/maintenance/portable_patch.py",
    "tools/icerti_offline/maintenance/server_context.py",
    "tools/icerti_offline/maintenance/source_prepare.py",
    "tools/icerti_offline/maintenance/tool_permissions.py",
    "tools/icerti_offline/maintenance/trace_filters.py",
    "tools/icerti_offline/maintenance/vscode_safety.py",
    "tools/icerti_offline/maintenance/work_record.py",
    "tools/icerti_offline/maintenance/workspace_access.py",
    "tools/secure_bridge_tls.py"
  ],
  "spec": {
    "after_images": {
      "ai-control-sidecar": "sha256:ade930b05a07423d30a19ab2ed754dbb6e7eea6e209fefc6d24a43d8ff74724a",
      "ai-gateway": "sha256:ac8efec875ce36b619cb41f91d9db579487b9d45ed29393dc957a745b1e0024f",
      "analytics": "sha256:1b822c6a5337e3a8d0fe1ae7594d7770b2f2247e56cd7f4a0e87ed1bc09e5ed3",
      "postgresql": "sha256:75f5a96988cdf694a215073c3e9c001b706b371e2f94df3967f2efdec2787f6b",
      "redis": "sha256:5509c0097c6064aa8a3b1df58f1d950e67090fffa6678ae8f3f1dc2385f12deb"
    },
    "archives": [
      "images/ai-control-sidecar.tar",
      "images/ai-gateway.tar",
      "images/postgresql.tar",
      "images/redis.tar",
      "images/analytics-previous.tar",
      "images/analytics-candidate.tar"
    ],
    "before_images": {
      "ai-control-sidecar": "sha256:ade930b05a07423d30a19ab2ed754dbb6e7eea6e209fefc6d24a43d8ff74724a",
      "ai-gateway": "sha256:ac8efec875ce36b619cb41f91d9db579487b9d45ed29393dc957a745b1e0024f",
      "analytics": "sha256:74c0e6fed1068f619b6937e7decc699c25df62136ad21141d7b84d7ba443517d",
      "postgresql": "sha256:75f5a96988cdf694a215073c3e9c001b706b371e2f94df3967f2efdec2787f6b",
      "redis": "sha256:5509c0097c6064aa8a3b1df58f1d950e67090fffa6678ae8f3f1dc2385f12deb"
    },
    "policy": {
      "fall_engine": "r2",
      "fight_display_seconds": 3,
      "fight_engine": "r5"
    },
    "release_id": "test-demo-20261103-r02",
    "source_commit": "ec0ed1b2b206a5c200ffaa2c2df337c3840e7436",
    "target": {
      "backend": "compose",
      "definition_sha256": "768ca7c7cedc3c589fc9bc2e6674b224f3f92e9971864912b0bb20f732e1d118",
      "server": "contextra-local"
    }
  }
}
