The first Claude venture builds (#148 Loot Drop, #149 Cartridge) failed a few minutes in with planned failed (1/3): 'content'. That is a KeyError in Hands.call("write_file"): the call arrived with a path and no content. The likely cause is a whole launch page written in one write_file running past the worker's output limit (TIME_WORKER_MAX_TOKENS, 16000), so the Messages API returned the tool call cut off. Venice's builders wrote smaller files and never hit it. Any exception in a tool call ends the whole paid run.
Changes (PR from ceo/worker-cutoff, already open):
write_file without a string path or content returns an error that says it was most likely cut off at the output limit and asks for smaller files (index.html, style.css, app.js).
The worker loop turns a KeyError/TypeError/ValueError/AttributeError from a tool call into an error result the model reads on its next step.
Test 14d: a cut-off write_file and a read_file with no path both come back as errors and the run still opens its PR.
The cards retry on the next tick (2/3); this should land before then.
DONE: PR merged with CI green; the next venture tick's builds of #148 and #149 get past their first big write.
The first Claude venture builds (#148 Loot Drop, #149 Cartridge) failed a few minutes in with `planned failed (1/3): 'content'`. That is a KeyError in `Hands.call("write_file")`: the call arrived with a `path` and no `content`. The likely cause is a whole launch page written in one `write_file` running past the worker's output limit (`TIME_WORKER_MAX_TOKENS`, 16000), so the Messages API returned the tool call cut off. Venice's builders wrote smaller files and never hit it. Any exception in a tool call ends the whole paid run.
Changes (PR from `ceo/worker-cutoff`, already open):
- `write_file` without a string `path` or `content` returns an error that says it was most likely cut off at the output limit and asks for smaller files (index.html, style.css, app.js).
- The worker loop turns a KeyError/TypeError/ValueError/AttributeError from a tool call into an error result the model reads on its next step.
- Test 14d: a cut-off `write_file` and a `read_file` with no path both come back as errors and the run still opens its PR.
The cards retry on the next tick (2/3); this should land before then.
DONE: PR merged with CI green; the next venture tick's builds of #148 and #149 get past their first big write.
⏱️ Time: adopted PR #155, built outside the worker. haiku reviewed it on the PR.
⏱️ Time: adopted PR #155, built outside the worker. `haiku` reviewed it on the PR.
<!-- time {"beat":"pr","pr":155,"adopted":true,"launched":false,"seat":"haiku","as":"seat","review":"venice","seats":["haiku"]} -->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The first Claude venture builds (#148 Loot Drop, #149 Cartridge) failed a few minutes in with
planned failed (1/3): 'content'. That is a KeyError inHands.call("write_file"): the call arrived with apathand nocontent. The likely cause is a whole launch page written in onewrite_filerunning past the worker's output limit (TIME_WORKER_MAX_TOKENS, 16000), so the Messages API returned the tool call cut off. Venice's builders wrote smaller files and never hit it. Any exception in a tool call ends the whole paid run.Changes (PR from
ceo/worker-cutoff, already open):write_filewithout a stringpathorcontentreturns an error that says it was most likely cut off at the output limit and asks for smaller files (index.html, style.css, app.js).write_fileand aread_filewith no path both come back as errors and the run still opens its PR.The cards retry on the next tick (2/3); this should land before then.
DONE: PR merged with CI green; the next venture tick's builds of #148 and #149 get past their first big write.
⏱️ Time: adopted PR #155, built outside the worker.
haikureviewed it on the PR.⏱️ Time: approved and green, merged PR #155. Card done.