chore(triage-skill): Increase num_turns and add script to post summary#19456
chore(triage-skill): Increase num_turns and add script to post summary#19456
num_turns and add script to post summary#19456Conversation
size-limit report 📦
|
node-overhead report 🧳Note: This is a synthetic benchmark with a minimal express app and does not necessarily reflect the real-world performance impact in an application.
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
| if obj.get("type") == "result": | ||
| results.append(obj) | ||
| except json.JSONDecodeError: | ||
| continue |
There was a problem hiding this comment.
Unhandled AttributeError if JSON value is non-dict
Low Severity
The try/except blocks around json.loads only catch json.JSONDecodeError, but if a line (or the whole content) parses as a valid non-dict JSON value (e.g., an array, string, or number), the subsequent obj.get("type") call raises an AttributeError that propagates unhandled and crashes the script. The sibling scripts in this directory (parse_gh_issues.py, detect_prompt_injection.py) guard against this with isinstance(data, dict) checks before calling .get().
Additional Locations (1)
| "", | ||
| "| Metric | Value |", | ||
| "|--------|-------|", | ||
| f"| Duration | {duration_ms if duration_ms is not None else 'n/a'} ms |", |
There was a problem hiding this comment.
Duration displays "n/a ms" when value is missing
Low Severity
The ms unit suffix is unconditionally appended to the duration value, so when duration_ms is None, the table cell renders as n/a ms instead of just n/a. Contrast this with the cost_str formatting on the line above, which correctly includes the USD unit only when a numeric value is present.


With the new addition of security measures (e.g. stopping immediately with non-zero exit code), the action just stops when reaching 20 turns. Before, the action ran for around 35 turns, so the limit is increased to 40.
Additionally (because strictly stopping execution and we no longer get a Job Summary), a script was added to take the script output and post it.
So far, we no longer have tool call errors, just non-zero exit codes because of too many turns. Now, we can at least see the summary from the
claude-execution-output.json(this is saved as anoutputby the claude action).Previous
exit code 1logs:Closes #19457 (added automatically)