| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
`ReactTranslationAgent.get_project_tree` (RepoTransAgent/run.py:246)
shells out to `tree`, but docker/Dockerfile never installs it.
The failure is silent. `subprocess.run(["tree", ...])` raises
FileNotFoundError before returning, so the `find` fallback below the
`returncode == 0` check is unreachable, and the outer handler turns it
into a string that is fed to the model as the observation:
Error getting project structure: [Errno 2] No such file or directory: 'tree'
This appears in every turn of every run. It matters more than a log line:
get_project_tree is the only channel telling the agent which files
currently exist, and slide_window_conversation (generator.py:72) keeps
only the previous turn, so that listing is the agent's working record of
its own progress.
Confirmed across two full 20-iteration runs (C -> Python, Python -> TS);
`grep -c tree docker/Dockerfile` returns 0 on main.
This changes what the agent sees, and therefore scores.
| Back | FazBrowse Home | New Git URL |
Problem
ReactTranslationAgent.get_project_tree (RepoTransAgent/run.py:246) shells out to tree:
but docker/Dockerfile never installs it — grep -c tree docker/Dockerfile returns 0 on main.
The failure is silent. subprocess.run raises FileNotFoundError before returning, so the find fallback under the returncode == 0 check is unreachable, and the outer handler converts it to a string that is passed to the model as its observation:
Evidence
A 20-iteration C → Python run (antirez_smaz) on an image built from your docker/Dockerfile's Python 3.11 stanza — same apt-get install list, Java/.NET/Go/Rust/Node layers omitted as that task never touches them — produces the error string in all 20 turns, with no turn receiving a file listing.
As a control, the same agent run against an image that does install tree receives a real listing in all 20 turns. So the behaviour tracks the missing package and nothing else.
Why it matters beyond a log line
get_project_tree is the only channel telling the agent which files currently exist, and slide_window_conversation (generator.py:72) retains only the previous turn — so that listing is effectively the agent's record of its own progress. With it replaced by an error string, the agent re-derives project state from scratch each turn.
Fix
Add tree to the existing apt-get install list.
This changes what the agent sees, and therefore scores. Noting it explicitly for the same reason as #5.