{
  "ok": false,
  "generated_at": "2026-06-11T21:35:56+00:00",
  "summary": {
    "transfer_ready": false,
    "production_complete": false,
    "local_production_complete": false,
    "remote_evidence_complete": false,
    "completion_evidence": {
      "complete": false,
      "completion_source": "incomplete",
      "local_complete": false,
      "remote_evidence_complete": false,
      "required_reports": 71,
      "present_required_reports": 65,
      "missing_required_report_count": 6,
      "failed_check_ids": [
        "remote_required_reports_present",
        "remote_release_upload_bundle_verified",
        "remote_telegram_notify_sent",
        "remote_telegram_notify_fresh",
        "remote_deployed_manifest_verified"
      ],
      "remote_recurring_daily_operation_ok": true,
      "remote_ops_success_days": 5,
      "remote_ops_consecutive_success_days": 5,
      "remote_ops_success_days_required": 2,
      "remote_ops_latest_age_hours": 10.01,
      "remote_ops_latest_age_hours_max": 30.0,
      "remote_telegram_notify_sent": false,
      "remote_telegram_notify_fresh": false,
      "remote_telegram_notify_message_length": 0,
      "public_endpoints": 35,
      "remote_deployed_manifest_ok": false,
      "remote_mutable_report_count": 51,
      "remote_mutable_reports_present": 51,
      "remote_evidence_manifest_ok": true,
      "remote_evidence_archive_ok": true,
      "remote_release_upload_bundle_verified": false,
      "remote_source_freshness_ok": true,
      "remote_source_coverage_ok": true,
      "remote_market_source_coverage_ok": true
    },
    "failed_gate_ids": [
      "requirements_complete",
      "readiness_clear",
      "deploy_mode_selected",
      "deployment_clear",
      "env_clear",
      "source_candidates_resolved",
      "telegram_test_sent",
      "health_clear"
    ],
    "configured_deploy_mode": "docker",
    "selected_deploy_mode": "docker",
    "public_dashboard_url": "",
    "latest_package_ok": false,
    "checksum_ok": false,
    "latest_backup_ok": true,
    "dashboard_content_ok": true,
    "local_dashboard_smoke_ok": true,
    "strategy_reuse_audit_ok": true,
    "release_upload_bundle_ok": true,
    "release_upload_bundle_sha_matches": true,
    "release_upload_bundle_ready": true,
    "release_upload_bundle_dir": "deploy_uploads/market-intel-engine-20260611T064355Z-upload",
    "go_live_ready_to_go_live": false,
    "package_path": "",
    "package_sha256": "b32e3e95beb3b1510238b1838b6c56b924b7f4e2d7acc79a7a810bbedc33bfa3",
    "package_sha256_source": "release_upload_bundle_check",
    "checksum_path": "",
    "backup_path": "/app/backups/20260611T213456Z",
    "target_app_dir": "/app"
  },
  "checks": [
    {
      "check": "release_package_verified",
      "ok": false,
      "severity": "error",
      "detail": "package=-",
      "verification": null
    },
    {
      "check": "release_checksum_verified",
      "ok": false,
      "severity": "error",
      "detail": "checksum=-",
      "verification": null
    },
    {
      "check": "release_backup_verified",
      "ok": true,
      "severity": "error",
      "detail": "backup=/app/backups/20260611T213456Z",
      "verification": {
        "ok": true,
        "manifest_path": "/app/backups/20260611T213456Z/manifest.json",
        "manifest": {
          "created_at": "2026-06-11T21:35:01+00:00",
          "backup_path": "/app/backups/20260611T213456Z",
          "manifest_path": "/app/backups/20260611T213456Z/manifest.json",
          "db_backup": "/app/backups/20260611T213456Z/market_intel.db",
          "db_size": 279224320,
          "db_sha256": "b61fe7b5ddc49220e2fdad3e5e7a53918cd5b7331ddd3cff997baee4a82a7f3e",
          "db_integrity": {
            "ok": true,
            "result": "ok",
            "messages": [
              "ok"
            ],
            "path": "/app/backups/20260611T213456Z/market_intel.db"
          },
          "config_zip": "/app/backups/20260611T213456Z/config.zip",
          "config_zip_size": 25374,
          "report_zip": "/app/backups/20260611T213456Z/reports.zip",
          "report_zip_size": 1265158
        },
        "db_exists": true,
        "db_size": 279224320,
        "db_size_ok": true,
        "db_sha256_expected": "b61fe7b5ddc49220e2fdad3e5e7a53918cd5b7331ddd3cff997baee4a82a7f3e",
        "db_sha256_actual": "b61fe7b5ddc49220e2fdad3e5e7a53918cd5b7331ddd3cff997baee4a82a7f3e",
        "db_sha256_ok": true,
        "db_integrity": {
          "ok": true,
          "result": "ok",
          "messages": [
            "ok"
          ],
          "path": "/app/backups/20260611T213456Z/market_intel.db"
        },
        "config_zip": {
          "ok": true,
          "path": "/app/backups/20260611T213456Z/config.zip",
          "member_count": 6,
          "bad_member": null
        },
        "report_zip": {
          "ok": true,
          "path": "/app/backups/20260611T213456Z/reports.zip",
          "member_count": 86,
          "bad_member": null
        }
      }
    },
    {
      "check": "release_dashboard_content_ok",
      "ok": true,
      "severity": "error",
      "detail": "dashboard content summary={'errors': 0, 'warnings': 0, 'theme_signals': 19, 'company_rankings': 30, 'latest_analyses': 40, 'related_company_themes': 18, 'strategy_decision_digest_items': 15, 'daily_lock_audit_ok': True, 'daily_lock_audit_warnings': 0, 'daily_lock_ops_success_days': 6, 'daily_lock_ops_consecutive_success_days': 6, 'source_coverage_targets': 59, 'market_source_coverage_targets': 70, 'source_freshness_active_sources': 148, 'source_candidate_only_sources': 0, 'source_candidate_count_rows': 4, 'source_followup_sources': 4, 'source_followup_rows': 4, 'source_strategy_score_rows': 100, 'score_explainability_themes': 19, 'score_explainability_companies': 30, 'score_explainability_sources': 30, 'strategy_quality_audit_ok': True, 'strategy_quality_action_score_missing_rows': 0, 'strategy_quality_decision_score_missing_rows': 0, 'strategy_quality_short': 19, 'strategy_quality_mid': 19, 'strategy_quality_long': 19}",
      "summary": {
        "errors": 0,
        "warnings": 0,
        "theme_signals": 19,
        "company_rankings": 30,
        "latest_analyses": 40,
        "related_company_themes": 18,
        "strategy_decision_digest_items": 15,
        "daily_lock_audit_ok": true,
        "daily_lock_audit_warnings": 0,
        "daily_lock_ops_success_days": 6,
        "daily_lock_ops_consecutive_success_days": 6,
        "source_coverage_targets": 59,
        "market_source_coverage_targets": 70,
        "source_freshness_active_sources": 148,
        "source_candidate_only_sources": 0,
        "source_candidate_count_rows": 4,
        "source_followup_sources": 4,
        "source_followup_rows": 4,
        "source_strategy_score_rows": 100,
        "score_explainability_themes": 19,
        "score_explainability_companies": 30,
        "score_explainability_sources": 30,
        "strategy_quality_audit_ok": true,
        "strategy_quality_action_score_missing_rows": 0,
        "strategy_quality_decision_score_missing_rows": 0,
        "strategy_quality_short": 19,
        "strategy_quality_mid": 19,
        "strategy_quality_long": 19
      }
    },
    {
      "check": "release_local_dashboard_smoke_ok",
      "ok": true,
      "severity": "error",
      "detail": "local public summary={'errors': 0, 'warnings': 0, 'configured_url': 'http://127.0.0.1:53258/dashboard.html', 'base_url': 'http://127.0.0.1:53258/', 'endpoint_count': 36}",
      "summary": {
        "errors": 0,
        "warnings": 0,
        "configured_url": "http://127.0.0.1:53258/dashboard.html",
        "base_url": "http://127.0.0.1:53258/",
        "endpoint_count": 36
      }
    },
    {
      "check": "release_strategy_reuse_audit_ok",
      "ok": true,
      "severity": "error",
      "detail": "strategy reuse summary={'errors': 0, 'warnings': 0, 'analyses': 8370, 'strategy_lenses': 19, 'plain_explainer_analyses': 8370, 'lens_reuse_analyses': 8365, 'source_strategy_reuse_analyses': 8370, 'strategy_export_themes': 19, 'strategy_export_companies': 63, 'strategy_export_matrix': 312, 'strategy_action_queue_buy': 9, 'strategy_action_queue_sell': 0, 'strategy_action_queue_watch': 19, 'strategy_action_queue_risk': 19, 'strategy_action_queue_short': 19, 'strategy_action_queue_mid': 19, 'strategy_action_queue_long': 19, 'strategy_action_queue_score_complete_rows': 104, 'strategy_action_queue_score_missing_rows': 0, 'strategy_decision_digest_buy': 5, 'strategy_decision_digest_crowded': 5, 'strategy_decision_digest_risk': 5, 'strategy_decision_digest_score_rows': 15, 'strategy_decision_digest_score_missing_rows': 0, 'source_strategy_scores': 579, 'source_strategy_scores_latest': 148, 'source_strategy_momentum_rows': 148, 'score_explainability_report_valid': True}",
      "summary": {
        "errors": 0,
        "warnings": 0,
        "analyses": 8370,
        "strategy_lenses": 19,
        "plain_explainer_analyses": 8370,
        "lens_reuse_analyses": 8365,
        "source_strategy_reuse_analyses": 8370,
        "strategy_export_themes": 19,
        "strategy_export_companies": 63,
        "strategy_export_matrix": 312,
        "strategy_action_queue_buy": 9,
        "strategy_action_queue_sell": 0,
        "strategy_action_queue_watch": 19,
        "strategy_action_queue_risk": 19,
        "strategy_action_queue_short": 19,
        "strategy_action_queue_mid": 19,
        "strategy_action_queue_long": 19,
        "strategy_action_queue_score_complete_rows": 104,
        "strategy_action_queue_score_missing_rows": 0,
        "strategy_decision_digest_buy": 5,
        "strategy_decision_digest_crowded": 5,
        "strategy_decision_digest_risk": 5,
        "strategy_decision_digest_score_rows": 15,
        "strategy_decision_digest_score_missing_rows": 0,
        "source_strategy_scores": 579,
        "source_strategy_scores_latest": 148,
        "source_strategy_momentum_rows": 148,
        "score_explainability_report_valid": true
      }
    },
    {
      "check": "release_upload_bundle_verified",
      "ok": true,
      "severity": "warning",
      "detail": "bundle=deploy_uploads/market-intel-engine-20260611T064355Z-upload bundle_sha=b32e3e95beb3b1510238b1838b6c56b924b7f4e2d7acc79a7a810bbedc33bfa3 release_sha=b32e3e95beb3b1510238b1838b6c56b924b7f4e2d7acc79a7a810bbedc33bfa3",
      "summary": {
        "checks": 42,
        "passed": 42,
        "failed": 0,
        "package_file": "market-intel-engine-20260611T064355Z.zip",
        "package_sha256": "b32e3e95beb3b1510238b1838b6c56b924b7f4e2d7acc79a7a810bbedc33bfa3",
        "bundle_dir": "deploy_uploads/market-intel-engine-20260611T064355Z-upload",
        "upload_files": [
          "market-intel-engine-20260611T064355Z.zip",
          "market-intel-engine-20260611T064355Z.zip.sha256"
        ]
      }
    }
  ],
  "completion_evidence": {
    "complete": false,
    "completion_source": "incomplete",
    "local_complete": false,
    "remote_evidence_complete": false,
    "required_reports": 71,
    "present_required_reports": 65,
    "missing_required_report_count": 6,
    "failed_check_ids": [
      "remote_required_reports_present",
      "remote_release_upload_bundle_verified",
      "remote_telegram_notify_sent",
      "remote_telegram_notify_fresh",
      "remote_deployed_manifest_verified"
    ],
    "remote_recurring_daily_operation_ok": true,
    "remote_ops_success_days": 5,
    "remote_ops_consecutive_success_days": 5,
    "remote_ops_success_days_required": 2,
    "remote_ops_latest_age_hours": 10.01,
    "remote_ops_latest_age_hours_max": 30.0,
    "remote_telegram_notify_sent": false,
    "remote_telegram_notify_fresh": false,
    "remote_telegram_notify_message_length": 0,
    "public_endpoints": 35,
    "remote_deployed_manifest_ok": false,
    "remote_mutable_report_count": 51,
    "remote_mutable_reports_present": 51,
    "remote_evidence_manifest_ok": true,
    "remote_evidence_archive_ok": true,
    "remote_release_upload_bundle_verified": false,
    "remote_source_freshness_ok": true,
    "remote_source_coverage_ok": true,
    "remote_market_source_coverage_ok": true
  },
  "latest_package": null,
  "latest_package_verification": null,
  "latest_backup": {
    "created_at": "2026-06-11T21:35:01+00:00",
    "backup_path": "/app/backups/20260611T213456Z",
    "manifest_path": "/app/backups/20260611T213456Z/manifest.json",
    "db_backup": "/app/backups/20260611T213456Z/market_intel.db",
    "db_size": 279224320,
    "db_sha256": "b61fe7b5ddc49220e2fdad3e5e7a53918cd5b7331ddd3cff997baee4a82a7f3e",
    "db_integrity": {
      "ok": true,
      "result": "ok",
      "messages": [
        "ok"
      ],
      "path": "/app/backups/20260611T213456Z/market_intel.db"
    },
    "config_zip": "/app/backups/20260611T213456Z/config.zip",
    "config_zip_size": 25374,
    "report_zip": "/app/backups/20260611T213456Z/reports.zip",
    "report_zip_size": 1265158
  },
  "latest_backup_verification": {
    "ok": true,
    "manifest_path": "/app/backups/20260611T213456Z/manifest.json",
    "manifest": {
      "created_at": "2026-06-11T21:35:01+00:00",
      "backup_path": "/app/backups/20260611T213456Z",
      "manifest_path": "/app/backups/20260611T213456Z/manifest.json",
      "db_backup": "/app/backups/20260611T213456Z/market_intel.db",
      "db_size": 279224320,
      "db_sha256": "b61fe7b5ddc49220e2fdad3e5e7a53918cd5b7331ddd3cff997baee4a82a7f3e",
      "db_integrity": {
        "ok": true,
        "result": "ok",
        "messages": [
          "ok"
        ],
        "path": "/app/backups/20260611T213456Z/market_intel.db"
      },
      "config_zip": "/app/backups/20260611T213456Z/config.zip",
      "config_zip_size": 25374,
      "report_zip": "/app/backups/20260611T213456Z/reports.zip",
      "report_zip_size": 1265158
    },
    "db_exists": true,
    "db_size": 279224320,
    "db_size_ok": true,
    "db_sha256_expected": "b61fe7b5ddc49220e2fdad3e5e7a53918cd5b7331ddd3cff997baee4a82a7f3e",
    "db_sha256_actual": "b61fe7b5ddc49220e2fdad3e5e7a53918cd5b7331ddd3cff997baee4a82a7f3e",
    "db_sha256_ok": true,
    "db_integrity": {
      "ok": true,
      "result": "ok",
      "messages": [
        "ok"
      ],
      "path": "/app/backups/20260611T213456Z/market_intel.db"
    },
    "config_zip": {
      "ok": true,
      "path": "/app/backups/20260611T213456Z/config.zip",
      "member_count": 6,
      "bad_member": null
    },
    "report_zip": {
      "ok": true,
      "path": "/app/backups/20260611T213456Z/reports.zip",
      "member_count": 86,
      "bad_member": null
    }
  },
  "audit_summaries": {
    "go_live": {
      "production_complete": false,
      "local_production_complete": false,
      "remote_evidence_complete": false,
      "completion_evidence": {
        "complete": false,
        "completion_source": "incomplete",
        "local_complete": false,
        "remote_evidence_complete": false,
        "required_reports": 71,
        "present_required_reports": 65,
        "missing_required_report_count": 6,
        "failed_check_ids": [
          "remote_required_reports_present",
          "remote_release_upload_bundle_verified",
          "remote_telegram_notify_sent",
          "remote_telegram_notify_fresh",
          "remote_deployed_manifest_verified"
        ],
        "remote_recurring_daily_operation_ok": true,
        "remote_ops_success_days": 5,
        "remote_ops_consecutive_success_days": 5,
        "remote_ops_success_days_required": 2,
        "remote_ops_latest_age_hours": 10.01,
        "remote_ops_latest_age_hours_max": 30.0,
        "remote_telegram_notify_sent": false,
        "remote_telegram_notify_fresh": false,
        "remote_telegram_notify_message_length": 0,
        "public_endpoints": 35,
        "remote_deployed_manifest_ok": false,
        "remote_mutable_report_count": 51,
        "remote_mutable_reports_present": 51,
        "remote_evidence_manifest_ok": true,
        "remote_evidence_archive_ok": true,
        "remote_release_upload_bundle_verified": false,
        "remote_source_freshness_ok": true,
        "remote_source_coverage_ok": true,
        "remote_market_source_coverage_ok": true
      },
      "failed_gates": 8,
      "open_steps": 8,
      "ready_to_go_live": false,
      "latest_package_ok": false,
      "latest_backup_ok": true,
      "configured_deploy_mode": "docker",
      "configured_public_dashboard_url": "https://35-221-72-238.sslip.io/dashboard.html"
    },
    "production_audit": {
      "complete": false,
      "local_complete": false,
      "remote_evidence_complete": false,
      "completion_evidence": {
        "complete": false,
        "completion_source": "incomplete",
        "local_complete": false,
        "remote_evidence_complete": false,
        "required_reports": 71,
        "present_required_reports": 65,
        "missing_required_report_count": 6,
        "failed_check_ids": [
          "remote_required_reports_present",
          "remote_release_upload_bundle_verified",
          "remote_telegram_notify_sent",
          "remote_telegram_notify_fresh",
          "remote_deployed_manifest_verified"
        ],
        "remote_recurring_daily_operation_ok": true,
        "remote_ops_success_days": 5,
        "remote_ops_consecutive_success_days": 5,
        "remote_ops_success_days_required": 2,
        "remote_ops_latest_age_hours": 10.01,
        "remote_ops_latest_age_hours_max": 30.0,
        "remote_telegram_notify_sent": false,
        "remote_telegram_notify_fresh": false,
        "remote_telegram_notify_message_length": 0,
        "public_endpoints": 35,
        "remote_deployed_manifest_ok": false,
        "remote_mutable_report_count": 51,
        "remote_mutable_reports_present": 51,
        "remote_evidence_manifest_ok": true,
        "remote_evidence_archive_ok": true,
        "remote_release_upload_bundle_verified": false,
        "remote_source_freshness_ok": true,
        "remote_source_coverage_ok": true,
        "remote_market_source_coverage_ok": true
      },
      "gates": 15,
      "passed": 7,
      "failed": 8,
      "local_failed": 8,
      "failed_gate_ids": [
        "requirements_complete",
        "readiness_clear",
        "deploy_mode_selected",
        "deployment_clear",
        "env_clear",
        "source_candidates_resolved",
        "telegram_test_sent",
        "health_clear"
      ],
      "local_failed_gate_ids": [
        "requirements_complete",
        "readiness_clear",
        "deploy_mode_selected",
        "deployment_clear",
        "env_clear",
        "source_candidates_resolved",
        "telegram_test_sent",
        "health_clear"
      ]
    },
    "readiness": {
      "errors": 0,
      "warnings": 5,
      "sources": 148,
      "documents": 10736,
      "analyses": 8370,
      "pending_fetch": 46
    },
    "deployment_check": {
      "errors": 0,
      "warnings": 36,
      "app_dir": "/app",
      "service_name": "market-intel",
      "deploy_mode": "auto",
      "platform": "linux"
    },
    "dashboard_content_check": {
      "errors": 0,
      "warnings": 0,
      "theme_signals": 19,
      "company_rankings": 30,
      "latest_analyses": 40,
      "related_company_themes": 18,
      "strategy_decision_digest_items": 15,
      "daily_lock_audit_ok": true,
      "daily_lock_audit_warnings": 0,
      "daily_lock_ops_success_days": 6,
      "daily_lock_ops_consecutive_success_days": 6,
      "source_coverage_targets": 59,
      "market_source_coverage_targets": 70,
      "source_freshness_active_sources": 148,
      "source_candidate_only_sources": 0,
      "source_candidate_count_rows": 4,
      "source_followup_sources": 4,
      "source_followup_rows": 4,
      "source_strategy_score_rows": 100,
      "score_explainability_themes": 19,
      "score_explainability_companies": 30,
      "score_explainability_sources": 30,
      "strategy_quality_audit_ok": true,
      "strategy_quality_action_score_missing_rows": 0,
      "strategy_quality_decision_score_missing_rows": 0,
      "strategy_quality_short": 19,
      "strategy_quality_mid": 19,
      "strategy_quality_long": 19
    },
    "public_dashboard_local_check": {
      "errors": 0,
      "warnings": 0,
      "configured_url": "http://127.0.0.1:53258/dashboard.html",
      "base_url": "http://127.0.0.1:53258/",
      "endpoint_count": 36
    },
    "strategy_reuse_audit": {
      "errors": 0,
      "warnings": 0,
      "analyses": 8370,
      "strategy_lenses": 19,
      "plain_explainer_analyses": 8370,
      "lens_reuse_analyses": 8365,
      "source_strategy_reuse_analyses": 8370,
      "strategy_export_themes": 19,
      "strategy_export_companies": 63,
      "strategy_export_matrix": 312,
      "strategy_action_queue_buy": 9,
      "strategy_action_queue_sell": 0,
      "strategy_action_queue_watch": 19,
      "strategy_action_queue_risk": 19,
      "strategy_action_queue_short": 19,
      "strategy_action_queue_mid": 19,
      "strategy_action_queue_long": 19,
      "strategy_action_queue_score_complete_rows": 104,
      "strategy_action_queue_score_missing_rows": 0,
      "strategy_decision_digest_buy": 5,
      "strategy_decision_digest_crowded": 5,
      "strategy_decision_digest_risk": 5,
      "strategy_decision_digest_score_rows": 15,
      "strategy_decision_digest_score_missing_rows": 0,
      "source_strategy_scores": 579,
      "source_strategy_scores_latest": 148,
      "source_strategy_momentum_rows": 148,
      "score_explainability_report_valid": true
    },
    "telegram_content_check": {
      "errors": 0,
      "warnings": 0,
      "date": "2026-06-11",
      "message_length": 1926,
      "themes": 5,
      "companies": 15,
      "dashboard_url_configured": true,
      "dashboard_url_ok": true,
      "decision_digest_top_buy_theme": "量子・次世代計算",
      "source_coverage_targets": 59,
      "source_coverage_active": 59,
      "market_source_coverage_targets": 70,
      "market_source_coverage_active": 70,
      "source_followup_sources": 3,
      "source_followup_counts": {
        "fetch_error": 3
      }
    },
    "health": {
      "ok": false,
      "errors": 0,
      "warnings": 1,
      "warning_ids": [
        "audit_reports_need_attention"
      ],
      "audit_warnings": 9,
      "local_warning_ids": [
        "audit_reports_need_attention"
      ],
      "local_audit_warnings": 9,
      "remote_evidence_complete": false,
      "sources": 148,
      "source_errors": 3,
      "stale_sources": 0,
      "pending_fetch": 46,
      "last_run_status": "ok",
      "source_followup_sources": 4,
      "source_followup_counts": {
        "fetch_error": 4
      },
      "source_candidate_only_sources": 0,
      "source_silent_gap_sources": 0
    },
    "remote_evidence_check": {
      "complete": false,
      "checks": 34,
      "passed": 29,
      "failed": 5,
      "failed_check_ids": [
        "remote_required_reports_present",
        "remote_release_upload_bundle_verified",
        "remote_telegram_notify_sent",
        "remote_telegram_notify_fresh",
        "remote_deployed_manifest_verified"
      ],
      "required_reports": 71,
      "present_required_reports": 65,
      "missing_required_report_count": 6,
      "required_report_coverage": 0.9155,
      "next_missing_required_reports": [
        "weekly_market_strategy_report.json",
        "weekly_market_strategy_report.md",
        "weekly_capital_flow_themes.csv",
        "weekly_attention_companies.csv",
        "weekly_market_strategy_telegram.txt",
        "weekly_market_strategy_telegram.json"
      ],
      "missing_required_reports": [
        "weekly_market_strategy_report.json",
        "weekly_market_strategy_report.md",
        "weekly_capital_flow_themes.csv",
        "weekly_attention_companies.csv",
        "weekly_market_strategy_telegram.txt",
        "weekly_market_strategy_telegram.json"
      ],
      "public_endpoints": 35,
      "telegram_send_ok": true,
      "remote_telegram_notify_sent": false,
      "remote_telegram_notify_status": "skipped_missing_credentials",
      "remote_telegram_notify_api_ok": false,
      "remote_telegram_notify_message_length": 0,
      "remote_telegram_notify_fresh": false,
      "remote_telegram_notify_date": "",
      "remote_telegram_content_date": "2026-06-11",
      "remote_telegram_notify_age_hours": 63.845669873333335,
      "production_complete": true,
      "remote_release_upload_bundle_ok": true,
      "remote_release_upload_bundle_verified": false,
      "remote_release_upload_bundle_sha_matches": false,
      "remote_release_upload_bundle_sha256": "a5b3b8435dc628c178e898fcf9342a638cfc2992673dd36d31914fa982270fae",
      "remote_deployed_release_sha256": "b32e3e95beb3b1510238b1838b6c56b924b7f4e2d7acc79a7a810bbedc33bfa3",
      "remote_deploy_release_sha256": "b32e3e95beb3b1510238b1838b6c56b924b7f4e2d7acc79a7a810bbedc33bfa3",
      "remote_deploy_release_report_sha256": "a5b3b8435dc628c178e898fcf9342a638cfc2992673dd36d31914fa982270fae",
      "ops_snapshot_open_items": 0,
      "remote_source_followup_sources": 3,
      "remote_source_followup_counts": {
        "fetch_error": 3
      },
      "remote_source_candidate_only_sources": 0,
      "remote_source_silent_gap_sources": 0,
      "remote_source_freshness_ok": true,
      "remote_source_freshness_errors": 0,
      "remote_source_freshness_warnings": 0,
      "remote_source_target_reference_ok": true,
      "remote_source_target_official_targets": 59,
      "remote_source_target_configured_targets": 59,
      "remote_source_target_missing_in_config": 0,
      "remote_source_target_extra_in_config": 0,
      "remote_source_target_host_drift": 0,
      "remote_source_target_fallback_used": false,
      "remote_source_coverage_ok": true,
      "remote_source_coverage_targets": 59,
      "remote_source_coverage_active": 59,
      "remote_source_coverage_monitoring_verified": 59,
      "remote_source_coverage_collection_verified": 59,
      "remote_source_coverage_collection_unverified_targets": [],
      "remote_source_coverage_missing": 0,
      "remote_source_coverage_candidate_only": 0,
      "remote_market_source_coverage_ok": true,
      "remote_market_source_coverage_targets": 70,
      "remote_market_source_coverage_active": 70,
      "remote_market_source_coverage_monitoring_verified": 70,
      "remote_market_source_coverage_collection_verified": 70,
      "remote_market_source_coverage_collection_unverified_targets": [],
      "remote_market_source_coverage_missing": 0,
      "remote_market_source_coverage_candidate_only": 0,
      "remote_ops_monitor_ok": true,
      "remote_daily_lock_audit_ok": true,
      "remote_daily_lock_status": "completed",
      "remote_daily_lock_ops_success_days": 5,
      "remote_daily_lock_ops_consecutive_success_days": 5,
      "remote_recurring_daily_operation_ok": true,
      "remote_ops_success_days": 5,
      "remote_ops_consecutive_success_days": 5,
      "remote_ops_success_days_required": 2,
      "remote_ops_latest_age_hours": 10.01,
      "remote_ops_latest_age_hours_max": 30.0,
      "remote_strategy_reuse_ok": true,
      "remote_plain_explainer_analyses": 8115,
      "remote_lens_reuse_analyses": 8111,
      "remote_source_strategy_context_reuse_ok": true,
      "remote_source_strategy_eligible_analyses": 8115,
      "remote_source_strategy_reused_after": 8115,
      "remote_backup_drill_ok": true,
      "remote_backup_drill_db_integrity_ok": true,
      "remote_backup_drill_db_hash_ok": true,
      "remote_backup_drill_report_members": 80,
      "remote_runtime_host": "kabu-engine-staging-350gb.asia-northeast1-b.c.gen-lang-client-0996387302.internal",
      "remote_runtime_ok": true,
      "remote_deployed_manifest_present": true,
      "remote_deployed_manifest_ok": false,
      "remote_deployed_manifest_verified_required": 38,
      "remote_mutable_report_count": 51,
      "remote_mutable_reports_present": 51,
      "remote_mutable_missing_reports": [],
      "remote_finalize_returncode": 0,
      "remote_finalize_command": "scripts/finalize_vps.sh --app-dir /opt/market-intel-engine --env-file /opt/market-intel-engine/.env --service-name market-intel --nginx-site-name market-intel.conf --deploy-mode docker",
      "remote_finalize_apply_promotions": false,
      "remote_finalize_promotion_verify_run": true,
      "remote_finalize_log_collected": true,
      "remote_finalize_log_size": 1360267,
      "remote_evidence_manifest_ok": true,
      "remote_evidence_manifest_files": 64,
      "remote_evidence_manifest_release_sha256": "b32e3e95beb3b1510238b1838b6c56b924b7f4e2d7acc79a7a810bbedc33bfa3",
      "remote_evidence_manifest_release_sha_matches": true,
      "remote_evidence_manifest_required_reports": 69,
      "remote_evidence_manifest_present_required_reports": 63,
      "remote_evidence_manifest_missing_required_reports": 6,
      "remote_evidence_archive_ok": true,
      "remote_evidence_archive_files": 65,
      "remote_evidence_archive_sha256": "4d04ceb5aee3ed15765fa8e8686bdb077a887b110ceb1dc0c632bea82a409baf",
      "remote_evidence_archive_manifest_release_sha256": "b32e3e95beb3b1510238b1838b6c56b924b7f4e2d7acc79a7a810bbedc33bfa3",
      "remote_evidence_archive_manifest_release_sha_matches": true,
      "remote_evidence_archive_manifest_required_reports": 69,
      "remote_evidence_archive_manifest_present_required_reports": 63,
      "remote_evidence_archive_manifest_missing_required_reports": 6,
      "remediation_actions": [
        {
          "id": "redeploy_release",
          "title": "配布zipをVPSへ再投入する",
          "command": "scripts/operator_go_live.sh --push",
          "detail": "展開manifest、mutable report、ランタイム証跡が欠ける場合は、最新zipを再投入してbootstrap/finalizeを走らせます。",
          "priority": 10,
          "failed_check": "remote_release_upload_bundle_verified"
        },
        {
          "id": "collect_remote_evidence",
          "title": "回収済みVPS証跡を更新する",
          "command": "scripts/operator_go_live.sh --collect --check-evidence --strict-evidence",
          "detail": "VPS上でfinalize_vps.shを再実行し、必須レポート、runtime証跡、manifest、archiveを回収して再判定します。",
          "priority": 20,
          "failed_check": "remote_required_reports_present"
        }
      ],
      "next_remediation_action": {
        "id": "redeploy_release",
        "title": "配布zipをVPSへ再投入する",
        "command": "scripts/operator_go_live.sh --push",
        "detail": "展開manifest、mutable report、ランタイム証跡が欠ける場合は、最新zipを再投入してbootstrap/finalizeを走らせます。",
        "priority": 10,
        "failed_check": "remote_release_upload_bundle_verified"
      },
      "gap_report": {
        "complete": false,
        "total_failed_checks": 5,
        "phase_count": 3,
        "phases": [
          {
            "phase": "deployment",
            "label": "VPS配布・本番ゲート",
            "failed_checks": 2,
            "checks": [
              "remote_release_upload_bundle_verified",
              "remote_deployed_manifest_verified"
            ],
            "next_action": {
              "id": "redeploy_release",
              "title": "配布zipをVPSへ再投入する",
              "command": "scripts/operator_go_live.sh --push",
              "detail": "展開manifest、mutable report、ランタイム証跡が欠ける場合は、最新zipを再投入してbootstrap/finalizeを走らせます。",
              "priority": 10
            }
          },
          {
            "phase": "telegram",
            "label": "Telegram通知",
            "failed_checks": 2,
            "checks": [
              "remote_telegram_notify_sent",
              "remote_telegram_notify_fresh"
            ],
            "next_action": {
              "id": "collect_remote_evidence",
              "title": "回収済みVPS証跡を更新する",
              "command": "scripts/operator_go_live.sh --collect --check-evidence --strict-evidence",
              "detail": "VPS上でfinalize_vps.shを再実行し、必須レポート、runtime証跡、manifest、archiveを回収して再判定します。",
              "priority": 20
            }
          },
          {
            "phase": "evidence_integrity",
            "label": "証跡ファイル完全性",
            "failed_checks": 1,
            "checks": [
              "remote_required_reports_present"
            ],
            "next_action": {
              "id": "collect_remote_evidence",
              "title": "回収済みVPS証跡を更新する",
              "command": "scripts/operator_go_live.sh --collect --check-evidence --strict-evidence",
              "detail": "VPS上でfinalize_vps.shを再実行し、必須レポート、runtime証跡、manifest、archiveを回収して再判定します。",
              "priority": 20
            }
          }
        ],
        "missing_required_report_count": 6,
        "missing_required_report_categories": [
          {
            "category": "ops",
            "label": "運用監視",
            "missing": 6,
            "examples": [
              "weekly_market_strategy_report.json",
              "weekly_market_strategy_report.md",
              "weekly_capital_flow_themes.csv",
              "weekly_attention_companies.csv",
              "weekly_market_strategy_telegram.txt",
              "weekly_market_strategy_telegram.json"
            ]
          }
        ],
        "blockers": [
          {
            "phase": "deployment",
            "label": "VPS配布・本番ゲート",
            "failed_checks": 2,
            "first_check": "remote_release_upload_bundle_verified",
            "next_action_id": "redeploy_release",
            "next_command": "scripts/operator_go_live.sh --push"
          },
          {
            "phase": "telegram",
            "label": "Telegram通知",
            "failed_checks": 2,
            "first_check": "remote_telegram_notify_sent",
            "next_action_id": "collect_remote_evidence",
            "next_command": "scripts/operator_go_live.sh --collect --check-evidence --strict-evidence"
          },
          {
            "phase": "evidence_integrity",
            "label": "証跡ファイル完全性",
            "failed_checks": 1,
            "first_check": "remote_required_reports_present",
            "next_action_id": "collect_remote_evidence",
            "next_command": "scripts/operator_go_live.sh --collect --check-evidence --strict-evidence"
          }
        ]
      },
      "operator_context": {
        "stage": "partial_remote_collection",
        "label": "VPS証跡の一部不足",
        "detail": "VPS証跡は回収済みですが、必須レポートが不足しています。finalizeと回収を再実行してください。",
        "evidence_dir_present": true,
        "present_required_reports": 65,
        "required_reports": 71,
        "primary_action_id": "collect_remote_evidence",
        "primary_command": "scripts/operator_go_live.sh --collect --check-evidence --strict-evidence",
        "primary_action_title": "回収済みVPS証跡を更新する"
      },
      "bootstrap_exception": {
        "applied": false
      }
    },
    "release_upload_bundle_check": {
      "checks": 42,
      "passed": 42,
      "failed": 0,
      "package_file": "market-intel-engine-20260611T064355Z.zip",
      "package_sha256": "b32e3e95beb3b1510238b1838b6c56b924b7f4e2d7acc79a7a810bbedc33bfa3",
      "bundle_dir": "deploy_uploads/market-intel-engine-20260611T064355Z-upload",
      "upload_files": [
        "market-intel-engine-20260611T064355Z.zip",
        "market-intel-engine-20260611T064355Z.zip.sha256"
      ]
    }
  },
  "transfer_commands": [
    "scp deploy_packages/market-intel-engine-20260611T064355Z.zip \"${VPS_USER:-user}@$VPS_HOST:/tmp/\"",
    "scp deploy_packages/market-intel-engine-20260611T064355Z.zip.sha256 \"${VPS_USER:-user}@$VPS_HOST:/tmp/\"",
    "ssh \"${VPS_USER:-user}@$VPS_HOST\" 'cd /tmp && sha256sum -c market-intel-engine-20260611T064355Z.zip.sha256'",
    "ssh \"${VPS_USER:-user}@$VPS_HOST\" 'sudo unzip -o /tmp/market-intel-engine-20260611T064355Z.zip -d /opt && cd /app && scripts/preflight_check.sh'"
  ],
  "preflight_only_command": "PUBLIC_DASHBOARD_URL=\"https://35-221-72-238.sslip.io/dashboard.html\" TELEGRAM_BOT_TOKEN=\"$TELEGRAM_BOT_TOKEN\" TELEGRAM_CHAT_ID=\"$TELEGRAM_CHAT_ID\" scripts/push_release_to_vps.sh --preflight-only --deploy-mode docker --apply-promotions --min-recurring-success-days 2 --max-recurring-latest-age-hours 30",
  "push_release_command": "SSH_PORT=\"${SSH_PORT:-}\" SSH_IDENTITY_FILE=\"${SSH_IDENTITY_FILE:-}\" SSH_OPTION=\"${SSH_OPTION:-}\" PUBLIC_DASHBOARD_URL=\"https://35-221-72-238.sslip.io/dashboard.html\" TELEGRAM_BOT_TOKEN=\"$TELEGRAM_BOT_TOKEN\" TELEGRAM_CHAT_ID=\"$TELEGRAM_CHAT_ID\" scripts/push_release_to_vps.sh --host \"$VPS_HOST\" --user \"${VPS_USER:-user}\" --deploy-mode docker --collect-dir reports/remote --apply-promotions --min-recurring-success-days 2 --max-recurring-latest-age-hours 30",
  "cloud_init_command": "RELEASE_ZIP_URL=\"$RELEASE_ZIP_URL\" scripts/render_cloud_init.sh --release-url \"$RELEASE_ZIP_URL\" --deploy-release-report reports/deploy_release.json --operator-env reports/operator_inputs.env --output deploy/cloud-init/market-intel.rendered.yaml",
  "release_upload_bundle_command": "python3 scripts/market_intel.py release-upload-bundle --report reports/deploy_release.json --report-dir reports --operator-env reports/operator_inputs.env --output-dir deploy_uploads",
  "release_upload_bundle_verify_command": "python3 scripts/market_intel.py release-upload-bundle-verify --output-dir deploy_uploads --output reports/release_upload_bundle_check.json",
  "collect_remote_evidence_command": "SSH_PORT=\"${SSH_PORT:-}\" SSH_IDENTITY_FILE=\"${SSH_IDENTITY_FILE:-}\" SSH_OPTION=\"${SSH_OPTION:-}\" scripts/collect_remote_evidence.sh --host \"$VPS_HOST\" --user \"${VPS_USER:-user}\" --collect-dir reports/remote --run-finalize --deploy-mode docker --apply-promotions --min-recurring-success-days 2 --max-recurring-latest-age-hours 30",
  "wait_remote_recurring_evidence_command": "SSH_PORT=\"${SSH_PORT:-}\" SSH_IDENTITY_FILE=\"${SSH_IDENTITY_FILE:-}\" SSH_OPTION=\"${SSH_OPTION:-}\" scripts/wait_remote_recurring_evidence.sh --host \"$VPS_HOST\" --user \"${VPS_USER:-user}\" --collect-dir reports/remote --run-finalize --deploy-mode docker --apply-promotions --min-recurring-success-days 2 --max-recurring-latest-age-hours 30 --max-attempts 48 --sleep-seconds 3600 --status-output reports/remote_recurring_wait.json",
  "deploy_commands": [
    "cd /app",
    "sudo scripts/configure_env.sh --app-dir /app --env-file /app/.env --public-url \"https://35-221-72-238.sslip.io/dashboard.html\" --telegram-bot-token \"$TELEGRAM_BOT_TOKEN\" --telegram-chat-id \"$TELEGRAM_CHAT_ID\" --deploy-mode docker --dashboard-port 8080 --validate",
    "docker compose up -d --build",
    "python3 scripts/market_intel.py deployment-check --env-file /app/.env --deploy-mode docker --require-telegram --format json --output reports/deployment_check.json"
  ],
  "final_commands": [
    "python3 scripts/market_intel.py telegram-test --env-file /app/.env --send --format json --output reports/telegram_test.json",
    "python3 scripts/market_intel.py production-audit --env-file /app/.env --deploy-mode docker --format json --output reports/production_audit.json --markdown reports/production_audit.md",
    "python3 scripts/market_intel.py go-live --format json --output reports/go_live.json --markdown reports/go_live.md",
    "python3 scripts/market_intel.py deploy-release --format json --output reports/deploy_release.json --markdown reports/deploy_release.md",
    "python3 scripts/market_intel.py dashboard --limit 40",
    "python3 scripts/market_intel.py dashboard-content-check --format json --output reports/dashboard_content_check.json",
    "python3 scripts/market_intel.py public-dashboard-check --format json --output reports/public_dashboard_check.json --require-public-url"
  ]
}
