Repository navigation
vscode: calmer prove flow, compile errors in Problems, replay notices - #522
Merged
Merged
Conversation
0xGeorgii
force-pushed
the
feat/vscode-prover-ux-sidebar
branch
from
October 10, 2026 01:40
5a22b89 to
e356baa
Compare
0xGeorgii
force-pushed
the
feat/vscode-prover-ux-flow
branch
from
October 10, 2026 01:40
2b433f7 to
7d8f37f
Compare
0xGeorgii
added this pull request to stack #524
October 10, 2026 02:04
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
0xGeorgii
force-pushed
the
feat/vscode-prover-ux-sidebar
branch
from
October 10, 2026 02:15
e356baa to
f2d987f
Compare
0xGeorgii
force-pushed
the
feat/vscode-prover-ux-flow
branch
from
October 10, 2026 02:15
7d8f37f to
c760e77
Compare
0xGeorgii
force-pushed
the
feat/vscode-prover-ux-flow
branch
from
October 10, 2026 11:55
c760e77 to
9683819
Compare
0xGeorgii
force-pushed
the
feat/vscode-prover-ux-sidebar
branch
from
October 10, 2026 12:36
4178e87 to
7ceb0c9
Compare
0xGeorgii
force-pushed
the
feat/vscode-prover-ux-flow
branch
from
October 10, 2026 12:36
932b31e to
3737336
Compare
0xGeorgii
force-pushed
the
feat/vscode-prover-ux-flow
branch
from
October 10, 2026 12:53
3737336 to
cae4513
Compare
0xGeorgii
force-pushed
the
feat/vscode-prover-ux-sidebar
branch
from
October 10, 2026 12:56
1906811 to
f79a65c
Compare
0xGeorgii
force-pushed
the
feat/vscode-prover-ux-flow
branch
from
October 10, 2026 12:56
cae4513 to
93c3deb
Compare
Prove This File / Submit Rocq File:
- Saves the file instead of asking; no dialog ever sits on top of a
progress notification (the notification closes for a question and
reopens after it).
- The upload notice comes after a successful compile and the local file
checks, so a doomed upload never asks. "This proof server doesn't say
which compiler it accepts" is asked once per server.
- Compile errors from infs build go to the Problems panel (parse errors,
"Type checking failed: …; …", analysis codes, submodule files), with a
summary toast and Show Problems.
- A generated file that defines a name twice is not uploaded: the
compiler names the module after the file, so clamp.inf with fn clamp
cannot compile on the server. The message explains it and points at
the function.
- When the server answers with an existing job for the same file, say so
("already being proved", or "already proved 2d ago — <result>" with Run
Again). Uses the server's Idempotent-Replayed header when present, else
the job's status and age.
- A compiler mismatch offers "Install X and Prove", which proves again
after switching; a non-release compiler offers Copy Commit.
- performVersionChange reports success and says "Inference toolchain vX
is now the default." (it read "switching to to").
Wording: one name per thing (proof server, API key, Run Again, Cancel
Job). Clear API Key asks first; "Save Anyway" for an unchecked key is a
modal. Cancel explains the up-to-90-second wait while a worker starts.
README and QA_GUIDE describe the new panel, view, status bar, Problems
integration and replay behaviour.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- "Install … and Prove" proves again once the running-build guard is released (it was refused as "already running"). - The duplicate-definition check ignores comments and strings, keeps Module namespaces apart, and blocks only files the compiler just generated; a hand-written .v is left to the server, whose error the job panel shows. - Parse errors in an imported file go to that file in Problems (infc names it only in the "failed to parse imported file `a::b`" header). - Each build replaces everything its previous build of the same entry published, including imported files, and does not publish errors for a file edited while it ran. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
infc prints some type errors over two lines (a `note:` line), and joins the next error onto the note line after `; `. The parser read only the `Type checking failed:` line, so every later error went missing from Problems and the count. It now reads the note lines into the message before splitting, and keeps the note of analysis findings too. A replay notice's Run Again is ignored after the server or account changed, as the finish notices already are. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…t was sent with - Problems keep the latest errors of each entry's build per file, so a rebuild replaces only its own entry's errors. Before, rebuilding one entry that stopped importing a broken file also cleared the errors another entry's build had reported there (BuildProblems, tested). - Prove This File and Submit capture the account check when they start. If the server or API key changes during the build or upload, the job is not opened against the new server, and its replay notice cannot Run Again there; a notice says where the job went. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The parser matched `warning[…]` findings but dropped the severity, so
Problems showed them as errors and the notification counted them as
compile errors. They now keep warning severity, and the notification
counts errors and warnings apart ("1 compile error and 1 warning").
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
0xGeorgii
force-pushed
the
feat/vscode-prover-ux-flow
branch
from
October 10, 2026 13:11
d54efb1 to
70113d8
Compare
infc prints a missing import, an unreadable file and the like as a one-line `Parse error:` with no positioned errors under it. The parser skipped those, so Problems stayed empty; they are now kept as errors on the entry file's first line, with any detail lines. Also say what an idempotent replay returns: the existing job as it is now (the server builds the 202 body from the current row), not the original response. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
0xGeorgii
force-pushed
the
feat/vscode-prover-ux-flow
branch
from
October 10, 2026 13:12
70113d8 to
f6b7c2b
Compare
0xGeorgii
removed this pull request from stack #524
October 10, 2026 13:14
The search for `fn <name>` in the .inf ran on raw lines, so a comment or string mentioning it earlier in the file got the Problems entry and the "Go to fn" link. It now searches the text with comments and string contents blanked out the way the compiler's lexer reads them (`//` and `///` to end of line, single-line strings), keeping positions (infSource.ts, tested). A qualified duplicate name is matched by its last segment. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
0xGeorgii
force-pushed
the
feat/vscode-prover-ux-flow
branch
from
October 10, 2026 13:58
e265789 to
128ae86
Compare
infc counts columns in UTF-8 bytes (the lexer advances the column per byte); VS Code positions count UTF-16 units. After an `é` or other non-ASCII text on the same line, Problems highlighted a later character. Publishing now reads each affected file's line as the build saw it and converts the column (characterAt, tested); it keeps the raw column when the file cannot be read. 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.
Stacked on the Proof Jobs view and status bar PR; this is PR 3 of 3. Review this diff alone.
Why
From the #519 test:
clamp.infwithfn clampwas uploaded and failed on the server.Change
infs buildare added to Problems with the sourceinfc (proof build). This covers parse errors, multi-errorType checking failed: …; …lines, analysis codes and submodule files; the formats were checked against the accepted compilerd71a9c3e. A toast summarises the errors and offers Show Problems, and the entries clear when you edit the file.Idempotent-Replayedheader from Inferara/inference-ai-prover#270 when present; otherwise it falls back to the job's status and age, which works on the deployed server today.performVersionChangenow reports whether it succeeded and says "Inference toolchain vX is now the default.", which also fixes the message for Select Version and Update.Verification
In
node:24: typecheck;npm test(502 pass); grammar tests (93 pass);npm run package, with the same 11.vsixentries.New tests:
duplicateDefinitionsand the preflight block;classifyReplay;Idempotent-Replayedheader, read from a local HTTP server;Risk
Saving before Prove changes existing behaviour; it is documented and matches how a debug run saves. Problems entries can duplicate the language server's, and they clear when the file is edited.
🤖 Generated with Claude Code

Confidence Score: 5/5
The PR appears safe to merge; no new blocking issue was found.Reviews (12) · Last reviewed commit: "vscode: place compile errors on the righ..." · Reviewed by Greptile