{
  "schema_version": "service-readiness-check-v1",
  "generated_at": "2026-05-17T10:49:00.148Z",
  "source": "ai/commands/service-readiness-check.mjs",
  "mutates_authority_state": false,
  "recover_runtime_requested": false,
  "status": "healthy",
  "issues": [],
  "runtime": {
    "daemon": {
      "status": "running",
      "running": true,
      "pid": "",
      "tmux_session": "blueprint-runtime-api",
      "tmux_session_running": true,
      "heartbeat_age_seconds": "1",
      "local_only": true,
      "transport": "unix_socket_json_line",
      "socket_path": "/workspace/.tmp/runtime-api/runtime.sock",
      "started_at": "2026-05-17T10:48:37.561Z"
    },
    "freshness": {
      "id": "runtime-daemon-freshness",
      "ok": true,
      "result": {
        "schema_version": "runtime-daemon-freshness-v1",
        "source": "runtime-core",
        "status": "fresh",
        "generation": "1779014917561-3638-040f8472fe80",
        "version": "0.1.0",
        "pid": 3638,
        "started_at": "2026-05-17T10:48:37.561Z",
        "source_hash_at_start": "d6f47f471b54f1f3a136ffd9e53fc7a5192d73d350544024f92ad60c74993f0b",
        "source_hash_current": "d6f47f471b54f1f3a136ffd9e53fc7a5192d73d350544024f92ad60c74993f0b",
        "build_hash_at_start": "040f8472fe80fb9648ee0cfd3ba0823c137d840b0dd11b81773499af467a1754",
        "build_hash_current": "040f8472fe80fb9648ee0cfd3ba0823c137d840b0dd11b81773499af467a1754",
        "build_manifest_generation": "1779014915524-2781-d6f47f471b54",
        "immutable_generation_dir": "/workspace/ai/runtime/.runtime-generations/1779014915524-2781-d6f47f471b54",
        "build_state_status": "ready",
        "active_build_detected": false,
        "restart_required": false,
        "reasons": []
      }
    },
    "restart_required": false,
    "functional_probe": {
      "status": "passed",
      "reason": "health_snapshot_ok",
      "duration_ms": 7557,
      "timed_out": false,
      "runtime_available": true,
      "overall_health": "healthy"
    },
    "recovered": false,
    "recovery": null
  },
  "runtime_services": {
    "status": "healthy",
    "services": [
      {
        "name": "operator-daemon",
        "status": "running or recently active",
        "health": "healthy",
        "raw_health": "healthy",
        "heartbeat_age_seconds": "0",
        "pending": 0,
        "stale": 0,
        "failed": 0,
        "state_dir": "/workspace/.tmp/operator-daemon",
        "last_result": ""
      },
      {
        "name": "runtime-supervisor",
        "status": "running",
        "health": "healthy",
        "raw_health": "healthy",
        "heartbeat_age_seconds": "1",
        "pending": 0,
        "stale": 0,
        "failed": 0,
        "state_dir": "/workspace/.tmp/runtime-supervisor",
        "last_result": ""
      },
      {
        "name": "approved-action-dispatcher",
        "status": "running",
        "health": "healthy",
        "raw_health": "healthy",
        "heartbeat_age_seconds": "4",
        "pending": 0,
        "stale": 1,
        "failed": 0,
        "state_dir": "/workspace/.tmp/approved-action-dispatcher",
        "last_result": "/workspace/.tmp/approved-action-dispatcher/results/deemed-fabc3fc244b7.env",
        "last_result_status": "success"
      },
      {
        "name": "telegram-bridge",
        "status": "RUNNING",
        "health": "healthy",
        "raw_health": "healthy",
        "heartbeat_age_seconds": "14",
        "pending": 0,
        "stale": 0,
        "failed": 0,
        "state_dir": "/workspace/.tmp/telegram-dev-bridge",
        "last_result": "",
        "delivery_lag_status": "healthy",
        "outbox_count": 0,
        "oldest_outbox_age_seconds": "unknown",
        "latest_sent_at": 1779014682,
        "latest_message_id": "1270",
        "latest_sent_age_seconds": 258,
        "failed_count": 0,
        "last_send_error": ""
      },
      {
        "name": "runtime-api",
        "status": "running",
        "health": "healthy",
        "raw_health": "running",
        "heartbeat_age_seconds": "1",
        "pending": 0,
        "stale": 0,
        "failed": 0,
        "state_dir": ".tmp/runtime-api",
        "last_result": "",
        "functional_probe_status": "passed",
        "functional_probe_reason": "health_snapshot_ok",
        "functional_probe_duration_ms": 7557,
        "functional_probe_timed_out": false,
        "freshness_status": "probing",
        "restart_required": false,
        "recovery_state": "not_requested",
        "last_probe_at": "2026-05-17T10:48:57.103Z",
        "error_recent_count": 0,
        "last_error_reason": "write EPIPE",
        "error_log_path": "/workspace/.tmp/runtime-api/errors.jsonl"
      }
    ]
  },
  "dev_servers": {
    "frontend": {
      "target": "frontend",
      "session": "blueprint-dev-frontend",
      "url": "http://127.0.0.1:4220/",
      "managed_running": true,
      "reachable": true,
      "health": "healthy",
      "detail": "URL reachable from current context"
    },
    "backend": {
      "target": "backend",
      "session": "blueprint-dev-backend",
      "url": "http://127.0.0.1:3720/graphql",
      "managed_running": true,
      "reachable": true,
      "health": "healthy",
      "detail": "URL reachable from current context"
    }
  },
  "socket_io": {
    "status": "skipped",
    "health": "unknown",
    "url": "http://127.0.0.1:3720/runtime-health",
    "detail": "Socket.IO namespace probe skipped by --skip-socket."
  },
  "recommendations": [
    "No recovery needed."
  ]
}
