Skip to content

chore(iii-lsp): release 0.1.2 + ship discovery fix to the extension - #240

Merged
guibeira merged 1 commit into
mainfrom
chore/release-iii-lsp-0.1.2
Jun 10, 2026
Merged

chore(iii-lsp): release 0.1.2 + ship discovery fix to the extension#240
guibeira merged 1 commit into
mainfrom
chore/release-iii-lsp-0.1.2

Conversation

@guibeira

@guibeira guibeira commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

Why

PR #239 fixed the engine-introspection calls on `main`, but the error still fires in editors:

```
[ERROR] iii::engine Function not found
└ function_id: engine::trigger-types::list
```

Two reasons, both verified against the binary the Cursor extension actually runs:

  1. No fixed binary was ever published. The latest `iii-lsp` release is `0.1.1` (pre-fix); `main` has the fix but no new release/tag.
  2. The extension pins an old binary. `iii-lsp-vscode/installer.js` hard-codes `SERVER_VERSION = '0.1.0'` and downloads `iii-lsp/v0.1.0` on activation. Confirmed: that cached binary (`…/globalStorage/iii-hq.iii-lsp/server/0.1.0/…/iii-lsp`) contains `engine::trigger-types::list`; the fixed build contains `engine::registered-triggers::list` + `engine::triggers::list` and no retired id.

So updating the extension to 0.2.5 changed nothing — it still pulls a pre-fix binary.

Changes

  • `iii-lsp` 0.1.1 → 0.1.2 so tagging `iii-lsp/v0.1.2` publishes a binary containing the fix.
  • `installer.js` `SERVER_VERSION` 0.1.0 → 0.1.2 so the extension downloads the fixed binary (test assertions updated).
  • `release.yml`: gate the registry-publish job on a new `interface_smoke` setup output. Cutting `iii-lsp/v0.1.2` runs `_publish-registry.yml`, which boots the worker for interface collection — iii-lsp (stdio LSP, registers no interface) can't pass it (the follow-up flagged in fix(iii-lsp): align engine introspection with post-rework discovery builtins #239). Workers with `interface_smoke: false` in `iii.worker.yaml` still build + ship their binary via `binary-build`, but skip the registry publish. Default behavior (key absent) is unchanged.

Release order (after merge)

  1. Tag `iii-lsp/v0.1.2` → `release.yml` builds + publishes the fixed binary to the GitHub Release; registry publish is skipped via the opt-out.
  2. Tag `iii-lsp-vscode/v0.2.6` → `release-lsp.yml` packages the extension (version taken from the tag) whose installer now fetches `iii-lsp/v0.1.2`.
  3. Update the extension in Cursor; on activation it downloads the fixed binary. (Existing users may need to clear the cached `server/0.1.0` binary.)

Test

  • `cargo build` clean (iii-lsp 0.1.2)
  • `npm test` (iii-lsp-vscode) — 13 passed
  • `release.yml` valid YAML

Summary by CodeRabbit

  • Chores
    • Updated bundled server version from 0.1.0 to 0.1.2. The installer will now download and install the latest server binary.
    • Enhanced release workflow with configurable control options for release automation.

… extension

PR #239 fixed the engine-introspection calls on main but never cut a new
binary, and the VS Code/Cursor extension pins SERVER_VERSION = 0.1.0 — so
the extension still downloads the pre-fix iii-lsp/v0.1.0 binary and the
'Function not found: engine::trigger-types::list' error persists.

- iii-lsp: bump 0.1.1 -> 0.1.2 so tagging iii-lsp/v0.1.2 publishes a binary
  that contains the fix.
- iii-lsp-vscode/installer.js: SERVER_VERSION 0.1.0 -> 0.1.2 so the extension
  downloads the fixed binary (test assertions updated to match).
- release.yml: gate the registry-publish job on a new interface_smoke output.
  Cutting iii-lsp/v0.1.2 runs _publish-registry.yml, which boots the worker
  for interface collection — iii-lsp (stdio LSP, no registered interface)
  can't pass that, exactly the follow-up flagged in #239. Workers that set
  interface_smoke: false in iii.worker.yaml still build + ship their binary
  but skip the registry publish. Other workers are unaffected (default
  publishes as before).

Release order after merge: tag iii-lsp/v0.1.2 first (publishes the binary),
then iii-lsp-vscode/v0.2.6 (extension downloads it).
@vercel

vercel Bot commented Jun 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
harness Error Error Jun 10, 2026 6:41pm
workers Ready Ready Preview, Comment Jun 10, 2026 6:41pm

Request Review

@coderabbitai

coderabbitai Bot commented Jun 10, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

Release workflow now conditionally gates registry publish via an interface_smoke opt-out detected from worker config. VSCode installer pinned server version and Rust LSP crate version both increment to 0.1.2. Installer tests validate the new release asset URLs.

Changes

Interface Smoke Opt-out Feature

Layer / File(s) Summary
Interface smoke opt-out detection and gating
.github/workflows/release.yml
Setup job reads iii.worker.yaml and outputs interface_smoke (defaulting "true" unless explicitly false), then publish job condition checks this output and skips registry publish when disabled.

Release Version 0.1.2 Updates

Layer / File(s) Summary
Server and LSP version update to 0.1.2
iii-lsp-vscode/installer.js, iii-lsp-vscode/test/installer.test.mjs, iii-lsp/Cargo.toml
Installer SERVER_VERSION bumped to 0.1.2, updating all test expectations for release asset URLs and download paths; Cargo crate version also incremented to 0.1.2.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

  • iii-hq/workers#25: Introduces the installer module being version-bumped in this PR; this PR updates that same installer to pin SERVER_VERSION to 0.1.2.
  • iii-hq/workers#67: Refactors registry publish pipeline for interface collection; this PR adds conditional gating to that same pipeline via interface_smoke opt-out.

Suggested reviewers

  • andersonleal
  • sergiofilhowz

Poem

🐰 A worker's choice to opt-out,
And versions bumped—no doubt, no doubt!
From 0.1.0 to 0.1.2,
The installer hops with something new.
Release gates flow, configs speak—
A tidy changelog week by week! 🎉

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly summarizes the main change: releasing version 0.1.2 and shipping the discovery fix to the extension, which aligns with the PR's primary objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/release-iii-lsp-0.1.2

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@github-actions

Copy link
Copy Markdown
Contributor

skill-check — worker

0 verified, 14 skipped (no docs/).

Layer Result
structure
vale
ai
render

Four for four. Nicely done.

@guibeira
guibeira merged commit 3695857 into main Jun 10, 2026
11 of 13 checks passed
@guibeira
guibeira deleted the chore/release-iii-lsp-0.1.2 branch June 10, 2026 18:44
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