Skip to content

docs: LSP_SERVER.md, VS Code LSP client, and post-#222 documentation sweep - #726

Merged
aallan merged 14 commits into
mainfrom
docs/lsp-server-sweep
Jun 11, 2026
Merged

docs: LSP_SERVER.md, VS Code LSP client, and post-#222 documentation sweep#726
aallan merged 14 commits into
mainfrom
docs/lsp-server-sweep

Conversation

@aallan

@aallan aallan commented Jun 11, 2026

Copy link
Copy Markdown
Owner

Summary

Documentation sweep following the issue 222 LSP arc (v0.0.161–v0.0.168), plus the VS Code extension's LSP client. Three parallel audits (limitations tables, capability coverage, cross-doc consistency) drove the work list; everything below was verified against the repo before changing.

New: LSP_SERVER.md

The language server's user manual: what an LSP server is (briefly), install (pip install -e ".[lsp]") and editor wiring (VS Code extension or any generic LSP client), the standard feature surface (tier-annotated diagnostics, per-function verification-tier hints, hover, slot go-to-definition, typed-hole completion), what makes ours different — the warm incremental verification core and the four agent-facing custom methods with full request/response shapes (vera/speculativeEdit, vera/proposeEdit, vera/strengthenContract, vera/addEffect) — the typical speculate → inspect → propose agent loop, current limitations, and architecture pointers. No Vera code blocks, so no new example-checker script is needed (JSON/bash only).

Indexed in llms.txt (build_site.py) and linked from README's editor-support and install sections.

VS Code extension 0.2.0 — LSP client

  • New extension.js: starts vera lsp for .vera files via vscode-languageclient ^9.0.1 (hence engines 1.75 → 1.82+); settings vera.lsp.enabled / vera.lsp.path; command Vera: Restart Language Server.
  • Graceful degradation is the design center: the grammar/language-config contributions are declarative and survive everything — a from-source symlink install without npm install (the client library lazily required in try/catch), a missing vera binary, or vera.lsp.enabled: false all degrade to syntax-highlighting-only with an explanatory line in the output channel, never an error storm.
  • Extension README/CHANGELOG rewritten for 0.2.0; package-lock.json committed for reproducible from-source installs; verified by npm install + module resolution (the only unresolvable import is vscode itself, which exists only inside the extension host) and node --check.

veralang.dev overhaul (docs/index.html + generated assets)

The landing page's two audience-addressed sections both gain the server, by design rather than as another feature box:

  • §06 Get Started — the VS Code editor row becomes "language server client and syntax highlighting… starts vera lsp automatically", and a closing paragraph covers what the server provides, the standalone [lsp] install, and the generic-LSP-client path.
  • §07 for machines — reframed around read vs interrogate: the markdown set is how machines read Vera; the language server is how they interrogate it. A fourth agent-card for LSP_SERVER.md, a paragraph naming the four custom methods, and a compact speculativeEdit proof-delta sample (JSON — shape-checked against the real response; the HTML example gate ignores non-Vera blocks).
  • §04 Key features grid gets the box too, and the status section's "complete compiler with…" sentence gains a language-server clause.

Surfacing for agents: llms.txt indexes LSP_SERVER.md (GitHub raw URL, matching AGENTS.md/FAQ), and llms-full.txt embeds the full text so single-file agent readers see the server manual without a second fetch. The veralang.dev/SKILL.md on-domain copy remains a deliberate singleton — the one definitive agent-entrypoint URL — so no second on-domain copy is created; all LSP_SERVER.md links (landing page included) follow the GitHub convention used by every other doc.

Landing-page review rounds (from manual review)

Masonry columns for the Key-features grid (kills stretch-to-tallest-row gaps), the VS Code editor row as two left-justified lines, the §07 agent docs as one aligned list panel instead of 3+1 orphaned cards (with the sub-780px flex-basis-becomes-height bug fixed), the §06 server paragraph spanning the full column, and typed-hole grammar coverage in both editors (surfaced by auditing the textmate coverage-marker claim — the one syntax addition since the grammars were written).

