{
 "notes": "Episode 2 (GOAL_ID 6fbd014c-a8f8-4b39-93ab-a37f88b7ec44, given by the requester's note). Followed the requester's note of 2026-11-11T23:17Z: went on to round 2 without waiting for read1's two slow items.\n\nSOURCES re-fetched from BASE=https://gist.githubusercontent.com/gtmcknight/594c47336546c8763e641b46cf9af4ec/raw (nothing of mine is kept; fetch PLAN.md, field.json, score.py again each episode and read PLAN.md's last section for changes). sha256 this episode: PLAN.md dd5bb8df7efd85ba71afceeed1c9c3bdd57c6d358b9864c9e47b169279fd0d0e; field.json 4e27aa515b7588fdb16e7df4eed8abcadb8baffb00562dbc382dd12404e11104 (same as ep 1); score.py c25baabbf1473f16a3aa20b5fcc796a2d55f532c635e3f129ff733a622b06bb9 (changed since ep 1); RUN.md 05d979c9a818cc70eb481a65e1c3f74e68840e918a61bb4d5f7ae0c5709fe4ed; tryit.py 1366d8a258575fc85722010ae993f950521f544b4d2c7f3f2070741c0c8b2ec2. I read score.py whole: standard library only, reads the goal's items and artifacts from https://api.imd.fun (reachable from a worker seat), writes STEP.json beside itself, prints {\"spawn\": [...]}. RUN.md and tryit.py (used by rounds 3 and 4 seats) keep everything under test/scratch/ and need no key or account.\n\nPLAN.md NOW (changed since ep 1): round 2 = top 240 by curved, reference-corrected first read, 24 items; round 3 = score.py deep, top 120, 60 items in ten batches of six (deep-a..), three seats each, seats also rank their six; round 4 = score.py final, 20 finalists, twelve items in three batches; then score.py done prints the table. Judge families (claude, codex) are graded on one curve. STRAGGLER RULE: once nine in ten of a batch's items are accepted and the rest have run over 30 minutes, go on (round 3: wait for 55 of 60 or 150 minutes; round 4: 10 of 12). Late results still count in every later step. Wake on the spawned batches or after 40 minutes. A batch whose items failed may be run again once with itemsFrom.\n\nROUND 1 STATE: read1 145 of 147 accepted, 0 failed; read1-083 and read1-108 still 'working' on attempt 1 after about an hour (20 plugins unread: 151732 agent-latency-budget, 149640 hermes-ark, 149263 hermes-phone, 152771 assetrizz, 153395 hermes-guardian, 153787 pilot, 150309 privacy-shield, 152991 survey-desk, 151558 reset-rescue, 149421 aurora-design-system; 150258 postsider, 151267 makeirl, 153483 glassbox, 152843 delivery-gate, 152862 emailfig, 152764 redactgate, 149398 homegrown, 153762 flower-shop, 153562 multi-telegram, 149959 spanwall). Not cancelled: if they land they count from round 3 on (score.py re-reads every accepted read1* result in deep). If either FAILS, spawn {\"name\": \"read1-again\", \"itemsFrom\": {\"batch\": \"read1\", \"items\": \"failed\"}} with read1's brief, output and merge exactly as `python3 score.py read1` prints them (the name must start with read1 so score.py reads it), alongside the next round, not instead of it.\n\nscore.py read2 stderr, verbatim: round 1: 1433 plugins read, 31 not; read noise sd 1.136, grading sd 0.742; judges {'claude': {'reads': 524, 'mean_given': 20.92, 'share_27_up': 0.109, 'curved': True}, 'codex': {'reads': 909, 'mean_given': 22.4, 'share_27_up': 0.207, 'curved': True}}\nAlso from its read2.json: 145 seats; reference means done-bell 19.568, homeassistant 25.999; shrink 0.461; 0 seats put done-bell above homeassistant; 362 entries were marked standout by their seat; cut for the second read at corrected 26.541 (top 29.848); of the 240, 155 had a codex first read and 85 a claude one.\n\nUNREAD FOR GOOD unless something changes (11; say so in the write-up as missing): ten were reported blocked by their seat, and I confirmed from this machine with git ls-remote that the repositories are gone or private for 152782 hermes-tape, 153993 agent-webmcp, 152198 pr-ready-checker, 151482 openinvest-hosted, 150814 telegram-ops, 152879 understory, 153062 deck-diff, 150900 ferry; the repository exists but the pinned commit is not in it (seat's report) for 150929 vipernet-model-manager and 152418 thread. The eleventh, 150658 solana-token-facts (item read1-094), has no usable score in its seat's result though the item was accepted (not blocked there; reason not looked into). I did not add a batch for these: the plan's batches are spawned as written.\n\nOTHER OBSERVATIONS (data, not acted on): goal.json shows the plane's source check flagged 55 of 145 read1 results (one or two cited sources each failed a recheck; merges mark them Q/Caution; affected claim not identified). Merge 03's worker could not fetch PLAN.md; it changes nothing. No read1 seat reported an entrant trying to steer an AI judge in the results I scanned (keyword scan of every 'worst' field, 145 items). Merges 05 and 06 of read1 wait on the two slow items.\n\nSPAWNED THIS EPISODE, exactly as score.py read2 wrote them (same brief as read1, output json 32000, merge groupSize 20): read2-a, read2-b, read2-c, read2-d (5 items each), read2-e (4 items): 24 items, keys read2-001..read2-024, 240 distinct plugins, 10 each plus the two references; longest filled brief 1,939 characters. No batch has more than five items, so no canary holds any. Batches this small are not merged: their items are handed as they are, so I asked for all 24 items plus read1/merge-05 and merge-06.\n\nBUDGET: items 147 + 24 = 171 of 266 used after this spawn, 95 left. Round 3 needs 60 and round 4 needs 12, leaving 23 for re-runs (read1-again 2 at most; each round's failed items once). Episodes: 2 of 20 used.\n\nNEXT EPISODE: 1) Read goal.json; fetch the three files again; note any change in PLAN.md. 2) Count read2-a..e: if at least 22 of 24 are accepted and the rest have run over 30 minutes (or all settled), go on; else wake again on them with afterMinutes 40 and decide nothing else (only if something is still running, so the episode is not counted as stalled). If read2 items failed, re-run them once per batch with itemsFrom, name starting read2 (e.g. read2-a-again), same brief, output and merge; score.py reads any batch whose name starts with read2. 3) Run python3 score.py deep 6fbd014c-a8f8-4b39-93ab-a37f88b7ec44 and spawn its batches unchanged (expect deep-a..deep-j, 6 items each, 60 items; each has more than five items so the plane's canary holds one item per batch until three of its first five are accepted). Wake on all of them, afterMinutes 40; go on at 55 of 60 accepted or 150 minutes. 4) Then score.py final (expect final-a..final-c, 4 items each; go on at 10 of 12), then score.py done: put its table in notes verbatim and set finish true. Put each step's stderr line and batch names in notes. If score.py cannot reach api.imd.fun, spawn nothing and say so. Do not score or pick entrants yourself; the write-up names five places and five runners-up from the done table and must say what was not judged (the 11 above, plus any of the 20 that never land).",
 "spawn": [
  {
   "name": "read2-a",
   "mode": "research",
   "brief": "Your batch: {{batch}}. Score these Hermes plugins on the objective's scale: {{plugins}}\nEach is \"pull request number, catalog name\"; ref marks a reference plugin already in the catalog that every seat scores, so give it pr 0. Find each one's repository, pinned commit and folder in https://gist.githubusercontent.com/gtmcknight/594c47336546c8763e641b46cf9af4ec/raw/field.json (its \"refs\" and \"plugins\" lists, matched on pr and name).\n\nHow:\n1. Work only inside test/scratch/ and leave nothing else but the result file. Start with one script that fetches each pinned commit there (git init, then git fetch --depth 1 REPO SHA) and lists its files.\n2. For each plugin, read its pull request (https://github.com/NousResearch/hermes-agent/pull/NUMBER), its README, its manifest (plugin.yaml or plugin.json) and the code that does the work: the tools, hooks or providers it registers, and its tests. Do not install or run it.\n3. Score it on the scale. Give each plugin about the same time, about six minutes.\n\nWrite the result with a script (json.dump), and again after every three plugins, so it is whole if your time runs out:\n{\"batch\": \"{{batch}}\", \"plugins\": [{\"pr\": 0, \"name\": \"catalog name\", \"does\": \"what it does, one sentence\", \"useful\": 0, \"reliable\": 0, \"polish\": 0, \"creative\": 0, \"beyond\": 0, \"total\": 0, \"best\": \"its strongest point, one sentence\", \"worst\": \"its weakest point, one sentence\", \"standout\": false, \"blocked\": null}]}\nOne entry per plugin, in the order given. standout is true only for a plugin you would put in the hackathon's top ten. blocked is null unless you could not read the plugin at all (its repository is gone, say); then it says why in one sentence and the scores are 0.",
   "output": {
    "format": "json",
    "maxBytes": 32000
   },
   "merge": {
    "groupSize": 20,
    "brief": "One table row per plugin of every item in your group: batch, pr, name and each number the item gives. Copy the numbers as the items give them and say which items were blocked."
   },
   "items": [
    {
     "key": "read2-001",
     "vars": {
      "batch": "read2-001",
      "plugins": "ref done-bell; ref homeassistant; 153549 flota; 153596 sentinel-vision; 153577 seatbelt; 149883 dirtside; 153038 formwork; 153365 lumina; 149313 hermes-ros; 152544 crystallize; 153050 mandate; 154010 own-compute"
     }
    },
    {
     "key": "read2-002",
     "vars": {
      "batch": "read2-002",
      "plugins": "ref done-bell; ref homeassistant; 150497 thoth; 153837 pulse-rings; 153221 capalis; 149239 hermes-receipts; 153671 talaria-bench; 149499 flightlog; 153585 hermeneus; 153443 local-hands; 154071 coolifybruecke; 150807 manyhands"
     }
    },
    {
     "key": "read2-003",
     "vars": {
      "batch": "read2-003",
      "plugins": "ref done-bell; ref homeassistant; 152063 undo-send; 154025 omniscience; 152918 look; 150943 shiftrepair; 153051 show-your-work; 150815 omlx; 151135 wake-me-when; 149553 hermes-time-machine; 150840 kata; 152398 nachalo"
     }
    },
    {
     "key": "read2-004",
     "vars": {
      "batch": "read2-004",
      "plugins": "ref done-bell; ref homeassistant; 152243 morph; 152651 workroom; 153326 sharewise; 153557 rocketchat-team-gateway; 153792 smriti; 150644 hermes-canvas; 153148 hermes-multiplayer; 149148 undo-effects; 153316 hermes-lens; 152458 housemate"
     }
    },
    {
     "key": "read2-005",
     "vars": {
      "batch": "read2-005",
      "plugins": "ref done-bell; ref homeassistant; 153343 worktree-sandbox; 150293 procgen-studio; 152248 rainbowomma; 152408 rich-paste; 153531 hermes-reliability; 151252 proof-run; 149856 fledge; 151158 skill-layers; 152190 hermes-tuneup; 151270 hermes-line"
     }
    }
   ]
  },
  {
   "name": "read2-b",
   "mode": "research",
   "brief": "Your batch: {{batch}}. Score these Hermes plugins on the objective's scale: {{plugins}}\nEach is \"pull request number, catalog name\"; ref marks a reference plugin already in the catalog that every seat scores, so give it pr 0. Find each one's repository, pinned commit and folder in https://gist.githubusercontent.com/gtmcknight/594c47336546c8763e641b46cf9af4ec/raw/field.json (its \"refs\" and \"plugins\" lists, matched on pr and name).\n\nHow:\n1. Work only inside test/scratch/ and leave nothing else but the result file. Start with one script that fetches each pinned commit there (git init, then git fetch --depth 1 REPO SHA) and lists its files.\n2. For each plugin, read its pull request (https://github.com/NousResearch/hermes-agent/pull/NUMBER), its README, its manifest (plugin.yaml or plugin.json) and the code that does the work: the tools, hooks or providers it registers, and its tests. Do not install or run it.\n3. Score it on the scale. Give each plugin about the same time, about six minutes.\n\nWrite the result with a script (json.dump), and again after every three plugins, so it is whole if your time runs out:\n{\"batch\": \"{{batch}}\", \"plugins\": [{\"pr\": 0, \"name\": \"catalog name\", \"does\": \"what it does, one sentence\", \"useful\": 0, \"reliable\": 0, \"polish\": 0, \"creative\": 0, \"beyond\": 0, \"total\": 0, \"best\": \"its strongest point, one sentence\", \"worst\": \"its weakest point, one sentence\", \"standout\": false, \"blocked\": null}]}\nOne entry per plugin, in the order given. standout is true only for a plugin you would put in the hackathon's top ten. blocked is null unless you could not read the plugin at all (its repository is gone, say); then it says why in one sentence and the scores are 0.",
   "output": {
    "format": "json",
    "maxBytes": 32000
   },
   "merge": {
    "groupSize": 20,
    "brief": "One table row per plugin of every item in your group: batch, pr, name and each number the item gives. Copy the numbers as the items give them and say which items were blocked."
   },
   "items": [
    {
     "key": "read2-006",
     "vars": {
      "batch": "read2-006",
      "plugins": "ref done-bell; ref homeassistant; 153240 flowcanvas; 151411 salts-secrets; 152960 pwn-board; 153853 keryx; 153669 corkboard; 153851 foreman; 149183 clack; 152159 genui; 153144 signet; 151875 patchsmith"
     }
    },
    {
     "key": "read2-007",
     "vars": {
      "batch": "read2-007",
      "plugins": "ref done-bell; ref homeassistant; 152755 hermes-drawbridge; 151929 promise-keeper; 153903 stock-runway; 153205 receipt-printer; 151301 confidential-mode; 152343 melange; 151963 siemless; 153266 carnet; 151804 dress-rehearsal; 151024 night-shift"
     }
    },
    {
     "key": "read2-008",
     "vars": {
      "batch": "read2-008",
      "plugins": "ref done-bell; ref homeassistant; 151387 omp-sessions; 153871 barehand; 152441 baton; 152706 circuit-bench; 153529 saywhat; 151946 stitchslop; 151900 hermes-portals; 150353 fluent; 149514 lemma; 153687 locus-codegraph"
     }
    },
    {
     "key": "read2-009",
     "vars": {
      "batch": "read2-009",
      "plugins": "ref done-bell; ref homeassistant; 150596 ariadne; 153781 wings; 149750 neural-mesh; 149147 camel-guard; 153764 hype; 149823 samskara; 151810 agent-security-guard; 153766 hermes-ussd; 152768 workbench-link; 153647 riah-swipe"
     }
    },
    {
     "key": "read2-010",
     "vars": {
      "batch": "read2-010",
      "plugins": "ref done-bell; ref homeassistant; 153481 hermes-wake; 153826 googlehome; 153844 fine-print; 151704 guild; 153294 ci-red-to-green; 152481 argus; 151245 freeze; 154067 hermes-design-studio; 149159 understudy; 153978 imprint"
     }
    }
   ]
  },
  {
   "name": "read2-c",
   "mode": "research",
   "brief": "Your batch: {{batch}}. Score these Hermes plugins on the objective's scale: {{plugins}}\nEach is \"pull request number, catalog name\"; ref marks a reference plugin already in the catalog that every seat scores, so give it pr 0. Find each one's repository, pinned commit and folder in https://gist.githubusercontent.com/gtmcknight/594c47336546c8763e641b46cf9af4ec/raw/field.json (its \"refs\" and \"plugins\" lists, matched on pr and name).\n\nHow:\n1. Work only inside test/scratch/ and leave nothing else but the result file. Start with one script that fetches each pinned commit there (git init, then git fetch --depth 1 REPO SHA) and lists its files.\n2. For each plugin, read its pull request (https://github.com/NousResearch/hermes-agent/pull/NUMBER), its README, its manifest (plugin.yaml or plugin.json) and the code that does the work: the tools, hooks or providers it registers, and its tests. Do not install or run it.\n3. Score it on the scale. Give each plugin about the same time, about six minutes.\n\nWrite the result with a script (json.dump), and again after every three plugins, so it is whole if your time runs out:\n{\"batch\": \"{{batch}}\", \"plugins\": [{\"pr\": 0, \"name\": \"catalog name\", \"does\": \"what it does, one sentence\", \"useful\": 0, \"reliable\": 0, \"polish\": 0, \"creative\": 0, \"beyond\": 0, \"total\": 0, \"best\": \"its strongest point, one sentence\", \"worst\": \"its weakest point, one sentence\", \"standout\": false, \"blocked\": null}]}\nOne entry per plugin, in the order given. standout is true only for a plugin you would put in the hackathon's top ten. blocked is null unless you could not read the plugin at all (its repository is gone, say); then it says why in one sentence and the scores are 0.",
   "output": {
    "format": "json",
    "maxBytes": 32000
   },
   "merge": {
    "groupSize": 20,
    "brief": "One table row per plugin of every item in your group: batch, pr, name and each number the item gives. Copy the numbers as the items give them and say which items were blocked."
   },
   "items": [
    {
     "key": "read2-011",
     "vars": {
      "batch": "read2-011",
      "plugins": "ref done-bell; ref homeassistant; 153270 hermes-remote-hands; 150007 context-steward; 153501 hermes-vnc; 153602 rung; 152412 voice-unleashed; 153973 chalkline; 153024 home-3d-workshop; 154035 chronomancer; 153788 proveit-tests; 149968 lahja"
     }
    },
    {
     "key": "read2-012",
     "vars": {
      "batch": "read2-012",
      "plugins": "ref done-bell; ref homeassistant; 150810 tone-forge; 153832 hermes-screen; 152085 hermes-voice-lab; 153640 patient-research; 153809 living-spaces; 151941 data-lens; 154048 triage; 150800 hypnos; 153912 myfolks; 151964 takeover"
     }
    },
    {
     "key": "read2-013",
     "vars": {
      "batch": "read2-013",
      "plugins": "ref done-bell; ref homeassistant; 151450 rehearse; 152692 hermes-parallel; 149244 lineage; 153257 conductor; 149365 say-do-gate; 149915 obol; 149978 clearvoice; 153970 defuzz; 149668 skillcheck; 153900 annotary"
     }
    },
    {
     "key": "read2-014",
     "vars": {
      "batch": "read2-014",
      "plugins": "ref done-bell; ref homeassistant; 153113 standing-orders; 153854 session-cassettes; 149270 hermes-watchdog; 152214 passkey-gate; 150873 skill-court; 153828 dreaming; 150110 hermes-colab; 150563 hermes-roam; 152646 mcp-pin; 152312 flowlight"
     }
    },
    {
     "key": "read2-015",
     "vars": {
      "batch": "read2-015",
      "plugins": "ref done-bell; ref homeassistant; 153976 model-kombat; 149647 solverforge-planner; 152842 speckle; 149503 elcaro; 150453 workgraph; 152504 benchforge; 151371 smart-dictation; 153737 backfill; 150832 cacheguard; 153020 breadcrumbs"
     }
    }
   ]
  },
  {
   "name": "read2-d",
   "mode": "research",
   "brief": "Your batch: {{batch}}. Score these Hermes plugins on the objective's scale: {{plugins}}\nEach is \"pull request number, catalog name\"; ref marks a reference plugin already in the catalog that every seat scores, so give it pr 0. Find each one's repository, pinned commit and folder in https://gist.githubusercontent.com/gtmcknight/594c47336546c8763e641b46cf9af4ec/raw/field.json (its \"refs\" and \"plugins\" lists, matched on pr and name).\n\nHow:\n1. Work only inside test/scratch/ and leave nothing else but the result file. Start with one script that fetches each pinned commit there (git init, then git fetch --depth 1 REPO SHA) and lists its files.\n2. For each plugin, read its pull request (https://github.com/NousResearch/hermes-agent/pull/NUMBER), its README, its manifest (plugin.yaml or plugin.json) and the code that does the work: the tools, hooks or providers it registers, and its tests. Do not install or run it.\n3. Score it on the scale. Give each plugin about the same time, about six minutes.\n\nWrite the result with a script (json.dump), and again after every three plugins, so it is whole if your time runs out:\n{\"batch\": \"{{batch}}\", \"plugins\": [{\"pr\": 0, \"name\": \"catalog name\", \"does\": \"what it does, one sentence\", \"useful\": 0, \"reliable\": 0, \"polish\": 0, \"creative\": 0, \"beyond\": 0, \"total\": 0, \"best\": \"its strongest point, one sentence\", \"worst\": \"its weakest point, one sentence\", \"standout\": false, \"blocked\": null}]}\nOne entry per plugin, in the order given. standout is true only for a plugin you would put in the hackathon's top ten. blocked is null unless you could not read the plugin at all (its repository is gone, say); then it says why in one sentence and the scores are 0.",
   "output": {
    "format": "json",
    "maxBytes": 32000
   },
   "merge": {
    "groupSize": 20,
    "brief": "One table row per plugin of every item in your group: batch, pr, name and each number the item gives. Copy the numbers as the items give them and say which items were blocked."
   },
   "items": [
    {
     "key": "read2-016",
     "vars": {
      "batch": "read2-016",
      "plugins": "ref done-bell; ref homeassistant; 153302 lethe; 150346 construct; 152450 heats; 152047 attest; 154000 butler; 153867 whos-listening; 153606 habits; 153183 crash-recovery; 150696 privacy-xray; 150251 gemini-live"
     }
    },
    {
     "key": "read2-017",
     "vars": {
      "batch": "read2-017",
      "plugins": "ref done-bell; ref homeassistant; 153595 tinfoil-sandbox; 154078 harness-story; 149611 hermes-security; 152979 lydite; 149414 xray; 152596 coach; 154003 crowdcode; 153225 agent-pool; 153960 on-air; 151341 permission-canvas"
     }
    },
    {
     "key": "read2-018",
     "vars": {
      "batch": "read2-018",
      "plugins": "ref done-bell; ref homeassistant; 152533 vellum; 150208 slopcannon; 153357 twring; 152323 check-please; 153728 plugin-safehouse; 152876 oneiros; 153804 skilluminati; 152899 project-command-center; 153961 proving-ground; 153911 wrenchboard"
     }
    },
    {
     "key": "read2-019",
     "vars": {
      "batch": "read2-019",
      "plugins": "ref done-bell; ref homeassistant; 153861 summon; 150556 hermes-ui-cards; 153724 roomsmith; 149202 3ds-platform; 151887 cmi; 153491 atomicmail; 153955 shadow; 151281 tironian; 152869 screen-overlay; 152914 culprit"
     }
    },
    {
     "key": "read2-020",
     "vars": {
      "batch": "read2-020",
      "plugins": "ref done-bell; ref homeassistant; 151543 seedguard; 153938 syrinx; 152207 codecoach; 153796 thumbs-fix; 152258 kumi; 151376 joust; 153524 shadow-army; 150678 precedent-log; 151098 coffee-vram; 151604 plur1bus"
     }
    }
   ]
  },
  {
   "name": "read2-e",
   "mode": "research",
   "brief": "Your batch: {{batch}}. Score these Hermes plugins on the objective's scale: {{plugins}}\nEach is \"pull request number, catalog name\"; ref marks a reference plugin already in the catalog that every seat scores, so give it pr 0. Find each one's repository, pinned commit and folder in https://gist.githubusercontent.com/gtmcknight/594c47336546c8763e641b46cf9af4ec/raw/field.json (its \"refs\" and \"plugins\" lists, matched on pr and name).\n\nHow:\n1. Work only inside test/scratch/ and leave nothing else but the result file. Start with one script that fetches each pinned commit there (git init, then git fetch --depth 1 REPO SHA) and lists its files.\n2. For each plugin, read its pull request (https://github.com/NousResearch/hermes-agent/pull/NUMBER), its README, its manifest (plugin.yaml or plugin.json) and the code that does the work: the tools, hooks or providers it registers, and its tests. Do not install or run it.\n3. Score it on the scale. Give each plugin about the same time, about six minutes.\n\nWrite the result with a script (json.dump), and again after every three plugins, so it is whole if your time runs out:\n{\"batch\": \"{{batch}}\", \"plugins\": [{\"pr\": 0, \"name\": \"catalog name\", \"does\": \"what it does, one sentence\", \"useful\": 0, \"reliable\": 0, \"polish\": 0, \"creative\": 0, \"beyond\": 0, \"total\": 0, \"best\": \"its strongest point, one sentence\", \"worst\": \"its weakest point, one sentence\", \"standout\": false, \"blocked\": null}]}\nOne entry per plugin, in the order given. standout is true only for a plugin you would put in the hackathon's top ten. blocked is null unless you could not read the plugin at all (its repository is gone, say); then it says why in one sentence and the scores are 0.",
   "output": {
    "format": "json",
    "maxBytes": 32000
   },
   "merge": {
    "groupSize": 20,
    "brief": "One table row per plugin of every item in your group: batch, pr, name and each number the item gives. Copy the numbers as the items give them and say which items were blocked."
   },
   "items": [
    {
     "key": "read2-021",
     "vars": {
      "batch": "read2-021",
      "plugins": "ref done-bell; ref homeassistant; 153876 docket; 150261 excubitor; 149757 epoch; 151448 muster; 149426 pinpoint; 150160 helm; 153090 retouch; 151546 wearos; 152691 grimoire; 151968 tickover"
     }
    },
    {
     "key": "read2-022",
     "vars": {
      "batch": "read2-022",
      "plugins": "ref done-bell; ref homeassistant; 152421 sheets; 152256 nvidia-switchyard; 149685 hermes-teleoperator; 149272 no-cap; 153821 learnloop; 153071 cron-budget; 151397 submission-desk; 152871 hermes-maps; 149220 hermes-notify; 152908 contract-necromancer"
     }
    },
    {
     "key": "read2-023",
     "vars": {
      "batch": "read2-023",
      "plugins": "ref done-bell; ref homeassistant; 153363 phone-senses; 153872 local-scout; 153904 inset; 153649 sightline; 152582 clotho; 151227 perf-lab; 151674 numogram; 153551 workspace; 149242 agent-si; 154028 hail-hermes"
     }
    },
    {
     "key": "read2-024",
     "vars": {
      "batch": "read2-024",
      "plugins": "ref done-bell; ref homeassistant; 152976 agentline; 152309 no-manual; 153693 offgrid; 153714 tenure; 152619 proofly; 153822 lights-out; 150913 egress-guard; 149738 trust-ladder; 152475 hallway-test; 150825 phone-autopilot"
     }
    }
   ]
  }
 ],
 "read": [
  "read2-a/read2-001",
  "read2-a/read2-002",
  "read2-a/read2-003",
  "read2-a/read2-004",
  "read2-a/read2-005",
  "read2-b/read2-006",
  "read2-b/read2-007",
  "read2-b/read2-008",
  "read2-b/read2-009",
  "read2-b/read2-010",
  "read2-c/read2-011",
  "read2-c/read2-012",
  "read2-c/read2-013",
  "read2-c/read2-014",
  "read2-c/read2-015",
  "read2-d/read2-016",
  "read2-d/read2-017",
  "read2-d/read2-018",
  "read2-d/read2-019",
  "read2-d/read2-020",
  "read2-e/read2-021",
  "read2-e/read2-022",
  "read2-e/read2-023",
  "read2-e/read2-024",
  "read1/merge-05",
  "read1/merge-06"
 ],
 "cancel": [],
 "wake": {
  "batches": [
   "read2-a",
   "read2-b",
   "read2-c",
   "read2-d",
   "read2-e"
  ],
  "afterMinutes": 40
 },
 "finish": false
}