Skip to content

chore: release v2.24.4 - #261

Merged
tickernelz merged 1 commit into
tickernelz:mainfrom
lindixu6-hash:release/v2.24.4
Aug 25, 2026
Merged

chore: release v2.24.4#261
tickernelz merged 1 commit into
tickernelz:mainfrom
lindixu6-hash:release/v2.24.4

Conversation

@lindixu6-hash

@lindixu6-hash lindixu6-hash commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

Bump the package version from 2.24.3 to 2.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

Release safety

This PR will not be self-merged. It requires independent review and approval before the v2.24.4 tag is created. The existing Release workflow will verify tag/package version match, publish to npm, and create the GitHub Release.

Pending owner decisions

  • LICENSE file: chore: add MIT LICENSE file #268 adds the MIT LICENSE text to match package.json metadata. It should be reviewed and merged before or alongside this release.
  • NPM_TOKEN boundary: the Release workflow uses a repository-level token for v* tags. The owner should verify the publish configuration before tagging.

@lindixu6-hash

Copy link
Copy Markdown
Collaborator Author

Release-governance audit added to the PR description. Public evidence: GitHub repository-license API returns 404 and main has no LICENSE/COPYING file, while npm 2.24.3 declares MIT; repository Environments contain only copilot, and NPM_TOKEN is a repository secret consumed by every v* tag. I will keep this release unmerged and untagged until an independent owner decision resolves those boundaries.

@NaNomicon

Copy link
Copy Markdown
Collaborator

Happy to take a look.

@NaNomicon NaNomicon left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

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 (JOINCROSS 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 — clean
  • bun test — 412 pass / 0 fail (after bun run build; the 9 dist/-boundary tests need build output)
  • CROSS JOIN equivalence: ran real @libsql/client in-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:

  1. #257 test asserts SQL text, not behavior (tests/turso-vector-search.test.ts:72-102). It mocks db.all[] and only checks toContain("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).

  2. #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

  1. Rebase before merge. PR is based on eda2c; main has 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.)
  2. 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.json declares 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_TOKEN on every v* tag, and the only release env is copilot with no tag ruleset. Owner should tag manually after reviewing the exact merge SHA.

Suggested sequence

  1. Rebase release PR onto current main (stale base).
  2. Owner resolves LICENSE + publish boundary.
  3. Ship v2.24.4.
  4. Open two follow-up PRs: ANN result-level test, provider-fallback warning toast.

@lindixu6-hash

Copy link
Copy Markdown
Collaborator Author

Rebased onto latest main (post-#266) and updated the changelog to include #257, #258, #259, #266. The LICENSE blocker is addressed by #268 (MIT LICENSE), which you granted permission for in your review. Ready for re-review.

@tickernelz
tickernelz merged commit 5ee7b82 into tickernelz:main Aug 25, 2026
14 checks passed
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.

3 participants