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

Proxy: untangle it in place, starting with runAgentLoop

Open
#266 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Refactor
Clarity
Mostly clear
Activity status
Active
Tech stack
python

Research direction

Start with runAgentLoop, then inspect the other named functions over 300 lines and the code-health baseline; the issue does not name files. Run the test suites, e2e tests and replay tests as you work. Done means no proxy function exceeds 300 lines and all tests remain unchanged after each step.

Written by the indexing model from the issue text.

Description

area/proxy

What needs doing

Untangle the proxy where it stands, before any code moves
(#312 is the safety net):

  • split runAgentLoop (about 2,100 lines) into named steps with one
    job each, then writeFileWithV3, callLLMOnceRestating,
    writeFileTool, editFileTool, structuralEditTool and the other
    functions over 300 lines;
  • remove the references that point the wrong way between concerns;
  • split the shared request context into the few fields every concern
    needs and a part per concern, and put its locks behind methods;
  • remove comments that tell history. History is in git.

Behaviour stays the same.

Why

A 2,000-line function can't be reviewed or reasoned about as a whole,
and new fixes land in it because there is nowhere else to put them.

Done when

  • No proxy function is over 300 lines, and the code-health
    baseline shows it.
  • All test suites, the e2e tests and the replay tests are
    unchanged after each step.
Dominant language
Python
Stars
2.1k
Forks
197
Avg merge
9h 42m
Merged PRs (30d)
325

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 inferstep/ATLAS

All issues in inferstep/ATLAS

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.