Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Python remote agent example reports tool calls under `tool_trace`, which the decoder ignores

Closed Beginner friendly
#16 0 comments 0 reactions 0 assignees View on GitHub

@0x5t4l1n is already working on this.

Since Oct 11, 2026.

  • #17 by @0x5t4l1n — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
86/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
python, scala
Domain
api, backend

Research direction

Start with the two tool_trace occurrences in examples/remote_agent_python/server.py and compare them with the decoder in Domain.scala and the README wire format. Verify the response field is decoded as tool interactions; the issue is done when both example occurrences use tool_interactions.

Written by the indexing model from the issue text.

Description

bug

examples/remote_agent_python/server.py returns tool calls under the key tool_trace (line 92, and in the comment on line 76):

"action": {
    "type": "send",
    "message": {...},
    "tool_trace": [],
}

The response decoder reads tool_interactions as an optional field (Domain.scala:139):

toolInteractions <- c.downField("tool_interactions").as[Option[List[ToolInteraction]]]

The README's wire format also uses tool_interactions.

Because the field is optional and circe ignores unknown keys, a server built from this example decodes without error but reports no tool calls. A criterion with require_tool_call: true would then fail, and nothing would point to the mismatched key. The example's list is empty, so the example itself works. The problem shows up once someone adds real tools to it.

Suggested fix: rename the key to tool_interactions in both places in server.py. Optionally, have the decoder warn on an unknown tool_trace key, or reject it.

Found by reading the code at 6368051. I haven't run it end to end.

Dominant language
Scala
Stars
0
Forks
6
Avg merge
16d 12h
Merged PRs (30d)
1

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from salesforce/evalon

All issues in salesforce/evalon

Similar issues

More Scala issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.