Repository navigation
Merge 0.1.11 into 0.2.0 (history only, no change to the tree) - #1956
Merged
swapnilpaliwal-sd merged 9 commits intoOct 14, 2026
Merged
Conversation
…s them 0.1.10 passed its release e2e on Windows while 43 of the query cases' 1,844 checks failed there: the e2e is one case per language. Every cause is how Windows writes paths and command lines, or how it holds files; none is platform-specific code. Paths: repository-relative paths are written with `/`, as the graph stores them. - parser: the Python and C# analyzers recorded `pkg\changed.py` in the IR, so rules joining a module's directory to a string (importlib's SourceFileLoader, Django's include()) matched nothing, and C# derived test attributes were missed. - query scripts: os.path joined and normalised graph paths with `\` (runner setupFiles/globalSetup, spawned scripts, the JS/TS import resolver, the freshness snapshot), so tests reached through a file were not linked. posixpath now, the idiom axiomcode-test-impact already used. - path/impact: an absolute file:line under the repository was refused as outside it (a `root + '/'` prefix test); commonpath on normcased paths. Arguments: a native program cannot hand Git Bash an argument holding ' or ": msys parses the command line by its own rules, so `context "the user's cart"` lost every argument after the apostrophe and a quoted string arrived as \Key\. On Windows the CLI, the MCP server and every build Python starts pass them in AXIOMCODE_ARGV (ax_exec.bash_argv); the bash entry points turn them back into "$@". Elsewhere the command line is used as before. Build lock: on Windows it locked nothing (Git Bash's fd 9 is not a descriptor in a native python), so a refresh and a second build of one repository could run at once. A helper (ax_fresh.py hold) now holds a real lock for the build's lifetime; building() sees it and a second build waits. POSIX keeps flock. Tests and the gate: - tests/run.py starts the CLI as the product does (Git Bash found by find-bash.js, MSYS=noglob, arguments via bash_argv), reads and prints UTF-8, uses the sqlite3 module, and waits for a case's background refresh before removing its graph. - tests/windows_argv.py: the argument hand-over through both entry points, with the command line as control. - no_symlink / no_exec start Git Bash and UTF-8 Python as the product does. - the release e2e on win32-x64 now runs every query case against the installed packages, and the Windows-only tests (.github/scripts/e2e-cases.sh). Verified: Windows VM, every language's query cases (1,844 checks), the Windows-only tests and the gate script; repeated asserted-links runs 25/25. Linux: the five engine suites, the query cases and the standalone tests identical to dev (51 of 51 results). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…er keeps its own version) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Windows: the query cases answer as on Linux, and the release gate runs them
Apps/integration 0.1.11
relpath raises across drives on Windows, so a --library whose compiled IR sits in the user cache on C: while the repository is on D: (as on GitHub's runner) failed the whole index. axiomcode-index and axiomcode-graph read it as outside the repository, as a `..` path is; a link or a changed file given absolutely on another drive is kept as given. no_exec's control starts Git Bash, not a bare `bash` (WSL on GitHub's image). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Release 0.1.11
Windows: a path on another drive is outside the repository, not an error (0.1.11)
Release 0.1.11: a path on another drive is not an error
0.2.0 already carries every 0.1.11 change: #1949 cherry-picked them. The merge records 0.1.11 as part of 0.2.0's history, so the 0.2.0 release merges into dev and main without conflicts. Every conflict (version files, ax_fresh.py, ci.yml) resolves to 0.2.0's side, which holds the same fix adapted to 0.2.0; the merged tree is identical to 0.2.0's. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
0.2.0 already carries every 0.1.11 change: #1949 cherry-picked them. This merge records 0.1.11 (
dev=v0.1.11)as part of 0.2.0's history, so the 0.2.0 release merges into
devandmainwithout conflicts.package.jsonand the four manifests,ax_fresh.py,ci.yml) resolve to 0.2.0's side, whichholds the same fix adapted to 0.2.0 (version 0.2.0,
watched_from, the shorter Windows gate).apps/integration-0.2.0: no file changes.path fixes, the Windows CI gate and
tests/windows_argv.py.apps/integration-0.2.0→devmerges clean.