Repository navigation
Graph provenance: diff a no-commit graph against its file table; a later engine is newer - #1830
Merged
swapnilpaliwal-sd merged 1 commit intoSep 30, 2026
Conversation
…ter engine is newer A graph built where there was no git (a mirror synced without .git) stamps no commit and no tree. `changed` and the edit hooks then read the working tree against HEAD, so every uncommitted edit the index had read came back as changed right after it, and a copy without git could not answer at all. - changed: with no commit recorded, a file whose hash matches the table the index wrote is not an edit; one that differs is (read against HEAD, or counted whole without git). No table: the old refusal. - build: an explicit no-git index keeps its table as base-files.json; a background refresh leaves it, as base-tree is kept for git. - hooks: say "the files the graph was indexed from", never "commit nogit"; the Read stale note uses the table hash when there is no commit. - newer check: a graph ahead on either IMPACT_VERSION or engine version is newer (a lower IMPACT_VERSION no longer hides a later engine), and the note names AXIOMCODE_ENGINE when it is not the checkout answering. Co-authored-by: axiomcode-bot[bot] <334110751+axiomcode-bot[bot]@users.noreply.github.com>
swapnilpaliwal-sd
requested review from
JaredHLZhang,
Whua689 and
suyashpaliwal26
as code owners
September 30, 2026 15:05
swapnilpaliwal-sd
deleted the
apps/javascript/graph-provenance-false-alarms-on-mirror
branch
September 30, 2026 19:00
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
.git) stampednogit, sochangedand the edit hooks read the working tree against HEAD: every uncommitted edit the index had already read was reported as changed right after the index.changednow diffs such a graph against the file table the index wrote (per-file hashes): an unchanged file is not an edit; a changed one is read against HEAD, or counted whole with no git. A copy without git answers "no change" instead of refusing; with no table it still refuses.base-files.json, so a background refresh does not erase the baseline (same role asbase-treefor git).AXIOMCODE_ENGINEwhen it is not the checkout answering.tests/changed_range.pyis reworked (5 new checks + 2 controls: an edit after the index is still reported; no table still refuses).tests/freshness.pygets 2 new checks; the "older engine" control is unchanged. All new checks fail before the fix and pass after.Checked: dirty mirror copy of a JS service repo: 158 changed declarations → 0, hook "87 declarations … nogit" → silent. JS suite 88/88; probes 57/70 → 57/70, 0 regressed; call edges 11,309 = 11,309. The remaining changed_range/freshness failures (3+3) fail the same way on the base.