Skip to content

python: while a build holds the lock, every query waits 10 s and prints a refresh banner naming no file #1553

Closed

Description

@swapnilpaliwal-sd

While a build of the repository holds the build lock, every query waits the full freshness window and then prints a refresh banner that names no file, even when nothing was edited. The graph is not behind the files, so the line is both empty and false, and the query paid about 10 seconds for it. Measured on 0.1.3 at 0df257c; the MCP tool axiomcode_impact prints the same line.

Reproduction

Any indexed repository with a clean tree (here a two-file Flask app with render_helper in site/views.py). Hold the lock the way axiomcode-build does, as a second axiomcode index or the background refresher would, and query:

$ axiomcode index
$ python3 <scripts>/ax_fresh.py status .
fresh
$ ( exec 9>>.axiomcode/build.lock; python3 <scripts>/ax_fresh.py lock 9 && sleep 15 ) &
$ python3 <scripts>/ax_fresh.py status .
building: graph refresh: rebuilding -- this answer is from the previous graph, which predates edits to ; read those files for their current text
$ time axiomcode impact render_helper
graph refresh: rebuilding -- this answer is from the previous graph, which predates edits to ; read those files for their current text
...
real    0m10.550s

Control: with one source file edited and the same lock held, the banner names it (... which predates edits to site/views.py). With the lock free and no edit, there is no banner and no wait.

Root cause

plugins/axiomcode/skills/axiomcode/scripts/ax_fresh.py:240 returns state='building' with no changed/added/removed lists when the file table shows no change but a build holds the lock. wait() (:325-335) keeps polling because building is not fresh, so the query waits out AXIOMCODE_FRESH_WAIT (10 s). note() (:369-376) then prints the banner for any building state, joining the empty list into predates edits to ;.

Expected: when no file differs from the file table, the answer is current: no wait and no banner naming files.

Activity

  1. added
    bugSomething isn't working
    skillAgent-facing query skill (skills/axiomcode)
    mcpthe MCP layer of the plugin
    on Sep 28, 2026
  2. swapnilpaliwal-sd commented on Sep 28, 2026

    @swapnilpaliwal-sd
    ContributorAuthor

    Fixed by #1614 (merged into 0.1.4); rechecked on the current 0.1.4 build: a query while a build holds the lock answers in 0.3 s with no empty banner (was 10.5 s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingmcpthe MCP layer of the pluginpythonPythonskillAgent-facing query skill (skills/axiomcode)

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions