@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 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 `develop`; open PRs with
6
- `develop` explicitly selected as the base. Keep local credentials and unrelated
7
- changes outside the PR. Use a dedicated worktree when another checkout is in use.
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 to
32
- `develop`/`main`, manual validation and published GitHub Releases. Require the
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
- Keep develop's reviewed base in `X.Y.Z-dev.N` form. Automatic dev publication
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 develop can publish a new dev version after CI
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
- Prepare rc/stable metadata on a release branch and review it into `main`. Promote
48
- with merge commits to preserve main/develop ancestry. When synchronizing main
49
- back into develop through a PR, include the next dev base. Do not leave stable
50
- metadata on develop, where automatic version generation requires a dev version.
51
- Tags, GitHub Releases and bootstrap publication are explicit maintainer actions.
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 `npm version VERSION --no-git-tag-version`.
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. This checkout starts the next `0.1.6-dev.1` source
45
- base; check npm for the current published dev version. Existing direct MCP
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 develop/main.
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/develop/docs/validation/2026-09-20-npm.md) for package,
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
- | Source | Version | Trigger | npm dist-tag |
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/develop/docs/validation/2026-09-20-npm.md) identifies the
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 develop candidate,
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
- ## Enable automatic dev publication: a separate authorization
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 develop publication,
258
- set it to `true` in GitHub **Settings → Secrets and variables → Actions → Variables**.
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). The next eligible develop push, or a rerun of its existing push
261
- workflow, can publish. `workflow_dispatch`, PRs and main
262
- pushes validate only. Disable the variable to stop future automatic publication;
263
- do not cancel an in-progress registry write as rollback.
264
-
265
- The generator reuses the CLI's first-parent strategy: for a reviewed base
266
- `X.Y.Z-dev.N`, set N to `git rev-list --first-parent --count HEAD` from a full
267
- checkout. Numbers can have gaps; reruns of the same commit generate the same
268
- version. Disable force pushes/history rewrites. Generated package/lock versions
269
- and gitHead exist only in the runner; no version commits, tags or GitHub Releases
270
- are created for dev builds. Review a new base when starting another release line.
271
-
272
- Remote develop HEAD is checked before preparation and immediately before the
273
- write. Stale jobs and versions older than the current channel are skipped.
274
- All publication jobs share non-cancelling concurrency so registry writes do not
275
- race. A newer pending job can replace an older pending job; this does not promise
276
- a package for every rapid merge. Re-run an explicit release if it was superseded
277
- in the pending queue and still needs publication.
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. Prepare matching package/lock metadata and a dated
282
- `## [VERSION] - YYYY-MM-DD` changelog entry on a release branch. Review into
283
- main and retain validation/live-test status for the candidate.
284
- 2. Ensure `publish.yaml` exists on the default branch (`main`). The dev push
285
- path does not require that promotion, but GitHub Release handling does.
286
- 3. Obtain authorization, tag the verified main commit as `vVERSION`, and publish
287
- the GitHub Release with `prerelease: true` for rc or `false` for stable.
288
- Draft releases do not publish. Do not create a dev GitHub Release.
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 and synchronize release changes into
293
- develop with its next dev base via PR.
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.1.6-dev.21",
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": "c5d5db50c93d51be066b9586445c5c649f7f8a2a"
65
+ "gitHead": "eb0081472b2517cfd24bd8276c815b6995b613d7"
66
66
  }