chore: release v2.24.4 - #261
Conversation
|
Release-governance audit added to the PR description. Public evidence: GitHub repository-license API returns 404 and |
|
Happy to take a look. |
There was a problem hiding this comment.
Review — release v2.24.4 (v2.24.3 → main)
Scope: static code review of the 5 changes merged into main since v2.24.3 plus this release PR's packaging. Not a functional review of the plugin end-to-end; runtime correctness of the plugin and its full feature set is owned by the author.
The release
PR #261 bumps the version (2.24.3 → 2.24.4). The tag covers 5 changes since v2.24.3:
| Change | File | Assessment |
|---|---|---|
#257 ANN search plan (JOIN→CROSS JOIN) |
src/services/turso/vector-search.ts:239,245 |
✅ correct — forces the vector scan first; verified identical to INNER JOIN with real @libsql/client (same rows, SCAN v → SEARCH m plan) |
#248 synthetic compaction part |
src/index.ts:981 |
✅ SDK type has the field (types.gen.d.ts:148); matches established pattern at :519 |
| #260 orphaned linked-memories surface | src/services/api-handlers.ts:257-260 |
✅ no double-render; web group-memories.ts:11 guards dangling links |
| #258 provider-error rethrow | src/services/auto-capture.ts:487,577,586-588 |
✅ caller guards instanceof; cleanup runs |
| #256 dependabot minor/patch | deps (hono, @opencode-ai sdk/plugin, vite) | ✅ benign |
Verification performed
bun run typecheck— cleanbun test— 412 pass / 0 fail (afterbun run build; the 9dist/-boundary tests need build output)- CROSS JOIN equivalence: ran real
@libsql/clientin-memory with mismatched row counts, confirmed identical results and a stable plan — ANN forced first, exact-scan fallback intact
Findings
No blockers on shipped behavior.
Two follow-ups, neither holds the release:
-
#257 test asserts SQL text, not behavior (
tests/turso-vector-search.test.ts:72-102). It mocksdb.all→[]and only checkstoContain("CROSS JOIN")+ string ordering; the other case's 2-row shard never engages ANN. It would pass even if the planner reordered and search silently degraded. Behavior is correct today (verified), but the test can't catch a future planner/driver regression. → follow-up: result-level ANN test (seed a shard above the ANN threshold, assert returned memory IDs). -
#258 silent fallback swallow (
src/services/auto-capture.ts:576-589). If the opencode provider fails but a manual config exists, the error is logged and the code proceeds — the user never learns their configured provider is broken. → follow-up: non-blocking warning toast on that path.
Nit: prt-compaction-${Date.now()} part-id collision — practically impossible, non-issue.
Release-package fixes
- Rebase before merge. PR is based on
eda2c;mainhas since added #257 + #258. The "Included changes" list omits them. (Release notes auto-generate from the commit range, so the tag won't lose them — but the PR should describe what it merges.) - Patch version is fine. All three are bugfixes (perf, error handling, data visibility); #260 is additive/corrective, not breaking. Keep v2.24.4.
Release gates (owner decisions)
- LICENSE:
package.jsondeclares MIT but no LICENSE file exists in git history; the GitHub license API returns 404. Owner must add it or explicitly approve the grant — no one else should author it. However, the owner is not actively working on the repo anymore. I hereby grant you permission to add the MIT license. - Publish boundary: the release workflow injects the repo-level
NPM_TOKENon everyv*tag, and the only release env iscopilotwith no tag ruleset. Owner should tag manually after reviewing the exact merge SHA.
Suggested sequence
- Rebase release PR onto current
main(stale base). - Owner resolves LICENSE + publish boundary.
- Ship v2.24.4.
- Open two follow-up PRs: ANN result-level test, provider-fallback warning toast.
Summary
Bump the package version from
2.24.3to2.24.4. This is a maintenance release covering all independently reviewed fixes merged since v2.24.3.Included changes (since v2.24.3)
Bug fixes:
Maintenance:
Verification
main(post-Include user-scope shards in all-projects tool queries #266 merge).tsc --noEmitclean.Release safety
This PR will not be self-merged. It requires independent review and approval before the
v2.24.4tag is created. The existing Release workflow will verify tag/package version match, publish to npm, and create the GitHub Release.Pending owner decisions
v*tags. The owner should verify the publish configuration before tagging.