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

A refusal by a guard counts as a failure, and an edit is generated by V3 before its syntax is checked

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

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
python

Research direction

Start by resolving the dependency on #326, then trace the guard refusal counters, the four edit tools, and the syntax gate; the issue does not name files or tests. Add tests showing that one failure plus two different refusals continue the session and that syntax errors are rejected before V3 runs. Done means the ending reason is also shown in the TUI and counted by the scorers.

Written by the indexing model from the issue text.

Description

area/proxy area/v3 reliability

What happens

  • When one of ATLAS's own guards refuses a tool call (an existing
    file, an argument name, a permission, the command policy), the
    refusal is added to the same counters as a real failure. One real
    failure plus two different refusals stop the session, and the
    ending message says the same call was re-sent unchanged, which is
    not true.
  • The four edit tools call V3 first and run the syntax gate after
    it. When the gate refuses, the V3 work is thrown away. write_file
    already checks the syntax first.

What needs doing

  • A separate counter for refusals, with its own limits and its own
    ending reason. An identical re-send still stops early. A reply that
    cannot be parsed gets its own streak.
  • The syntax check runs before V3 for edits, as it does for whole
    files.

Done when

  • A session with one failure and two different refusals goes on.
  • An edit with a syntax error is refused before V3 runs.
  • Tests for both fail on the old behaviour.
  • The new ending reason is shown in the TUI and counted by the
    scorers.

Blocked by: #326

Dominant language
Python
Stars
2.1k
Forks
197
Avg merge
14h 1m
Merged PRs (30d)
201

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.