{
 "model": "claude-haiku-5-5",
 "category": "stress-agents-vision-cli",
 "scenarios": [
  {
   "id": "h1-same-project-4x",
   "status": "pass",
   "product_defects": [],
   "task_outcome": "Four concurrent drivers on one project and one home all exited 0, saving four distinct valid sessions. JSDoc, test/extra.test.js and docs/USAGE.md all exist. Every output snapshot sha256 matches its name and the final files match the last versions; writes.jsonl has 4 clean lines. I ran npm test: the 5 seed tests fail because the seed bugs are unfixed (no driver was asked to fix them), and the 8 tests in extra.test.js passed when d2 ran them.",
   "notes": "No lost writes or cross-talk; only d1 edited inventory.js, with baseline 748 bytes. d4's Bash settled failed because npm test really exited 1, and its summary reports that correctly. Learned patterns checked against the commands: npm test runs 4, successes 0, because three runs were piped and one failed; node --test test/extra.test.js runs 1, successes 0, piped to tail. Cost recompute matches exactly at $0.011901235. No 429 or 529."
  },
  {
   "id": "h2-burst-12",
   "status": "pass",
   "product_defects": [],
   "task_outcome": "12 of 12 completed in 13 s on one home, in 12 separate project hashes. Each p*/notes.txt has 3 lines and all 12 session JSONs are valid with tool pairs complete.",
   "notes": "No 429, 529 or overload in any log, so retry handling was not exercised. Driver durations ran 4.2-7.4 s. p12 reread and fixed its own muddled fact, which was the model's choice. Cost recompute matches at $0.010549295. Leftovers empty."
  },
  {
   "id": "h3-same-home-8-medium",
   "status": "pass",
   "product_defects": [],
   "task_outcome": "8 of 8 completed. I ran node --test in m1 to m8 and all passed (13, 11, 7, 21, 23, 19, 14 and 27 tests). There are 8 valid sessions in 8 project hashes.",
   "notes": "No cross-talk: no log or saved context mentions another mN path. Failed states were real non-zero exits: m2's cat of a missing package.json, and m4's first failing test, which the model then fixed. Each learned/patterns.json matches its commands: bare node --test passing counts a success, a run piped to tail counts a run only, and m4 shows runs 2, successes 0. m5's for-loop over TZ was correctly not recorded. Cost recompute matches at $0.033057345."
  },
  {
   "id": "h4-resume-race",
   "status": "pass",
   "product_defects": [],
   "task_outcome": "r2 won the session lock and added its comment to add(). r1 was refused at startup with exit 1 and the message 'Session f2db25d5... is open in another G-Code process (pid 95908). Close it there first, or start a new chat.' The saved session is consistent, with 4 messages and 4 requests, and nothing was clobbered.",
   "notes": "By-design outcome confirmed. The loser never reached the model or touched the project. inventory.js holds only the winner's edit, with baseline 748 bytes preserved. r1 and r2 .err files are empty. usageTotals includes the original and resumed turns, and cost recompute matches at $0.001268595."
  },
  {
   "id": "h5-rapid-messages",
   "status": "pass",
   "product_defects": [],
   "task_outcome": "All five messages were sent together and ran in order, giving 5 turn-completes and 10 saved messages with none lost. a.txt is '1!', b.txt is '2', c.txt is '3' (checked byte for byte). The final listing is correct.",
   "notes": "Session-controls frame arrived as expected. Outputs show a.txt with two versions and an absent baseline. Cache read ratio is 0.98 and cost recompute matches at $0.002548335."
  },
  {
   "id": "e1-subagents-audit",
   "status": "pass",
   "product_defects": [],
   "task_outcome": "Three explore sub-agents ran and returned their results, and the parent spot-checked them and wrote REVIEW.md (18 KB, P1-P3 list). A diff against the seed shows REVIEW.md is the only change. No dependencies were installed.",
   "notes": "Usage summed correctly: 32 requests = parent 8 + children 4 + 11 + 9, per each [Sub-agent run] line. longPrompt shows 4 requests over the 100K threshold, and cost recompute including those matches at $0.33286548; most of it is 215K output tokens, of which 172K is reasoning. One explore agent tried Bash and got 'Not run: unknown tool \"Bash\"', listed with its reason under Failed calls, which is correct. toolHistory output is capped at 12,000 characters, but the wire results are complete (15,023 and 16,847 characters). The spot-checked generation-count finding holds up against the source."
  },
  {
   "id": "e2-subagents-write",
   "status": "pass",
   "product_defects": [],
   "task_outcome": "Two general sub-agents wrote strings.js and dates.js with tests with no conflicting writes, and the parent wrote index.js. I ran npm test: 108 of 108 pass.",
   "notes": "Bypass was inherited, with 0 approvals. Changes data is right for all 7 files: current sha equals last version and baselines are absent. strings.test.js has 2 versions from the sub-agent's FileEdit, and package.json is attributed to Bash with 2 versions. Requests: 19 = parent 6 + children 4 + 9. Learned npm test shows runs 1, successes 0 (piped to tail), which is correct. Sub-agents' own node --test runs are not in learned/patterns.json; only the parent's Bash is recorded. No limit was hit, so the round-11 sub-agent limits were not reached. The dates agent attributed the appearing strings.js to 'another process or person', and the parent corrected that."
  },
  {
   "id": "e3-workflow",
   "status": "pass",
   "product_defects": [],
   "task_outcome": "The project's workflows.enabled was ignored. A clear system frame says only ~/.gcode/settings.json can turn it on. ToolSearch returned Workflow as available:false with the same reason, and the model explained this, then reported that no tests exist and offered options.",
   "notes": "The request carries 31 tools, with no Workflow, mcp__* or DeferredToolCall entry, and the Skill catalog holds the 6 bundled skills. The model made no attempt on ~/.gcode/settings.json, so D17-7's Bash refusal was not exercised here. It stopped to ask rather than doing the JSDoc work directly, which the prompt allowed ('otherwise explain why'). Cost recompute matches at $0.00123188."
  },
  {
   "id": "f1-screenshots",
   "status": "pass",
   "product_defects": [],
   "task_outcome": "FileRead returned image blocks and NOTES.md cites real content. I checked it against downscaled and cropped copies of the screenshots: the mobile calendar clipped at 'Harves…', the empty slot in the products grid's last row, the repeated lot art, the wrapped Gesha process value and the same silhouette on the people cards. All match.",
   "notes": "31 image reads with 11 removed across 6 'Removed N images' frames (3+2+2+2+1+1), leaving exactly 20 in the saved context, so the 20-image rule worked and pairing stayed intact. Removed images became clear placeholder notes and the tool result warned ahead of each drop. 'Shown to you at' sizes match the arithmetic for the 2576 px edge limit. Each removal rewrites history, so the cache ratio falls to 0.71; cost recompute matches at $0.057353725. Model behaviour: it cropped into /tmp/crops, a folder already holding files from earlier runs, and hit sips offset quirks. It also claimed it 'never saw' m-cal, though by the count it was in the request when first read. That is a misstatement by the model; G-Code behaved correctly."
  },
  {
   "id": "f2-big-image",
   "status": "pass",
   "product_defects": [],
   "task_outcome": "FileRead refused the 48,018,658-byte PNG with 'Image is 45.8 MiB, over the 5 MiB inline limit. Resize or compress the image.' There was no crash and no API 400. The model got 4000x4000 from file and sips, made a 1024 px preview, viewed it and correctly described it as noise.",
   "notes": "The oversize result settled as failed (a read that ran and returned an error), and the size in the message is correct. The downscale was the model's choice via sips, written to .gcode/previews, and it was not listed in Changes. The preview went through as an image block of about 3.3 MB base64. Cost recompute matches at $0.002018565."
  },
  {
   "id": "f3-image-to-html",
   "status": "pass",
   "product_defects": [],
   "task_outcome": "The model recreated the hero in index.html and styles.css. BrowserPlan, BrowserPlanCheck and 3 BrowserVerify runs all passed 6 of 6 checks. I viewed the final screenshot: it is a close layout and colour match with fallback fonts, and the differences the model listed are accurate.",
   "notes": "The h1 text check passed first time against 'Grown in<br>the mist,<br>shipped green.' observed as 'Grown in the mist, shipped green.', and the model did not rewrite the page for any check; its later edits were visual only. The Google Fonts request is listed in blockedRequests with the blockedNote, and errors is []. A subfolder entry, a bad server.path and a 404 URL were not exercised, since the entry was root index.html. Changes hold all versions with matching shas. The one failed call was a real Bash exit 1 (no PIL). No browser-verify skill trigger fired because the message does not match. Cost recompute matches at $0.039788555."
  },
  {
   "id": "i1-headless-p",
   "status": "pass",
   "product_defects": [],
   "task_outcome": "Headless -p exited 0 with a clean JSON result and stderr only the provider line. fizzbuzz.js exists and I ran it: 30 correct lines. The saved session is valid and mode 600.",
   "notes": "ANTHROPIC_API_KEY was unset by the runner, so the saved-key fallback worked. My key-shape scan of this run's files, including headless.json and the session (never settings.json), found nothing. Port free after exit, leftovers empty. Cost recompute matches at $0.00072731. No learned entry, since node fizzbuzz.js is not a check."
  },
  {
   "id": "i2-headless-bg-left",
   "status": "pass",
   "product_defects": [],
   "task_outcome": "The server started in the background (bg-af749236), curl returned 200 'ok', and the run exited 0. After exit the port was free (afterExit.port free, and my own lsof check found no listener) and no process was left.",
   "notes": "The tool result told the model about one-shot cleanup and its final answer reported it accurately. No permission denials occurred. Cost recompute matches at $0.001033965."
  }
 ]
}