Sweep findings fixed

  • vera lsp was absent from every command list (README, CLAUDE.md, AGENTS.md, SKILL.md) while every sibling command was present — added everywhere, with the [lsp] extra documented in each install section.
  • AGENTS.md gains "The language server: proof deltas without re-running the CLI" — the four custom methods as a question-it-answers table plus the intended agent loop.
  • CLAUDE.md orientation note pointing compiler-work agents at vera/obligations/ + vera/lsp/ and LSP_SERVER.md.
  • KNOWN_ISSUES.md: the stale "LSP server" limitation row (its feature shipped in v0.0.161–v0.0.168; the v0.0.165 sweep removed the vera/README and ROADMAP rows but missed this one) is deleted, replaced by three real LSP limitations: single-file editor model (filed as 724), parameter-only slot go-to-definition (181), handler-unaware vera/addEffect propagation (filed as 725). Both new issues carry full context and are tracked here per the new-issue rule.
  • README: editor-support section rewritten around the server; project tree gains vera/obligations/ + vera/lsp/; feature list gains the language server; install section notes the lighter [lsp]-only path.
  • vera/README.md module map: the lsp/ line count still said 1203 — the v0.0.168 update ran a sed whose pattern never matched and nothing gates module-map counts; corrected to the measured 1389.
  • Release-count drift: README and the HISTORY footer claimed "168 releases" but there are 169 tags — the v0.0.24.1 hotfix broke the releases-equals-version assumption long ago and every bump since inherited the off-by-one. Both locations now carry the measured count (170 including this release).
  • editors/textmate/README: stale "as of v0.0.100" grammar-coverage marker updated; editors/README.md updated for the extension's new scope.
  • SKILL.md edits shifted the line-number-keyed example allowlist; re-keyed via scripts/fix_allowlists.py --fix (61 entries, duplicate-key audit clean).

Audit results that needed no change

Spec-chapter limitation tables (ch. 6, 8, 9, 11, 12) all verified current; FAQ/EXAMPLES/CONTRIBUTING/DESIGN/ENVIRONMENT have no stale LSP claims; CITATION.cff carries no version field (nothing to drift); TESTING.md already documents the LSP test surface thoroughly.

Release prep (v0.0.169)

Version across all 6 tracked sites, CHANGELOG section + compare links, HISTORY row, site assets regenerated; doc-count, version-sync, site-asset, README/SKILL example-checker gates all green; full suite 4,281 passed.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Language Server Protocol (LSP) via the vera lsp command: diagnostics with verification-tier hints, hover types, go-to-definition for slots, typed-hole completion, and warm incremental verification.
    • VS Code extension v0.2.0 integrates the language server (auto-start for .vera) with graceful fallback and a Restart Language Server command.
    • Four agent-facing LSP methods for speculative/proposed edits, contract strengthening and effect specification.
  • Documentation

    • Comprehensive LSP server manual and updated editor, installation and changelog guidance.
  • Chores

    • Package version bumped to v0.0.169.

…222 sweep

New LSP_SERVER.md: what the language server is, install/editor wiring,
the standard feature surface, the warm incremental verification core,
and full wire shapes for the four agent-facing custom methods with the
speculate -> inspect -> propose loop. Served on-domain at
veralang.dev/LSP_SERVER.md (same build_site.py treatment as SKILL.md),
sitemapped, indexed in llms.txt, embedded in llms-full.txt.

VS Code extension 0.2.0: starts vera lsp automatically for .vera files
(vscode-languageclient, settings vera.lsp.enabled/path, restart
command), degrading gracefully to grammar-only when the binary or npm
install is absent. Requires VS Code 1.82+.

