@functional-systems/lambdadb-mcp 0.1.6-dev.21 → 0.2.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/CONTRIBUTING.md +16 -13
- package/README.md +4 -3
- package/RELEASING.md +125 -44
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
- Move releases to trunk-based `main`; `develop` is retired. `main` carries the
|
|
6
|
+
next version as `X.Y.Z-dev.0` (now `0.2.0-dev.0`), and each eligible merge
|
|
7
|
+
publishes `X.Y.Z-dev.N`, where N counts first-parent commits since the newest
|
|
8
|
+
stable tag and restarts after each stable release. A merge that sets an RC or
|
|
9
|
+
stable version is verified without publication, and its GitHub Release
|
|
10
|
+
publishes it. After publication, a workflow opens the next development version
|
|
11
|
+
pull request. `scripts/version.mjs` updates every version source.
|
|
12
|
+
|
|
5
13
|
- Pin the LambdaDB SDK to 0.10.0. Expand Query/Fetch/List and rerank limits to
|
|
6
14
|
1000 on supporting servers, retaining facet and collection-list limits of 100.
|
|
7
15
|
Vector dimensions now require integers from 64 to 4096 and similarity accepts
|
package/CONTRIBUTING.md
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
## Branches and validation
|
|
4
4
|
|
|
5
|
-
Create a focused `feat/*` or `fix/*` branch from current `
|
|
6
|
-
`
|
|
7
|
-
|
|
5
|
+
Create a focused `feat/*` or `fix/*` branch from current `main` and open the PR
|
|
6
|
+
against `main`; maintainers merge it with **Squash and merge**. `main` is the only
|
|
7
|
+
long-lived branch: there are no `develop`, release or hotfix branches. Keep local
|
|
8
|
+
credentials and unrelated changes outside the PR. Use a dedicated worktree when
|
|
9
|
+
another checkout is in use.
|
|
8
10
|
|
|
9
11
|
Use Node.js 22.14.0 or newer. CI verifies the exact minimum 22.14.0 and current
|
|
10
12
|
22.x and 24.x LTS releases. Node 20 is end-of-life and is no longer supported.
|
|
@@ -28,8 +30,8 @@ an already packed file without rebuilding it. Fixtures use loopback HTTP and
|
|
|
28
30
|
synthetic credentials; they never call a LambdaDB service. Live verification is
|
|
29
31
|
separate and requires explicit designation of a development project.
|
|
30
32
|
|
|
31
|
-
The `CI` workflow in `.github/workflows/publish.yaml` runs for PRs and pushes
|
|
32
|
-
`
|
|
33
|
+
The `CI` workflow in `.github/workflows/publish.yaml` runs for PRs into and pushes
|
|
34
|
+
to `main`, manual validation and published GitHub Releases. Require the
|
|
33
35
|
`Node.js 22.14.0`, `Node.js 22` and `Node.js 24` checks in branch protection;
|
|
34
36
|
replace any old `Node 20*` / `Node 22` / `Node 24` check requirements when adopting
|
|
35
37
|
this workflow. Branch protection is an administrator setup step, not configured
|
|
@@ -37,22 +39,23 @@ by this change. Validation has read-only permissions and no service credentials.
|
|
|
37
39
|
|
|
38
40
|
## Releases and compatibility
|
|
39
41
|
|
|
40
|
-
|
|
42
|
+
Between releases, `main` carries the next version as the `X.Y.Z-dev.0`
|
|
43
|
+
placeholder; CI assigns the published dev number. Automatic dev publication
|
|
41
44
|
requires separate bootstrap, package-specific npm trust and an explicit repository
|
|
42
45
|
variable. Setup is complete and `NPM_DEV_PUBLISH_ENABLED=true` as verified on
|
|
43
|
-
2026-09-20 (KST); merging into
|
|
46
|
+
2026-09-20 (KST); merging into `main` can publish a new dev version after CI
|
|
44
47
|
succeeds. PRs and manual workflow runs cannot publish.
|
|
45
48
|
Follow [RELEASING.md](RELEASING.md) for every publication action.
|
|
46
49
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
A release pull request into `main` sets the rc/stable version and a dated
|
|
51
|
+
changelog entry; its merge is verified without publication. Maintenance releases
|
|
52
|
+
are cut from `main`. Tags, GitHub Releases and bootstrap publication are explicit
|
|
53
|
+
maintainer actions. After a release publishes, review the bot-opened pull request
|
|
54
|
+
that restores the next `X.Y.Z-dev.0` placeholder.
|
|
52
55
|
|
|
53
56
|
Treat environment variables, tool names/schemas, read-only defaults, ref semantics,
|
|
54
57
|
error handling and supported runtimes as public contracts. Document incompatible
|
|
55
58
|
changes and validate the installed artifact. Update package.json and both root
|
|
56
|
-
package-lock.json versions together with `
|
|
59
|
+
package-lock.json versions together with `node scripts/version.mjs set VERSION`.
|
|
57
60
|
Do not use prerelease channels as implicit write opt-in. Pin workflow actions to
|
|
58
61
|
reviewed commit SHAs. Never commit keys, `.env` files or signed URLs.
|
package/README.md
CHANGED
|
@@ -41,8 +41,9 @@ channel for initial setup. See [release status and policy](RELEASING.md).
|
|
|
41
41
|
|
|
42
42
|
[MCP 0.1.5](https://github.com/lambdadb/lambdadb-mcp/releases/tag/v0.1.5) is published
|
|
43
43
|
with LambdaDB SDK `0.8.1`, MCP SDK `1.32.2`, patched dependencies and Kiro/Claude
|
|
44
|
-
query-schema compatibility.
|
|
45
|
-
|
|
44
|
+
query-schema compatibility. Releases are now trunk-based on `main`, which carries
|
|
45
|
+
the next version as the `0.2.0-dev.0` placeholder; each eligible merge publishes
|
|
46
|
+
`0.2.0-dev.N`. Check npm for the current published dev version. Existing direct MCP
|
|
46
47
|
installations need the new MCP version and an agent restart. CLI 0.1.5 still pins
|
|
47
48
|
MCP 0.1.4 and needs a subsequent CLI release with an updated pin.
|
|
48
49
|
|
|
@@ -445,7 +446,7 @@ They do not require credentials
|
|
|
445
446
|
or create remote collections. `test:package` additionally installs the actual
|
|
446
447
|
tarball in a clean consumer directory and repeats the tool contracts over real
|
|
447
448
|
stdio, checking version identity, config errors, stdout and process termination.
|
|
448
|
-
CI validates Node 22.14.0, current 22.x and 24.x on PRs and pushes to
|
|
449
|
+
CI validates Node 22.14.0, current 22.x and 24.x on PRs into and pushes to main.
|
|
449
450
|
See [CONTRIBUTING.md](CONTRIBUTING.md) and [RELEASING.md](RELEASING.md) for checks,
|
|
450
451
|
release policy and the explicitly enabled automatic dev publication gate.
|
|
451
452
|
|
package/RELEASING.md
CHANGED
|
@@ -1,5 +1,71 @@
|
|
|
1
1
|
# Releasing LambdaDB MCP
|
|
2
2
|
|
|
3
|
+
## Release model
|
|
4
|
+
|
|
5
|
+
Releases are trunk-based: `main` is the only long-lived branch and the default
|
|
6
|
+
branch. Every change reaches `main` through a pull request; feature and fix pull
|
|
7
|
+
requests are merged with **Squash and merge**. The organization ruleset
|
|
8
|
+
`protect-main` requires a pull request with one approval (the `dev` team may
|
|
9
|
+
bypass the approval) and blocks deletion and force pushes. There are no
|
|
10
|
+
`develop`, release or hotfix branches; maintenance releases are cut from `main`,
|
|
11
|
+
and anything merged into `main` ships in the next release.
|
|
12
|
+
|
|
13
|
+
| Channel | Committed version | Published version | Trigger | Git tag | npm dist-tag |
|
|
14
|
+
| --- | --- | --- | --- | --- | --- |
|
|
15
|
+
| Development | `X.Y.Z-dev.0` | `X.Y.Z-dev.N` (N ≥ 1, assigned by CI) | `main` push, explicitly enabled | None | dev |
|
|
16
|
+
| Release candidate | `X.Y.Z-rc.N` | `X.Y.Z-rc.N` | Published GitHub prerelease `vX.Y.Z-rc.N` | `vX.Y.Z-rc.N` | rc |
|
|
17
|
+
| Stable | `X.Y.Z` | `X.Y.Z` | Published GitHub release `vX.Y.Z` | `vX.Y.Z` | latest |
|
|
18
|
+
|
|
19
|
+
Between releases, `main` carries the next version with the development
|
|
20
|
+
placeholder `X.Y.Z-dev.0`; number 0 is never published. A release pull request
|
|
21
|
+
sets the RC or stable version, and that exact merge commit on `main` is tagged.
|
|
22
|
+
Published version, committed version and tag agree. Only these canonical forms
|
|
23
|
+
are accepted, without leading zeroes or build suffixes. `package.json` and both
|
|
24
|
+
root lockfile versions must match. MCP initialize reads its version from the
|
|
25
|
+
installed package.json; there is no second version constant. The repository URL
|
|
26
|
+
must identify this exact public GitHub repository.
|
|
27
|
+
|
|
28
|
+
Change every version source at once with the version script. It keeps each
|
|
29
|
+
file's formatting, accepts only committed forms (`X.Y.Z-dev.0`, `X.Y.Z-rc.N`,
|
|
30
|
+
`X.Y.Z`) and fails unless all sources agree afterwards:
|
|
31
|
+
|
|
32
|
+
```sh
|
|
33
|
+
node scripts/version.mjs get # print the committed version
|
|
34
|
+
node scripts/version.mjs set 0.2.0-rc.1 # release pull request
|
|
35
|
+
node scripts/version.mjs set 0.2.1-dev.0 # next development version
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
The `CI` workflow (`.github/workflows/publish.yaml`) selects one run mode:
|
|
39
|
+
|
|
40
|
+
- Pull requests into `main` and manual runs: validation only, no credentials.
|
|
41
|
+
- `main` push with `X.Y.Z-dev.0`: validation, then an automatic dev build (see
|
|
42
|
+
below).
|
|
43
|
+
- `main` push with `X.Y.Z-rc.N` or `X.Y.Z` (a release pull request merge):
|
|
44
|
+
validation plus the publication job's release metadata, changelog, ancestry,
|
|
45
|
+
pack and installed-package checks, with no publication. Tag only after it
|
|
46
|
+
passes.
|
|
47
|
+
- Published GitHub Release: the same checks against the tag, then publication of
|
|
48
|
+
its RC or stable version.
|
|
49
|
+
|
|
50
|
+
After an RC or stable publication succeeds, the "Open next development version"
|
|
51
|
+
workflow (`.github/workflows/next-dev-version.yaml`) opens a pull request that
|
|
52
|
+
restores the placeholder: the same `X.Y.Z-dev.0` after an RC, or the next patch
|
|
53
|
+
`X.Y.(Z+1)-dev.0` after a stable release. Change it with
|
|
54
|
+
`node scripts/version.mjs set` if the next release is a minor or major version,
|
|
55
|
+
then review and merge it. The branch is named after the release tag
|
|
56
|
+
(`chore/next-dev-after-vX.Y.Z-rc.N`), so consecutive RCs each get their own pull
|
|
57
|
+
request. Rerunning the workflow is safe: it reuses an existing branch and opens
|
|
58
|
+
a pull request only when that branch has none in any state.
|
|
59
|
+
Pull requests opened by GitHub Actions do not trigger CI, and `main` requires no
|
|
60
|
+
status checks, so the workflow does not dispatch CI; run the `CI` workflow on the
|
|
61
|
+
branch manually for checks before merging, and the `main` push runs the full
|
|
62
|
+
checks when it merges. The workflow has `contents: write` and
|
|
63
|
+
`pull-requests: write` and never publishes.
|
|
64
|
+
|
|
65
|
+
The release records that follow, through "Historical bootstrap and 0.1.0
|
|
66
|
+
status", are dated records from the earlier develop/main flow and are kept
|
|
67
|
+
unchanged.
|
|
68
|
+
|
|
3
69
|
## Current stable release: 0.1.5 (2026-10-25 KST)
|
|
4
70
|
|
|
5
71
|
[v0.1.5](https://github.com/lambdadb/lambdadb-mcp/releases/tag/v0.1.5) tags main
|
|
@@ -144,23 +210,15 @@ As verified on **2026-09-20 (KST)**:
|
|
|
144
210
|
the `0.1.1-dev.1` base; CI generates its dev counter from first-parent history.
|
|
145
211
|
Eligible develop pushes can publish the next dev version while leaving
|
|
146
212
|
`latest` on `0.1.0`.
|
|
147
|
-
- See the [validation record](https://github.com/lambdadb/lambdadb-mcp/blob/
|
|
213
|
+
- See the [validation record](https://github.com/lambdadb/lambdadb-mcp/blob/main/docs/validation/2026-09-20-npm.md) for package,
|
|
148
214
|
provenance, and live-service evidence and their separate scopes.
|
|
149
215
|
|
|
150
216
|
These are dated observations, not fixed channel values. Recheck the registry and
|
|
151
217
|
repository variable before the next release. The bootstrap and trust sections
|
|
152
218
|
below describe setup and recovery; they are not outstanding setup tasks.
|
|
153
219
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
| develop | `X.Y.Z-dev.N` | Successful push validation, explicitly enabled | dev |
|
|
157
|
-
| reviewed main history | `X.Y.Z-rc.N` | Published GitHub prerelease `vX.Y.Z-rc.N` | rc |
|
|
158
|
-
| reviewed main history | `X.Y.Z` | Published GitHub release `vX.Y.Z` | latest |
|
|
159
|
-
|
|
160
|
-
Only these canonical forms are accepted, without leading zeroes or build suffixes.
|
|
161
|
-
`package.json` and both root lockfile versions must match. MCP initialize reads
|
|
162
|
-
its version from the installed package.json; there is no second version constant.
|
|
163
|
-
The repository URL must identify this exact public GitHub repository.
|
|
220
|
+
The release model at the top of this document replaces the earlier develop-based
|
|
221
|
+
channel table.
|
|
164
222
|
|
|
165
223
|
## Validation and the publication artifact
|
|
166
224
|
|
|
@@ -197,7 +255,7 @@ record performed or not performed. They require a designated development project
|
|
|
197
255
|
not merely the presence of an existing `.env.local` or credential. See README
|
|
198
256
|
for `LAMBDADB_RUN_LIVE_TESTS=1` and project confirmation. Do not load production
|
|
199
257
|
credentials into package/CI tests. Authorized development-project live tests have
|
|
200
|
-
passed; the [validation record](https://github.com/lambdadb/lambdadb-mcp/blob/
|
|
258
|
+
passed; the [validation record](https://github.com/lambdadb/lambdadb-mcp/blob/main/docs/validation/2026-09-20-npm.md) identifies the
|
|
201
259
|
tested source and installed package. These results do not automatically validate
|
|
202
260
|
a future release candidate.
|
|
203
261
|
|
|
@@ -207,7 +265,7 @@ npm trust configuration requires an existing package. See the official
|
|
|
207
265
|
[npm trust prerequisites](https://docs.npmjs.com/cli/v11/commands/npm-trust/).
|
|
208
266
|
The TypeScript SDK's or CLI's trust settings do not cover this package.
|
|
209
267
|
|
|
210
|
-
1. Review and merge preparation, validate a clean reviewed
|
|
268
|
+
1. Review and merge preparation, validate a clean reviewed candidate,
|
|
211
269
|
and confirm its version is the real bootstrap prerelease `0.1.0-dev.1`.
|
|
212
270
|
2. Obtain authorization for first publication. An authorized npm
|
|
213
271
|
`functional-systems` organization owner uses interactive `npm login` with MFA,
|
|
@@ -251,46 +309,69 @@ The workflow uses a GitHub-hosted runner, Node 24, npm >=11.5.1,
|
|
|
251
309
|
`id-token: write` only in the publication job, public access and provenance.
|
|
252
310
|
It has no npm token secret. See [npm Trusted Publishing](https://docs.npmjs.com/trusted-publishers/).
|
|
253
311
|
|
|
254
|
-
##
|
|
312
|
+
## Automatic dev publication: a separate authorization
|
|
255
313
|
|
|
256
314
|
Leave repository variable `NPM_DEV_PUBLISH_ENABLED` unset or false through
|
|
257
|
-
bootstrap and trust setup. Only after authorizing ongoing
|
|
258
|
-
|
|
315
|
+
bootstrap and trust setup. Only after authorizing ongoing dev publication, set it
|
|
316
|
+
to `true` in GitHub **Settings → Secrets and variables → Actions → Variables**.
|
|
259
317
|
This repository completed that activation; the variable was verified as `true` on
|
|
260
|
-
2026-09-20 (KST).
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
318
|
+
2026-09-20 (KST). With it set, a reviewed `main` push whose committed version is
|
|
319
|
+
`X.Y.Z-dev.0` publishes after validation, and a rerun of its existing push
|
|
320
|
+
workflow can publish. Pull requests, manual runs and release verification never
|
|
321
|
+
publish. Disable the variable to stop future automatic publication; the job then
|
|
322
|
+
still prepares and tests the dev artifact without a registry write. Do not cancel
|
|
323
|
+
an in-progress registry write as rollback.
|
|
324
|
+
|
|
325
|
+
The workflow checks out the exact push SHA and publishes `X.Y.Z-dev.N`, where N
|
|
326
|
+
is the number of first-parent commits on `main` since the newest stable release
|
|
327
|
+
tag (`vA.B.C`) reachable from that commit, or since the root commit when there is
|
|
328
|
+
none. N is the same on every rerun of a commit, restarts at 1 after each stable
|
|
329
|
+
release, and keeps increasing across the RCs of one version. Preparation fails
|
|
330
|
+
unless `X.Y.Z` is newer than the newest stable tag, so a missed next-version
|
|
331
|
+
change cannot publish a lower version, and fails for any committed dev version
|
|
332
|
+
other than the `-dev.0` placeholder. Generated package/lock versions and
|
|
333
|
+
`gitHead` (the source commit) exist only in the runner; no version commits, tags
|
|
334
|
+
or GitHub Releases are created for dev builds. Disable force pushes/history
|
|
335
|
+
rewrites; numbers can have gaps when pushes are superseded.
|
|
336
|
+
|
|
337
|
+
The earlier develop flow numbered dev builds by all first-parent commits on
|
|
338
|
+
`develop` (last published: `0.1.6-dev.21`). The trunk-based `main` starts at
|
|
339
|
+
`0.2.0-dev.0`, so its dev builds sort above every earlier dev build and the next
|
|
340
|
+
release is 0.2.0 unless a release pull request chooses otherwise.
|
|
341
|
+
|
|
342
|
+
Remote `main` HEAD is checked before preparation and immediately before the
|
|
343
|
+
write; a commit that is no longer the head of `main` is skipped. Versions older
|
|
344
|
+
than the current channel are skipped. A version already published from the same
|
|
345
|
+
commit and artifact is skipped as `already-published`; the same version from a
|
|
346
|
+
different commit fails. All publication jobs share non-cancelling concurrency so
|
|
347
|
+
registry writes do not race. A newer pending job can replace an older pending
|
|
348
|
+
job; this does not promise a package for every rapid merge. Re-run an explicit
|
|
349
|
+
release if it was superseded in the pending queue and still needs publication.
|
|
278
350
|
|
|
279
351
|
## Explicit rc/stable publication
|
|
280
352
|
|
|
281
|
-
1.
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
353
|
+
1. Open a release pull request into `main` that sets the version with
|
|
354
|
+
`node scripts/version.mjs set X.Y.Z-rc.N` (or `X.Y.Z`) and adds a dated
|
|
355
|
+
`## [VERSION] - YYYY-MM-DD` changelog entry. Retain validation/live-test
|
|
356
|
+
status for the candidate.
|
|
357
|
+
2. Merge it. That `main` push runs the publication job in verification mode:
|
|
358
|
+
release metadata, changelog and ancestry checks, one pack and the
|
|
359
|
+
installed-package tests, with no publication. Do not merge other pull
|
|
360
|
+
requests until the release is tagged, or tag the release pull request's merge
|
|
361
|
+
commit explicitly.
|
|
362
|
+
3. After verification passes, obtain authorization, tag that exact merge commit
|
|
363
|
+
on `main` as `vVERSION`, and publish the GitHub Release with
|
|
364
|
+
`prerelease: true` for rc or `false` for stable. Draft releases do not
|
|
365
|
+
publish. Do not create a dev GitHub Release.
|
|
289
366
|
4. The workflow validates the release tag, package versions, prerelease flag,
|
|
290
367
|
changelog and ancestry in origin/main; it packs/tests once and publishes the
|
|
291
368
|
exact file to rc/latest with OIDC and provenance. A successful CI run alone
|
|
292
|
-
is not publication evidence. Verify npm
|
|
293
|
-
|
|
369
|
+
is not publication evidence. Verify npm.
|
|
370
|
+
5. Review and merge the next development version pull request opened by the
|
|
371
|
+
"Open next development version" workflow (see the release model above).
|
|
372
|
+
|
|
373
|
+
Address RC feedback in new pull requests into `main` and release the next RC
|
|
374
|
+
number. Never reuse a published version or move its tag.
|
|
294
375
|
|
|
295
376
|
## Duplicate prevention, registry lag and recovery
|
|
296
377
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@functional-systems/lambdadb-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0-dev.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "MCP server for LambdaDB data plane",
|
|
6
6
|
"type": "module",
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
"access": "public",
|
|
63
63
|
"registry": "https://registry.npmjs.org"
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "eb0081472b2517cfd24bd8276c815b6995b613d7"
|
|
66
66
|
}
|