You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
python: while a build holds the lock, every query waits 10 s and prints a refresh banner naming no file #1553
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.
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).
Activity
swapnilpaliwal-sd commentedon Sep 28, 2026
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).