veralang.dev overhaul: section 06 Get Started (VS Code row starts the
server; [lsp] install path) and section 07 for machines reframed
around read-vs-interrogate with a fourth agent-card and a
speculativeEdit proof-delta sample; section 04 feature box; status
sentence.

Sweep: vera lsp joins the command lists in README/CLAUDE/AGENTS/SKILL;
README editor-support/features/install/tree updated; AGENTS.md gains
the agent-facing custom-methods section; KNOWN_ISSUES drops the stale
LSP-server row and gains three real LSP limitations (#724 single-file
model, #181 parameter-only slot goto, #725 handler-unaware addEffect);
module-map lsp/ line count corrected (a v0.0.168 update silently
failed); release-count figures corrected to the actual tag count
(v0.0.24.1 made releases = version + 1, uncounted since). Allowlist
re-keyed after SKILL.md edits.

Release prep for v0.0.169.

Co-Authored-By: Claude <noreply@anthropic.invalid>
@codecov

codecov Bot commented Jun 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.90%. Comparing base (8c0a0e1) to head (500cee1).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #726   +/-   ##
=======================================
  Coverage   90.90%   90.90%           
=======================================
  Files          70       70           
  Lines       24854    24854           
  Branches      292      292           
=======================================
  Hits        22594    22594           
  Misses       2253     2253           
  Partials        7        7           
Flag Coverage Δ
javascript 61.40% <ø> (ø)
python 94.54% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds v0.0.169: LSP server user manual and LSP contract, VS Code language-client wiring and manifest, typed-hole grammar support across editors, site indexing and SKILL allowlist updates, and coordinated release/version metadata changes.

Changes

LSP documentation and VS Code integration

Layer / File(s) Summary
Language server specification manual
LSP_SERVER.md
Installation via optional [lsp] extra, stdio LSP wiring, standard LSP features (diagnostics with verification-tier hints, hover, go-to-definition, typed-hole completion), warm incremental Z3 session, four custom agent methods (vera/speculativeEdit, vera/proposeEdit, vera/strengthenContract, vera/addEffect) with proof-delta semantics, workflow and limitations.
VS Code LSP client wiring
editors/vscode/package.json, editors/vscode/extension.js
Extension bumped to 0.2.0 and engine → ^1.82.0; adds vera.lsp.enabled and vera.lsp.path, vera.lsp.restart command, and vscode-languageclient dependency. extension.js conditionally loads the language client, resolves server command (workspace venv preferred), manages client start/restart/deactivate, logs guidance, and falls back gracefully when unavailable.
Editor UI and documentation
editors/vscode/CHANGELOG.md, editors/vscode/README.md, editors/README.md, editors/textmate/*, editors/vscode/syntaxes/*
VS Code changelog/README document LSP integration, settings, restart command and graceful degradation. TextMate and VS Code grammars add typed-hole ? token as constant.language.hole.vera with lookarounds. Editor docs updated and TextMate grammar version references bumped.
Release versioning and metadata
pyproject.toml, vera/__init__.py, CHANGELOG.md, HISTORY.md, KNOWN_ISSUES.md
Version bumped to 0.0.169. CHANGELOG adds v0.0.169 entry and updates compare links. HISTORY Stage 12 entry added and release totals incremented. KNOWN_ISSUES now documents two LSP/diagnostic bugs and three LSP-specific limitations.
Project documentation synchronisation
README.md, AGENTS.md, CLAUDE.md, SKILL.md, vera/README.md
vera lsp command, [lsp] extra, warm incremental verification, and proof-delta agent methods documented across top-level docs; workflow examples extended; module map and compiler notes updated to reference vera/lsp/ and vera/obligations/.
Site generation for LSP_SERVER.md
scripts/build_site.py
Adds LSP_SERVER.md to docs/llms.txt, includes a "Language Server (LSP_SERVER.md)" section in docs/llms-full.txt, and links the doc from docs/index.md "For Agents" list.
SKILL example allowlist refresh
scripts/check_skill_examples.py
Re-anchors ALLOWLIST starting-line offsets for SKILL fenced ```vera fragments to match moved blocks; script behaviour unchanged.

Sequence Diagram(s)

sequenceDiagram
  participant Client
  participant VeraLSP
  participant Z3Core
  Client->>VeraLSP: didOpen / didChange
  VeraLSP->>Z3Core: incremental verification
  VeraLSP-->>Client: publish diagnostics + tier hints
  Client->>VeraLSP: vera/speculativeEdit
  VeraLSP->>Z3Core: verify speculative delta
  VeraLSP-->>Client: proof-delta result
  Client->>VeraLSP: vera/proposeEdit
  VeraLSP->>Z3Core: apply edit and re-verify
  VeraLSP-->>Client: updated diagnostics/state
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • aallan/vera#327: Related site-generation work that added/verified scripts used to include new docs like LSP_SERVER.md.
  • aallan/vera#582: Both PRs update scripts/check_skill_examples.py ALLOWLIST entries to track SKILL.md fence shifts.
  • aallan/vera#364: Related TextMate grammar updates touching typed-hole patterns in Vera.tmLanguage.

Suggested labels

compiler, ci, docs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 40.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly and accurately describes the primary changes: adding LSP_SERVER.md documentation, implementing a VS Code LSP client (0.2.0), and conducting a documentation sweep to surface and integrate language server support across the project.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/lsp-server-sweep

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
scripts/build_site.py (1)

204-206: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Fix absolute-link rewriting for directory targets.

_abs_links() always emits .../blob/main/..., which breaks repo-directory links (e.g. editors/vscode/) once LSP_SERVER.md is published to docs/LSP_SERVER.md.

Suggested fix
-            parts_inner.append(link_re.sub(
-                lambda m: f"[{m.group(1)}]({REPO}/blob/main/{m.group(2)})", line
-            ))
+            def _to_abs(match: re.Match[str]) -> str:
+                label = match.group(1)
+                rel = match.group(2)
+                rel_path = rel.split("#", 1)[0]
+                anchor = f"#{rel.split('#', 1)[1]}" if "#" in rel else ""
+                kind = "tree" if rel_path.endswith("/") else "blob"
+                return f"[{label}]({REPO}/{kind}/main/{rel_path}{anchor})"
+
+            parts_inner.append(link_re.sub(_to_abs, line))

As per coding guidelines, Markdown documentation should avoid broken links; this generator currently creates broken directory URLs in published docs.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/build_site.py` around lines 204 - 206, The _abs_links() replacement
always injects "/blob/main/" which breaks links that should point to repository
directories; update the link_re substitution (the lambda that builds
f"[{m.group(1)}]({REPO}/blob/main/{m.group(2)})") to detect directory targets
(e.g., m.group(2) ends with '/' or has no file extension) and use "/tree/main/"
for those, keeping "/blob/main/" for file targets; ensure the logic is applied
where parts_inner.append(...) is called and that REPO is still used as the base.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@editors/textmate/README.md`:
- Line 21: Update the README line that reads "The grammar covers the full Vera
language as of v0.0.168." to reference the current release by changing v0.0.168
to v0.0.169 so the editor docs reflect the v0.0.169 release; locate and edit
that exact sentence in the README.md (the line mentioning "The grammar covers
the full Vera language as of ...") and replace the version token.

In `@HISTORY.md`:
- Line 357: Update the tagged-release count in the summary line that currently
reads "Total: **810+ commits, 170 tagged releases, 62 active development
days.**" to "169 tagged releases" (change 170 → 169) and then ensure the same
summary in README.md is updated the same way so both files stay synchronized;
locate the "Total:" summary line in HISTORY.md and the corresponding summary
line in README.md and make the numeric change.

---

Outside diff comments:
In `@scripts/build_site.py`:
- Around line 204-206: The _abs_links() replacement always injects "/blob/main/"
which breaks links that should point to repository directories; update the
link_re substitution (the lambda that builds
f"[{m.group(1)}]({REPO}/blob/main/{m.group(2)})") to detect directory targets
(e.g., m.group(2) ends with '/' or has no file extension) and use "/tree/main/"
for those, keeping "/blob/main/" for file targets; ensure the logic is applied
where parts_inner.append(...) is called and that REPO is still used as the base.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 784cb4d1-1d98-4e9f-89c0-dbabc3cccb6e

📥 Commits

Reviewing files that changed from the base of the PR and between 8c0a0e1 and 030907d.

⛔ Files ignored due to path filters (9)
  • docs/LSP_SERVER.md is excluded by !docs/**
  • docs/SKILL.md is excluded by !docs/**
  • docs/index.html is excluded by !docs/**
  • docs/index.md is excluded by !docs/**
  • docs/llms-full.txt is excluded by !docs/**
  • docs/llms.txt is excluded by !docs/**
  • docs/sitemap.xml is excluded by !docs/**
  • editors/vscode/package-lock.json is excluded by !**/package-lock.json
  • uv.lock is excluded by !**/*.lock, !uv.lock
📒 Files selected for processing (20)
  • AGENTS.md
  • CHANGELOG.md
  • CLAUDE.md
  • HISTORY.md
  • KNOWN_ISSUES.md
  • LSP_SERVER.md
  • README.md
  • SKILL.md
  • editors/README.md
  • editors/textmate/README.md
  • editors/vscode/CHANGELOG.md
  • editors/vscode/README.md
  • editors/vscode/extension.js
  • editors/vscode/package.json
  • pyproject.toml
  • scripts/build_site.py
  • scripts/check_site_assets.py
  • scripts/check_skill_examples.py
  • vera/README.md
  • vera/__init__.py

Comment thread editors/textmate/README.md Outdated
Comment thread HISTORY.md
CodeRabbit asked for the textmate coverage marker to say v0.0.169;
auditing that claim found the one grammar addition since v0.0.100 —
typed holes (?) — was unhighlighted in both grammars. Both now scope
it as constant.language.hole.vera (lookarounds avoid accidental
matches), the marker is bumped honestly, and the VS Code README/
CHANGELOG document the scope.

Skip-changelog: editor-grammar amendment within this PR's unreleased v0.0.169 section

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
editors/textmate/README.md (1)

50-65: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add the typed hole scope to the TextMate README scope reference table.

Line 21 now claims the grammar "covers the full Vera language as of v0.0.169", but the scope reference table (lines 50–65) does not include an entry for ? (typed hole), despite the grammar file now supporting it with scope constant.language.hole.vera. The VS Code README includes this entry in its scope table (line 123).

For consistency with the grammar and the VS Code documentation, add a row to the TextMate scope table:

| `?` (typed hole) | `constant.language.hole.vera` |

Place it after the true, false, pure row and before the -> row.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@editors/textmate/README.md` around lines 50 - 65, The README's TextMate scope
reference table is missing the typed-hole entry; add a new table row containing
"`?` (typed hole)" mapped to "constant.language.hole.vera" and insert it
immediately after the "`true`, `false`, `pure` | `constant.language.vera`" row
and before the "`->` | `keyword.operator.arrow.vera`" row so the table matches
the grammar and VS Code README.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@editors/textmate/README.md`:
- Around line 50-65: The README's TextMate scope reference table is missing the
typed-hole entry; add a new table row containing "`?` (typed hole)" mapped to
"constant.language.hole.vera" and insert it immediately after the "`true`,
`false`, `pure` | `constant.language.vera`" row and before the "`->` |
`keyword.operator.arrow.vera`" row so the table matches the grammar and VS Code
README.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 62383e06-65a7-44c2-b0e1-d796bc4c62ce

📥 Commits

Reviewing files that changed from the base of the PR and between 030907d and d9c57b1.

📒 Files selected for processing (5)
  • editors/textmate/README.md
  • editors/textmate/Vera.tmbundle/Syntaxes/Vera.tmLanguage
  • editors/vscode/CHANGELOG.md
  • editors/vscode/README.md
  • editors/vscode/syntaxes/vera.tmLanguage.json

aallan added 8 commits June 11, 2026 20:37
Key-features grid flows as masonry columns (columns: 3 260px) instead
of stretch-to-tallest grid rows, killing the whitespace gaps; the
Language server box text tightened to neighbour length. The VS Code
editor row breaks into two left-justified lines (colon dropped). The
section-07 agent cards become one bordered list panel: mono filename
column at a fixed 9.5rem, descriptions aligned to a common edge,
stacking vertically under 780px.

Skip-changelog: hand-written landing-page styling within this PR's unreleased v0.0.169 section
In the stacked sub-780px layout the agent-list filename kept its
9.5rem flex-basis, which becomes HEIGHT in a column flex container —
a 152px void under every filename. The media query now resets it
(flex:none): 21px filenames, uniform rows. The section-06 language-
server paragraph drops its 62ch cap and spans the full column width,
matching the install code block above it.

Skip-changelog: hand-written landing-page styling within this PR's unreleased v0.0.169 section
#726)

The features-grid and install-section links now match the sibling
DE_BRUIJN.md convention (GitHub blob URL, rendered markdown for human
readers); the for-machines section keeps the on-domain /LSP_SERVER.md
alternates by design, paired with /SKILL.md.

Skip-changelog: hand-written landing-page link targets within this PR's unreleased v0.0.169 section
The veralang.dev/SKILL.md copy exists to give THE agent entrypoint a
definitive URL — a deliberate singleton, not a pattern. LSP_SERVER.md
now follows the same convention as every other doc: GitHub links
everywhere (including the for-machines cards, matching AGENTS.md and
CLAUDE.md), indexed in llms.txt via the raw URL, embedded in full in
llms-full.txt. The generated docs/LSP_SERVER.md copy, its sitemap
entry, and the build/check wiring are removed.

Skip-changelog: amends this PR's own unreleased v0.0.169 entry, which is corrected in the same commit
The TextMate/VS Code rows in Get Started are grouped under the same
2px flame-tinted left border + 1rem padding as the code-sample asides
in section 02, so the annotation device reads consistently across
sections.

Skip-changelog: hand-written landing-page styling within this PR's unreleased v0.0.169 section
The hole pattern was added to both grammars but the scope-reference
row only to the VS Code README; the TextMate table now matches.

Skip-changelog: editor-doc amendment within this PR's unreleased v0.0.169 section
rgba(255,176,128,.3) was tuned for the dark section-02 band and
washed out on cream; the line now uses solid var(--flame-300),
matching the section-01 thesis blockquote — the established
vertical-line treatment for light sections.

Skip-changelog: hand-written landing-page styling within this PR's unreleased v0.0.169 section
The section-07 speculativeEdit response is now properly indented
(one key per line) and syntax-highlighted with the page's existing
palette: keys in .sl, string values in .str, literals in .num,
comment in .cm.

Skip-changelog: hand-written landing-page styling within this PR's unreleased v0.0.169 section
@aallan

aallan commented Jun 11, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai The outside-diff finding on editors/textmate/README.md is fixed in 0b3abec — the scope-reference table now carries the ? (typed hole) → constant.language.hole.vera row in the position you indicated, matching the grammar and the VS Code README.

@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

@aallan — confirmed, thank you. The constant.language.hole.vera row in the TextMate README scope-reference table now correctly mirrors both the grammar pattern and the VS Code README entry. That finding is resolved.

aallan added 3 commits June 11, 2026 23:12
GUI-launched VS Code does not inherit a shell PATH, so the default
'vera' resolution failed (or hit a stale shim) for every from-source
install — the exact quiet failure the user diagnosed. Resolution order
is now: explicit vera.lsp.path setting, then a workspace-local venv
(.venv/bin/vera, .venv\Scripts\vera.exe), then PATH; a standard
clone needs zero configuration. Spawn failure now surfaces ONE warning
with an Open Settings action instead of only an output-channel line.
Resolution order documented in the setting description, extension
README, LSP_SERVER.md, and both CHANGELOGs.

Also files #727 (duplicate E501 diagnostics for a violating call
site, surfaced while screenshotting the hover) and restores the
KNOWN_ISSUES Bugs table to track it.

Skip-changelog: amends this PR's own unreleased v0.0.169 entry in the same commit
…SSUES (#726)

Skip-changelog: tracking-table row for a newly filed bug
#726)

The extension-fix commit edited LSP_SERVER.md (a build_site source as
of this PR) without regenerating its llms-full.txt embed — caught by
CI's unconditional check but not locally, because the pre-commit
site-assets hook's files filter predates LSP_SERVER.md becoming a
source. The filter now includes it.

Skip-changelog: regenerated artefact + hook-filter amendment within this PR

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@editors/vscode/extension.js`:
- Around line 42-64: resolveServerCommand currently picks the first .venv binary
it finds across all workspaceFolders which can pick the wrong project's
toolchain in multi-root workspaces; change the lookup to prefer the workspace
folder associated with the active editor (use
vscode.window.activeTextEditor?.document and
vscode.workspace.getWorkspaceFolder) and only fall back to scanning other
workspaceFolders if no active-folder candidate is found, so resolveServerCommand
first searches the active editor's folder for the .venv paths before scanning
the rest.

In `@LSP_SERVER.md`:
- Around line 45-49: Update the VS Code auto-start documentation paragraph that
currently lists `.venv/bin/vera` to also mention the Windows workspace-venv
probe `.venv\Scripts\vera.exe` so readers know the extension auto-detects a
Windows virtualenv executable; edit the sentence that references
`.venv/bin/vera` in LSP_SERVER.md (the VS Code / bundled extension description)
to include the Windows path and a short parenthetical note about Windows
support.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: e7293bd1-9cc0-4149-a77a-40bbe902c6d9

📥 Commits

Reviewing files that changed from the base of the PR and between 0c7cec3 and 82bb157.

📒 Files selected for processing (7)
  • CHANGELOG.md
  • KNOWN_ISSUES.md
  • LSP_SERVER.md
  • editors/vscode/CHANGELOG.md
  • editors/vscode/README.md
  • editors/vscode/extension.js
  • editors/vscode/package.json

Comment thread editors/vscode/extension.js
Comment thread LSP_SERVER.md Outdated
…und)

In a multi-root workspace the first workspaceFolder's .venv could
belong to a different project; resolveServerCommand now probes the
folder owning the active document first, then the remaining folders.
LSP_SERVER.md documents the Windows probe path (.venv\Scripts\
vera.exe) alongside the POSIX one; llms-full embed regenerated.

Skip-changelog: extension amendment within this PR's unreleased v0.0.169 entry
@aallan

aallan commented Jun 11, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai The re-surfaced outside-diff finding on editors/textmate/README.md was already addressed in 0b3abec — the scope table carries ? (typed hole) → constant.language.hole.vera at exactly the position requested (immediately after the true/false/pure row). No further change.

@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

@aallan — acknowledged, and apologies for the re-surface. The finding was already confirmed resolved in the previous exchange: editors/textmate/README.md carries the ?constant.language.hole.vera row at the correct position (after the true/false/pure row), consistent with both the grammar and the VS Code README. No further change required.

@aallan
aallan merged commit f5c9cb8 into main Jun 11, 2026
27 checks passed
@aallan
aallan deleted the docs/lsp-server-sweep branch June 11, 2026 23:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant