iii-harness-53-bugs.md

53 things from ~4 months of running an agent harness in production.

iii, the engine that powers the harness, is really cool too: https://iii.dev/docs/install

  • crash mid tool call left a dangling call with no result that poisoned every later request workers#507 workers#630
  • resumed turn raced the worker booting and called a function that wasn't registered yet workers#507
  • no durable queue for turns so wedged ones sat in running forever workers#464
  • cut stream parsed as null args and got reported as a successful empty turn workers#878
  • seven providers treating any connection close as done workers#878
  • cached tokens double billed on six providers workers#740
  • file reads counted twice so we saw phantom context overflow workers#552
  • retry budget of 1 killing turns one step from done workers#552
  • compaction returning an empty context workers#552
  • child agent death silent by construction workers#552
  • lock order deadlock between parent retasking a child and the child finishing workers#973
  • ci only dodged the deadlock by scheduling luck workers#973
  • stop button clobbered by a stale write from the step it was stopping workers#313
  • one 18mb directory listing wedging the whole agent runtime through restarts workers#1175
  • poison message reflushed on every reconnect workers#1175
  • queue faithfully redelivering the poison workers#1175
  • wake notifications cutting json at 600 chars, mid array workers#1167
  • 10mb session log replayed synchronously under a mutex workers#1119
  • approval hook registered 171 times because the instance count lagged workers#797
  • resuming past only the first duplicate hook, held forever workers#797
  • failure cleanup timing out and logging skipped, same as a no op workers#1108
  • a span emitted per token plus a persisted state write per event workers#205
  • 41% more tokens, 95% of it repeated context cache reads workers#1123
  • large tool calls ending with incomplete args, then re emitted workers#1123
  • registrations lost when the runtime reloaded a different worker workers#666
  • agent uninstallable because its dependency graph had 65 edges and the limit was 64 iii#2006
  • websocket reset loop every 2.8 seconds
  • stop command vanished because registrations weren't replayed after reconnect
  • startup sweep rerunning the same doomed call after every boot
  • parent parked forever waiting on a child that died out of band
  • two parallel approvals both waking one turn, shell command executed twice
  • provider stream stalled mid delta, keepalive pings counted as activity
  • 120s idle guard that never fired, 300s hard kill with an opaque error
  • no read timeout on upstream clients
  • agent restarting the very process hosting its own turn
  • "confirm before restarting" in the prompt, not a guarantee
  • generated code polling state 140 times a second, 29.7k spans in one trace
  • trace cache eviction went quadratic under a lock every thread needed, kill -9
  • null serialized as "no result", sdk saw undefined, infinite loop
  • 16 compactions, then a 5m char hook result, "compaction succeeded"
  • five sub agents hitting the turn limit, all reporting completed
  • two ids that differed by one character colliding, second message silently dropped
  • malformed deny rule failing open
  • unknown model fell to an 8k window, sub agents had about 6k usable
  • first turn system prompt 14 tokens different, second cache write every session
  • 79% of tool schema tokens were prose
  • any result under 2000 chars immortal in context, 63k to 76k token floor
  • no completion trigger so agents used sleep 60 as a wait primitive
  • 48% of root turns were status polls
  • sub agents not inheriting reasoning effort, 32 min to 18 min, $1.16 to $0.50, same score
  • two components each persisting a registration token, desync no restart could fix
  • two runtimes on one port, function ownership flapping, oom sigkill
  • 761mb of traces at 20mb a minute in a quiet session

the harness is open source: iii-hq/workers/harness.

添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论