Proxy: untangle it in place, starting with runAgentLoop
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
- Domain
- ai-infra-agents
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
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, thenwriteFileWithV3,callLLMOnceRestating,
writeFileTool,editFileTool,structuralEditTooland 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
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from inferstep/ATLAS
-
Bootstrap: the last two steps run as the user who owns the installMay be free again @assassinationss claimed this 19 days ago, and no pull request is open. Openarea/install reliability
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
inferstep/ATLAS#412 · 4 comments ·
Maintainers usually reply within 1 day
-
area/cli
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
area/cli area/lens status/ready
Difficulty 2/5 Half a day Newbie friendliness 66/100
Maintainers usually reply within 1 day
-
area/ci status/ready
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
inferstep/ATLAS#245 · 4 comments ·
Maintainers usually reply within 1 day
-
area/proxy reliability
Difficulty 4/5 3-5 days Newbie friendliness 56/100
Maintainers usually reply within 1 day
Similar issues
-
test-failure
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
teramoby/speedle-plus#129 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
btclib-org/btclib-ecc#404 ·
-
verify: just verify runs tools/verify_agents_imports.py (the recipe line was only read, not run)Openneeds-verification
Difficulty 1/5 Under an hour Newbie friendliness 76/100
EchoTools/nevr-runtime#1322 ·
Maintainers usually reply within 1 day
-
changelog investigate
Difficulty 1/5 Under an hour Newbie friendliness 78/100
ramnes/notion-sdk-py#430 ·
-
bug good first issue
Difficulty 1/5 Under an hour Newbie friendliness 91/100
hyeonjoong/debussy#56 ·