{
  "ok": true,
  "hosts": [
    {
      "ok": true,
      "host_label": "a18-neo",
      "config": {
        "host_label": "a18-neo",
        "asr_lanes": 1,
        "home_lanes": 1,
        "home_scope": "home",
        "ocr_lanes": 1,
        "fetch_lanes": 0,
        "ocr_guard_min_free_gb": 2.5,
        "paused": false,
        "note": null,
        "device": "MacBook Neo (A18 Pro, 8 GB)",
        "role": "home lane + OCR, no YouTube",
        "self_update": false
      },
      "overridden": [
        "asr_lanes",
        "home_lanes",
        "ocr_lanes",
        "fetch_lanes",
        "device",
        "role",
        "self_update"
      ],
      "updated_at": "2026-10-10T20:41:18.802Z",
      "limits": {
        "ocr_default": 2,
        "ocr_max": 3,
        "fetch_default": 1,
        "fetch_max": 2,
        "asr_max": 2
      },
      "agent_versions": {
        "asr_agent": {
          "name": "agent.py",
          "version": "0",
          "sha256": "31d3934f3eb97ba3764632ab0018f7bf6fee4717b9cf42ae46f5500bec516b5e",
          "bytes": 50805,
          "url": "https://capital-region-meeting-asr.canalandcountry.workers.dev/join/agent.py",
          "held": true,
          "served_version": "1.3.0"
        },
        "ocr_agent": {
          "manifest_url": "https://meeting-docs.canalandcountry.workers.dev/join/ocr_agent.json",
          "url": "https://meeting-docs.canalandcountry.workers.dev/join/ocr_agent.py",
          "bootstrap": "https://meeting-docs.canalandcountry.workers.dev/join/ocr-bootstrap.sh"
        }
      },
      "policy": "ASR and the home lane come first; OCR yields. OCR lanes run at nice 10 and pause new claims when free+inactive memory < ocr_guard_min_free_gb, memory pressure is warn/critical, or an ASR decode is running while thermal state is serious. Change lanes here (admin POST); agents re-read every heartbeat (agent.py) or every 5 min (ocr_agent.py).",
      "observed": "https://meeting-docs.canalandcountry.workers.dev/work/hosts",
      "as_of": "2026-10-11T20:49:28.766Z"
    },
    {
      "ok": true,
      "host_label": "m1-mbp",
      "config": {
        "host_label": "m1-mbp",
        "asr_lanes": 2,
        "home_lanes": 1,
        "home_scope": "home",
        "ocr_lanes": 2,
        "fetch_lanes": 1,
        "ocr_guard_min_free_gb": 2.5,
        "paused": false,
        "note": "2026-10-10 default: 2 OCR + 1 fetch beside 2 mlx-whisper lanes (max 3 + 2). ASR and home lane first; OCR yields.",
        "device": "MacBook Pro (M1)",
        "role": "YouTube + all venues + OCR/fetch · joiner via /join"
      },
      "overridden": [
        "asr_lanes",
        "home_lanes",
        "home_scope",
        "ocr_lanes",
        "fetch_lanes",
        "ocr_guard_min_free_gb",
        "paused",
        "note",
        "device",
        "role"
      ],
      "updated_at": "2026-10-10T17:57:21.867Z",
      "limits": {
        "ocr_default": 2,
        "ocr_max": 3,
        "fetch_default": 1,
        "fetch_max": 2,
        "asr_max": 2
      },
      "agent_versions": {
        "asr_agent": {
          "name": "agent.py",
          "version": "1.3.0",
          "sha256": "31d3934f3eb97ba3764632ab0018f7bf6fee4717b9cf42ae46f5500bec516b5e",
          "bytes": 50805,
          "url": "https://capital-region-meeting-asr.canalandcountry.workers.dev/join/agent.py"
        },
        "ocr_agent": {
          "manifest_url": "https://meeting-docs.canalandcountry.workers.dev/join/ocr_agent.json",
          "url": "https://meeting-docs.canalandcountry.workers.dev/join/ocr_agent.py",
          "bootstrap": "https://meeting-docs.canalandcountry.workers.dev/join/ocr-bootstrap.sh"
        }
      },
      "policy": "ASR and the home lane come first; OCR yields. OCR lanes run at nice 10 and pause new claims when free+inactive memory < ocr_guard_min_free_gb, memory pressure is warn/critical, or an ASR decode is running while thermal state is serious. Change lanes here (admin POST); agents re-read every heartbeat (agent.py) or every 5 min (ocr_agent.py).",
      "observed": "https://meeting-docs.canalandcountry.workers.dev/work/hosts",
      "as_of": "2026-10-11T20:49:28.808Z"
    },
    {
      "ok": true,
      "host_label": "m1-mini",
      "config": {
        "host_label": "m1-mini",
        "asr_lanes": 2,
        "home_lanes": 1,
        "home_scope": "home",
        "ocr_lanes": 2,
        "fetch_lanes": 1,
        "ocr_guard_min_free_gb": 2.5,
        "paused": false,
        "note": "2026-10-10 default: 2 OCR + 1 fetch beside 2 mlx-whisper lanes (max 3 + 2). ASR and home lane first; OCR yields.",
        "device": "Mac mini (M1, 16 GB)",
        "role": "YouTube + all venues + OCR/fetch · Grok Build CLI"
      },
      "overridden": [
        "asr_lanes",
        "home_lanes",
        "home_scope",
        "ocr_lanes",
        "fetch_lanes",
        "ocr_guard_min_free_gb",
        "paused",
        "note",
        "device",
        "role"
      ],
      "updated_at": "2026-10-10T17:57:21.867Z",
      "limits": {
        "ocr_default": 2,
        "ocr_max": 3,
        "fetch_default": 1,
        "fetch_max": 2,
        "asr_max": 2
      },
      "agent_versions": {
        "asr_agent": {
          "name": "agent.py",
          "version": "1.3.0",
          "sha256": "31d3934f3eb97ba3764632ab0018f7bf6fee4717b9cf42ae46f5500bec516b5e",
          "bytes": 50805,
          "url": "https://capital-region-meeting-asr.canalandcountry.workers.dev/join/agent.py"
        },
        "ocr_agent": {
          "manifest_url": "https://meeting-docs.canalandcountry.workers.dev/join/ocr_agent.json",
          "url": "https://meeting-docs.canalandcountry.workers.dev/join/ocr_agent.py",
          "bootstrap": "https://meeting-docs.canalandcountry.workers.dev/join/ocr-bootstrap.sh"
        }
      },
      "policy": "ASR and the home lane come first; OCR yields. OCR lanes run at nice 10 and pause new claims when free+inactive memory < ocr_guard_min_free_gb, memory pressure is warn/critical, or an ASR decode is running while thermal state is serious. Change lanes here (admin POST); agents re-read every heartbeat (agent.py) or every 5 min (ocr_agent.py).",
      "observed": "https://meeting-docs.canalandcountry.workers.dev/work/hosts",
      "as_of": "2026-10-11T20:49:28.857Z"
    }
  ],
  "as_of": "2026-10-11T20:49:28.857Z"
}