{
  "base_url": "http://127.0.0.1:8902",
  "generated_at": "2026-06-30T07:53:10Z",
  "markdown_path": "C:\\tmp\\nsp_ops_reports\\NSP_SERVICES_CATALOG_20260630T075310Z.md",
  "ok": true,
  "ops_reports": {
    "files": {
      "dashboard": {
        "bytes": 32787,
        "href": "/nsp-ops/report/OPEN_FIRST_NSP_OPS_DASHBOARD_20260630T075237Z.html",
        "label": "Ops Dashboard",
        "modified_at": "2026-06-30T07:52:37Z",
        "name": "OPEN_FIRST_NSP_OPS_DASHBOARD_20260630T075237Z.html"
      },
      "engine_plan": {
        "bytes": 976,
        "href": "/nsp-ops/report/NSP_OPS_ENGINE_PLAN_20260630T075238Z.md",
        "label": "Engine Plan",
        "modified_at": "2026-06-30T07:52:38Z",
        "name": "NSP_OPS_ENGINE_PLAN_20260630T075238Z.md"
      },
      "packet_readiness_action_plan_html": {
        "bytes": 5375,
        "href": "/nsp-ops/report/packet_readiness_action_plan.html",
        "label": "Packet Action Plan HTML",
        "modified_at": "2026-06-29T16:58:16Z",
        "name": "packet_readiness_action_plan.html"
      },
      "packet_readiness_action_plan_json": {
        "bytes": 28058,
        "href": "/nsp-ops/report/packet_readiness_action_plan.json",
        "label": "Packet Action Plan JSON",
        "modified_at": "2026-06-29T16:58:16Z",
        "name": "packet_readiness_action_plan.json"
      },
      "packet_readiness_action_plan_markdown": {
        "bytes": 4546,
        "href": "/nsp-ops/report/packet_readiness_action_plan.md",
        "label": "Packet Action Plan Markdown",
        "modified_at": "2026-06-29T16:58:16Z",
        "name": "packet_readiness_action_plan.md"
      },
      "packet_readiness_dashboard": {
        "bytes": 5836,
        "href": "/nsp-ops/report/OPEN_FIRST_PACKET_READINESS_DASHBOARD.html",
        "label": "Packet Readiness Dashboard",
        "modified_at": "2026-06-29T16:58:16Z",
        "name": "OPEN_FIRST_PACKET_READINESS_DASHBOARD.html"
      },
      "packet_readiness_queue_csv": {
        "bytes": 1918,
        "href": "/nsp-ops/report/packet_readiness_queue.csv",
        "label": "Packet Queue CSV",
        "modified_at": "2026-06-29T16:58:16Z",
        "name": "packet_readiness_queue.csv"
      },
      "packet_readiness_queue_html": {
        "bytes": 3394,
        "href": "/nsp-ops/report/packet_readiness_queue.html",
        "label": "Packet Queue HTML",
        "modified_at": "2026-06-29T16:58:16Z",
        "name": "packet_readiness_queue.html"
      },
      "packet_readiness_queue_json": {
        "bytes": 5480,
        "href": "/nsp-ops/report/packet_readiness_queue.json",
        "label": "Packet Queue JSON",
        "modified_at": "2026-06-29T16:58:16Z",
        "name": "packet_readiness_queue.json"
      },
      "packet_readiness_queue_jsonl": {
        "bytes": 3627,
        "href": "/nsp-ops/report/packet_readiness_queue.jsonl",
        "label": "Packet Queue JSONL",
        "modified_at": "2026-06-29T16:58:16Z",
        "name": "packet_readiness_queue.jsonl"
      },
      "packet_readiness_queue_markdown": {
        "bytes": 2691,
        "href": "/nsp-ops/report/packet_readiness_queue.md",
        "label": "Packet Queue Markdown",
        "modified_at": "2026-06-29T16:58:16Z",
        "name": "packet_readiness_queue.md"
      },
      "queue_csv": {
        "bytes": 14660,
        "href": "/nsp-ops/report/NSP_OPS_QUEUE_20260630T075234Z.csv",
        "label": "Queue CSV",
        "modified_at": "2026-06-30T07:52:34Z",
        "name": "NSP_OPS_QUEUE_20260630T075234Z.csv"
      },
      "queue_json": {
        "bytes": 55126,
        "href": "/nsp-ops/report/NSP_OPS_QUEUE_20260630T075234Z.json",
        "label": "Queue JSON",
        "modified_at": "2026-06-30T07:52:34Z",
        "name": "NSP_OPS_QUEUE_20260630T075234Z.json"
      },
      "queue_markdown": {
        "bytes": 16609,
        "href": "/nsp-ops/report/NSP_OPS_QUEUE_20260630T075234Z.md",
        "label": "Queue Markdown",
        "modified_at": "2026-06-30T07:52:34Z",
        "name": "NSP_OPS_QUEUE_20260630T075234Z.md"
      },
      "services_catalog": {
        "bytes": 15368,
        "href": "/nsp-ops/report/NSP_SERVICES_CATALOG_20260629T165659Z.json",
        "label": "Services Catalog",
        "modified_at": "2026-06-29T16:56:59Z",
        "name": "NSP_SERVICES_CATALOG_20260629T165659Z.json"
      },
      "services_catalog_markdown": {
        "bytes": 3103,
        "href": "/nsp-ops/report/NSP_SERVICES_CATALOG_20260629T165659Z.md",
        "label": "Catalog Markdown",
        "modified_at": "2026-06-29T16:56:59Z",
        "name": "NSP_SERVICES_CATALOG_20260629T165659Z.md"
      },
      "services_doctor": {
        "bytes": 44449,
        "href": "/nsp-ops/report/NSP_SERVICES_DOCTOR_20260630T075303Z.json",
        "label": "Services Doctor",
        "modified_at": "2026-06-30T07:53:03Z",
        "name": "NSP_SERVICES_DOCTOR_20260630T075303Z.json"
      },
      "services_readiness": {
        "bytes": 11431,
        "href": "/nsp-ops/report/NSP_SERVICES_READINESS_20260629T165706Z.json",
        "label": "Services Readiness",
        "modified_at": "2026-06-29T16:57:06Z",
        "name": "NSP_SERVICES_READINESS_20260629T165706Z.json"
      },
      "services_readiness_markdown": {
        "bytes": 1547,
        "href": "/nsp-ops/report/NSP_SERVICES_READINESS_20260629T165706Z.md",
        "label": "Readiness Markdown",
        "modified_at": "2026-06-29T16:57:06Z",
        "name": "NSP_SERVICES_READINESS_20260629T165706Z.md"
      },
      "services_refresh": {
        "bytes": 134157,
        "href": "/nsp-ops/report/NSP_SERVICES_REFRESH_20260629T165816Z.json",
        "label": "Services Refresh",
        "modified_at": "2026-06-29T16:59:07Z",
        "name": "NSP_SERVICES_REFRESH_20260629T165816Z.json"
      },
      "services_refresh_markdown": {
        "bytes": 2879,
        "href": "/nsp-ops/report/NSP_SERVICES_REFRESH_20260629T165816Z.md",
        "label": "Refresh Markdown",
        "modified_at": "2026-06-29T16:59:07Z",
        "name": "NSP_SERVICES_REFRESH_20260629T165816Z.md"
      },
      "services_smoke": {
        "bytes": 9654,
        "href": "/nsp-ops/report/NSP_SERVICES_SMOKE_20260630T075201Z.json",
        "label": "Services Smoke",
        "modified_at": "2026-06-30T07:52:01Z",
        "name": "NSP_SERVICES_SMOKE_20260630T075201Z.json"
      }
    },
    "summary": {
      "catalog_generated_at": "2026-06-29T16:56:59Z",
      "catalog_ok": true,
      "catalog_verticals_ready": 4,
      "catalog_verticals_total": 4,
      "doctor_generated_at": "2026-06-30T07:53:03Z",
      "doctor_ok": true,
      "doctor_tools_ok": 3,
      "doctor_tools_total": 3,
      "engine_plan_generated_at": "2026-06-30T07:52:38Z",
      "generated_at": "20260630T075234Z",
      "has_catalog": true,
      "has_dashboard": true,
      "has_doctor": true,
      "has_engine_plan": true,
      "has_packet_readiness": true,
      "has_queue": true,
      "has_readiness": true,
      "has_refresh": true,
      "has_smoke": true,
      "packet_count": 60,
      "packet_readiness_dashboard": "/nsp-ops/report/OPEN_FIRST_PACKET_READINESS_DASHBOARD.html",
      "packet_readiness_queue_count": 7,
      "readiness_gates_ok": 5,
      "readiness_gates_total": 5,
      "readiness_generated_at": "2026-06-29T16:57:06Z",
      "readiness_ok": true,
      "readiness_verticals_ready": 4,
      "readiness_verticals_total": 4,
      "refresh_generated_at": "2026-06-29T16:58:16Z",
      "refresh_ok": true,
      "refresh_steps_ok": 9,
      "refresh_steps_total": 9,
      "smoke_checks_ok": 37,
      "smoke_checks_total": 37,
      "smoke_generated_at": "2026-06-30T07:52:01Z",
      "smoke_ok": true,
      "total_issues": 3,
      "total_next_gates": 0
    }
  },
  "output_path": "C:\\tmp\\nsp_ops_reports\\NSP_SERVICES_CATALOG_20260630T075310Z.json",
  "route_checks": [
    {
      "error": null,
      "expected_statuses": [
        200
      ],
      "label": "Store",
      "ok": true,
      "path": "/chromatic",
      "status_code": 200
    },
    {
      "error": null,
      "expected_statuses": [
        200
      ],
      "label": "SpaceCash",
      "ok": true,
      "path": "/spacecash",
      "status_code": 200
    },
    {
      "error": null,
      "expected_statuses": [
        200
      ],
      "label": "IDC programming",
      "ok": true,
      "path": "/idc-programming",
      "status_code": 200
    },
    {
      "error": null,
      "expected_statuses": [
        200
      ],
      "label": "IDG arcade",
      "ok": true,
      "path": "/idg",
      "status_code": 200
    },
    {
      "error": null,
      "expected_statuses": [
        200
      ],
      "label": "IDR radio",
      "ok": true,
      "path": "/idr",
      "status_code": 200
    },
    {
      "error": null,
      "expected_statuses": [
        200
      ],
      "label": "IDC packet",
      "ok": true,
      "path": "/static/idc/idc_anthology_packet_2026-06-06.json",
      "status_code": 200
    },
    {
      "error": null,
      "expected_statuses": [
        200
      ],
      "label": "IDG manifest",
      "ok": true,
      "path": "/static/idg/manifest.json",
      "status_code": 200
    },
    {
      "error": null,
      "expected_statuses": [
        200
      ],
      "label": "IDR manifest",
      "ok": true,
      "path": "/static/idr_audio/manifest.json",
      "status_code": 200
    },
    {
      "error": null,
      "expected_statuses": [
        200
      ],
      "label": "NSP ops reports",
      "ok": true,
      "path": "/api/nsp/ops/reports/latest",
      "status_code": 200
    },
    {
      "error": null,
      "expected_statuses": [
        200
      ],
      "label": "Services catalog",
      "ok": true,
      "path": "/api/nsp/services/catalog/latest",
      "status_code": 200
    },
    {
      "error": null,
      "expected_statuses": [
        200
      ],
      "label": "Services refresh",
      "ok": true,
      "path": "/api/nsp/services/refresh/latest",
      "status_code": 200
    }
  ],
  "source_requests": [
    {
      "error": null,
      "name": "services_status_api",
      "ok": true,
      "status_code": 200,
      "url": "http://127.0.0.1:8902/api/services/status"
    },
    {
      "error": null,
      "name": "ops_reports_api",
      "ok": true,
      "status_code": 200,
      "url": "http://127.0.0.1:8902/api/nsp/ops/reports/latest"
    }
  ],
  "status": "ok",
  "summary": {
    "ops_has_dashboard": true,
    "ops_has_doctor": true,
    "ops_has_engine_plan": true,
    "ops_has_queue": true,
    "ops_has_refresh": true,
    "ops_packet_count": 60,
    "ops_total_issues": 3,
    "routes_failed": 0,
    "routes_ok": 11,
    "routes_total": 11,
    "verticals_ready": 4,
    "verticals_total": 4
  },
  "verticals": [
    {
      "actions": [
        {
          "href": "/chromatic",
          "label": "Store"
        },
        {
          "href": "/contact?subject=NSP%20Store%20Desk",
          "label": "Checkout Desk"
        },
        {
          "href": "/spacecash",
          "label": "SpaceCash"
        }
      ],
      "api_href": "/api/nsp/services/vertical/store",
      "code": "Store",
      "metrics": [
        {
          "label": "Prime products",
          "value": 90
        },
        {
          "label": "Chromatic DB products",
          "value": 17
        },
        {
          "label": "Checkout-ready items",
          "value": 68
        },
        {
          "label": "Compliance review items",
          "value": 3
        },
        {
          "label": "SpaceCash DB",
          "value": "ok"
        }
      ],
      "status": "ready",
      "summary": "Chromatic storefront, Prime catalog products, checkout links, compliance gating, and SpaceCash payment rails.",
      "title": "NSP Storefront"
    },
    {
      "actions": [
        {
          "href": "/idc-programming",
          "label": "Programming"
        },
        {
          "href": "/idc/",
          "label": "IDC Web"
        },
        {
          "href": "/static/idc/idc_anthology_packet_2026-06-06.json",
          "label": "Packet"
        }
      ],
      "api_href": "/api/nsp/services/vertical/idc",
      "code": "IDC",
      "metrics": [
        {
          "label": "Program slots",
          "value": 16
        },
        {
          "label": "Anthology episodes",
          "value": 8
        },
        {
          "label": "Show directories",
          "value": 7
        },
        {
          "label": "Cover files",
          "value": 12
        },
        {
          "label": "CLI state",
          "value": "ok"
        }
      ],
      "status": "ready",
      "summary": "Programming shelf, anthology packet, cover inventory, and the cable CLI state used for show production.",
      "title": "Interdimensional Cable"
    },
    {
      "actions": [
        {
          "href": "/idg",
          "label": "Arcade"
        },
        {
          "href": "/arcade/playtest",
          "label": "Playtest"
        },
        {
          "href": "/static/idg/manifest.json",
          "label": "Manifest"
        }
      ],
      "api_href": "/api/nsp/services/vertical/idg",
      "code": "IDG",
      "metrics": [
        {
          "label": "Licensed manifest items",
          "value": 76
        },
        {
          "label": "Manifest categories",
          "value": 4
        },
        {
          "label": "Local playable builds",
          "value": 38
        },
        {
          "label": "Pipeline concepts",
          "value": 3
        },
        {
          "label": "CLI state",
          "value": "ok"
        }
      ],
      "status": "ready",
      "summary": "Super Arcade route, local playable games, licensed manifest shelf, and game-production CLI state.",
      "title": "Interdimensional Games"
    },
    {
      "actions": [
        {
          "href": "/idr",
          "label": "Radio"
        },
        {
          "href": "/static/videos/idr_bumper_proof_reel_2026-06-05.mp4",
          "label": "Proof Reel"
        },
        {
          "href": "/static/idr_audio/manifest.json",
          "label": "Manifest"
        }
      ],
      "api_href": "/api/nsp/services/vertical/idr",
      "code": "IDR",
      "metrics": [
        {
          "label": "Original tracks",
          "value": 11
        },
        {
          "label": "Original channels",
          "value": 5
        },
        {
          "label": "PD channels",
          "value": 0
        },
        {
          "label": "PD tracks",
          "value": 0
        },
        {
          "label": "CLI state",
          "value": "ok"
        }
      ],
      "status": "ready",
      "summary": "Radio player, original channel beds, bumper proof reel, public-domain shelf, and radio CLI state.",
      "title": "Interdimensional Radio"
    }
  ]
}