You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@burr.apache.org by GitBox <gi...@apache.org> on 2026/10/17 15:16:00 UTC

[GH] (burr/feat/coding-agent-harness): Workflow run "Build Burr" failed!

The GitHub Actions job "Build Burr" on burr.git/feat/coding-agent-harness has failed.
Run started by GitHub user haigou-web (triggered by elijahbenizzy).

Head commit for run:
c14bece9f9a52218b902f41010c134ae21e5bab3 / haigou-web <20...@users.noreply.github.com>
fix(coding-agent): handle non-string tool arguments and case-insensitive paths

Two defects in the new example, both found in review:

- `json.loads(None)` raises TypeError, which `except JSONDecodeError` did not
  catch. A backend that sends `arguments=None` (some OpenAI-compatible
  providers do when streaming fails to assemble the call) would therefore
  abort the run -- exactly the failure this block was added to prevent.
  Non-string arguments are now rejected with a clear message.

- `_resolve` compared a realpath-derived path against WORKSPACE with a plain
  string prefix test. On case-insensitive filesystems the two can differ in
  case, so a legitimate path could be rejected as an escape. The comparison is
  now normcased, and `rstrip` handles the drive-root case where
  `root + os.sep` would double the separator.

Also corrects the transition-order comment: the `next_tool=None` branch must
come *after* the `done=True` branch (a finished run has no tool calls, so both
conditions hold and the first match in insertion order wins), not merely
"before the tool transitions".

Tests: the existing malformed-arguments test hand-wrote the `error` field, so
the parsing path had no coverage at all. Added tests driving OpenAIClient
through a stand-in `openai` module (None + invalid JSON), plus workspace
confinement edges (root accepted, sibling sharing the prefix rejected, case
differences tolerated). 16 passed.

Report URL: https://github.com/apache/burr/actions/runs/37412579415

With regards,
GitHub Actions via GitBox