@functional-systems/lambdadb-cli 0.1.0-dev.4 → 0.1.0

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,33 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.1.0] - 2026-09-18
6
+
7
+ ### Added
8
+
9
+ - First stable release of the project-scoped LambdaDB CLI: configure, doctor,
10
+ collection list/describe/create, JSONL ordinary/bulk import, query and ID fetch.
11
+ - Explicit branch/tag/alias read targets, noninteractive commands, versioned JSON
12
+ output and documented exit codes, including partial and unknown write outcomes.
13
+ - Reuse of TypeScript SDK 0.5.1 for authentication, transport, read retries,
14
+ pagination, bulk transfers and large response downloads.
15
+ - Apache-2.0 licensing, installed-package contract tests, opt-in development-project
16
+ smoke tests and provenance-enabled npm publication.
17
+
18
+ ### Fixed
19
+
20
+ - Development publication verifies registry propagation for up to five minutes,
21
+ including bounded read subprocesses and polling sleeps. Transient read failures
22
+ can recover without repeating the successful publication. Authentication,
23
+ malformed metadata and source/artifact conflicts still fail verification.
24
+ - Publication logs distinguish an accepted write from verification still pending;
25
+ a pending result remains nonzero and requires registry reads before a rerun.
26
+
27
+ ### Documentation
28
+
29
+ - Record the completed bootstrap, initial OIDC publication, provenance/consumer
30
+ checks and the observed bootstrap `latest` tag behavior.
31
+
5
32
  ## [0.1.0-dev.1] - 2026-09-18
6
33
 
7
34
  ### Added
@@ -37,9 +64,10 @@
37
64
 
38
65
  ### Release status
39
66
 
40
- Prepared for the first public development release on npm's `dev` channel. This
41
- entry records the candidate contents and preparation date, not a publication.
42
- The development-project smoke is recorded in VALIDATION.md. npm organization
43
- permission verification, authorized bootstrap publication and Trusted Publishing
44
- setup remain pending. Automatic dev publication is disabled until maintainers
45
- enable `NPM_DEV_PUBLISH_ENABLED`; main promotion is required only for rc/stable.
67
+ Published publicly on npm's `dev` channel on 2026-09-18 as the manual bootstrap.
68
+ The initial OIDC build `0.1.0-dev.4` followed from the same reviewed develop
69
+ commit; generated dev versions do not create separate source changelog entries.
70
+ Automatic dev publication is enabled. The observed `latest` tag remains at the
71
+ bootstrap until a reviewed stable release replaces it. Publication, provenance,
72
+ installation and development-project smoke evidence are recorded in VALIDATION.md.
73
+ Main promotion is required only for rc/stable.
package/CONTRIBUTING.md CHANGED
@@ -14,9 +14,6 @@ not LambdaDB collection branches or refs.
14
14
  4. Address review feedback and pass both required CI checks before merging.
15
15
  5. Delete the short-lived branch after verifying the merge.
16
16
 
17
- For the initial MVP, `feat/cli-mvp` targets the initial `develop` commit. The
18
- review includes the CLI implementation, tests, documentation and CI setup.
19
-
20
17
  ## Local and CI validation
21
18
 
22
19
  ```sh
@@ -67,14 +64,18 @@ commit so the shared branch ancestry is preserved. After promotion, synchronize
67
64
  `develop`, especially release-only changes or hotfixes. Include the next intended
68
65
  development base in that synchronization PR so develop retains a dev version.
69
66
 
70
- A separate `release/*` branch is optional when stabilization must proceed while
71
- new work continues on `develop`. It is not required for the initial release.
67
+ A separate `release/*` branch can be created from reviewed develop and target
68
+ main when preparing rc/stable metadata while develop retains its automatic dev
69
+ base. The first stable release uses `release/0.1.0` for this reason. Do not merge
70
+ stable package metadata into develop without setting its next dev base, because
71
+ automatic development publication requires an `X.Y.Z-dev.N` version.
72
72
 
73
73
  The first npm bootstrap, rc/stable tags and GitHub Releases remain explicit
74
74
  release actions. Subsequent dev publication is automatic once enabled.
75
- The `0.1.0-dev.1` candidate sets `private: false` and prepares metadata
76
- for the `dev` channel; the development-project smoke is recorded in
77
- [VALIDATION.md](VALIDATION.md), and publication remains pending. Follow
75
+ Bootstrap `0.1.0-dev.1` and the first OIDC development publication `0.1.0-dev.4`
76
+ were verified on 2026-09-18; automatic dev publication is enabled. Publication,
77
+ provenance and development-project smoke evidence are recorded in
78
+ [VALIDATION.md](VALIDATION.md). Follow
78
79
  [RELEASING.md](RELEASING.md) for package preparation, version/channel rules,
79
80
  credentialed live evidence, initial npm bootstrap and Trusted Publishing.
80
81
  Local tests and PR validation alone never trigger publication.
package/README.md CHANGED
@@ -10,7 +10,7 @@ Requires Node.js 22.14 or newer and npm.
10
10
 
11
11
  ### Install from npm
12
12
 
13
- After the first development version is published, install the `dev` channel:
13
+ The verified development build is available on the `dev` channel:
14
14
 
15
15
  ```sh
16
16
  npm install --global @functional-systems/lambdadb-cli@dev
@@ -18,6 +18,13 @@ lambdadb --version
18
18
  lambdadb --help
19
19
  ```
20
20
 
21
+ This checkout prepares `0.1.0`. Once its GitHub Release and npm publication are
22
+ complete, install the stable version with:
23
+
24
+ ```sh
25
+ npm install --global @functional-systems/lambdadb-cli@0.1.0
26
+ ```
27
+
21
28
  The `dev` channel contains prerelease versions. For reproducible CI runs, pin an
22
29
  exact published version instead of the moving `dev` tag. See
23
30
  [RELEASING.md](RELEASING.md#current-status) for release preparation status and
package/RELEASING.md CHANGED
@@ -2,18 +2,43 @@
2
2
 
3
3
  ## Current status
4
4
 
5
- The first public development candidate is `0.1.0-dev.1`, targeting npm's `dev`
6
- channel. Release preparation sets `private: false`; metadata now permits
7
- publication, but no package has been published by this project workflow.
5
+ The `release/0.1.0` candidate prepares the first stable version from reviewed
6
+ `develop` commit `c8947e9`. It changes package/lock versions and release documents;
7
+ CLI runtime, dependencies, tests and workflows match the verified development build.
8
+ The promotion PR targets `main` directly so `develop` keeps its automatic dev base.
9
+ Merge with a merge commit, then obtain authorization for `v0.1.0` and a non-prerelease
10
+ GitHub Release. Main promotion alone does not publish npm. After publication,
11
+ verify `latest=0.1.0`, provenance and a clean consumer installation. Synchronize
12
+ main back to develop through a PR that also sets the next development base.
13
+ Stable publication has not yet been performed.
14
+
15
+ The ordinary develop merge published `0.1.0-dev.5` through OIDC in
16
+ [one successful workflow attempt](https://github.com/lambdadb/lambdadb-cli/actions/runs/35344153978).
17
+ The new verification logic handled approximately three minutes of registry
18
+ propagation without repeating the write or rerunning the workflow. A fresh npm
19
+ installation passed 35 CLI contracts, integrity and provenance/signature checks.
20
+
21
+ Bootstrap and initial OIDC publication were completed on 2026-09-18:
22
+
23
+ - `0.1.0-dev.1` was published publicly from reviewed develop as the manual bootstrap.
24
+ - `0.1.0-dev.4` was published by GitHub Actions with verified provenance for
25
+ commit `f2397ba`. Its registry installation passed all 35 CLI contract tests.
26
+ - The repository variable `NPM_DEV_PUBLISH_ENABLED=true` enables eligible develop
27
+ pushes after Node 22/24 CI. Main promotion is required only for rc/stable.
28
+
29
+ These are recorded validation milestones, not a continuously updated list of
30
+ versions. Check npm for current dist-tags. At verification, `dev` pointed to
31
+ `0.1.0-dev.4` and `latest` remained at the bootstrap `0.1.0-dev.1`: the first
32
+ publication created both tags despite `--tag dev`, and removing `latest` returned
33
+ HTTP 400. The next dev publication preserved `latest`. No stable version has been
34
+ published; explicitly select `@dev` or an exact development version until a
35
+ reviewed rc/stable release is available. Do not repeatedly delete the bootstrap
36
+ tag or publish a placeholder to work around it.
37
+
8
38
  The CLI is licensed under [Apache-2.0](LICENSE), with matching package metadata.
9
- The development-project smoke is recorded in [VALIDATION.md](VALIDATION.md).
10
- npm organization permission verification and an authorized first bootstrap from
11
- reviewed `develop` remain required. Main promotion is required for rc/stable
12
- releases, not for development publication. Automatic dev publication is disabled
13
- until the repository variable `NPM_DEV_PUBLISH_ENABLED` is set to `true` after
14
- bootstrap and Trusted Publishing setup.
15
- The public npm lookup for `@functional-systems/lambdadb-cli` returned E404 on
16
- 2026-09-18; this is not proof that the name is available or that ownership exists.
39
+ Publication, provenance and development-project smoke evidence are recorded in
40
+ [VALIDATION.md](VALIDATION.md). Local bootstrap has no GitHub Actions provenance;
41
+ the automated development artifact does.
17
42
 
18
43
  The workflow rejects private packages and missing license metadata. Explicit
19
44
  rc/stable releases also require matching tags, prerelease flags and dated
@@ -76,9 +101,23 @@ and skips publication only when they agree and the dev tag already points there.
76
101
  Conflicts fail; missing or older tag state requires maintainer investigation.
77
102
  Registry authentication, transport and invalid-response failures are not treated
78
103
  as missing versions. A publish request is never retried automatically. After a
79
- successful write, bounded registry reads verify the manifest and dev tag. If
80
- propagation is delayed, retry reads before rerunning the job. Newer dev versions
81
- and stale commits are skipped without changing tags.
104
+ successful write, registry reads get a shared five-minute monotonic budget to
105
+ verify the source commit, tarball integrity and dev tag. Each read has at most
106
+ 15 seconds, capped to the remaining budget; polling sleeps are at most 10 seconds.
107
+ Reads prefer fresh metadata and disable npm's nested fetch retries. Missing
108
+ metadata, HTTP 429/5xx and recognized temporary connection/timeout errors are
109
+ retried only after a successful publish. Authentication, malformed responses and
110
+ artifact conflicts remain fatal. Process termination or scheduling can delay
111
+ reporting, but responses at or after the deadline cannot pass verification.
112
+
113
+ The script reports successful publication before waiting. If propagation still
114
+ exceeds the budget, it emits `result=published-verification-pending` and exits
115
+ nonzero. This means the write succeeded but verification is incomplete; it does
116
+ not authorize another publish. Retry registry reads first. Once the manifest and
117
+ dev tag agree, rerun the failed job: an identical artifact reports
118
+ `result=already-published` without another write. Newer dev versions and stale
119
+ commits are skipped without changing tags. A failed publish remains an uncertain
120
+ write and is never automatically retried.
82
121
 
83
122
  After setup, an eligible push is sufficient; no manual version increment is
84
123
  needed. Users update with `npm install -g @functional-systems/lambdadb-cli@dev`,
@@ -152,6 +191,8 @@ Trusted Publishers are package-specific. The SDK's configuration does not cover
152
191
  this CLI. npm requires an existing package before configuring its trust policy.
153
192
  See the official [npm trust prerequisites](https://docs.npmjs.com/cli/v11/commands/npm-trust/).
154
193
 
194
+ This one-time bootstrap was completed for this package on 2026-09-18. The steps
195
+ below document setup and recovery; do not repeat the bootstrap for normal dev builds.
155
196
  For a new package, first complete the reviewed release preparation and preflight.
156
197
  An authorized npm organization owner performs the bootstrap from the verified
157
198
  develop commit, using interactive `npm login` and the account's MFA, then
package/VALIDATION.md CHANGED
@@ -3,7 +3,112 @@
3
3
  Date: 2026-09-18. Local contract tests use loopback servers and synthetic
4
4
  credentials. A separate authenticated development-project smoke is recorded below.
5
5
 
6
- ## Automatic development-release validation
6
+ ## Stable 0.1.0 candidate
7
+
8
+ Prepared `release/0.1.0` from reviewed develop commit
9
+ `c8947e96308283ac593e712716f0732121bb1958`. Relative to that commit, only package
10
+ versions and release documents change. Runtime source, dependencies, tests,
11
+ examples and workflows are unchanged. Stable publication remains pending.
12
+
13
+ On Node.js 24.15.0 / npm 11.12.1, a new worktree passed `npm ci`, lint, type
14
+ checking, all 59 source tests, and 35 installed-package contract tests.
15
+ `RELEASE_TAG=v0.1.0 RELEASE_PRERELEASE=false npm run check:version -- --release`
16
+ passed and selected `latest`. CI results for the final commit belong to the
17
+ promotion PR; local success is not a substitute for those required checks.
18
+
19
+ A newly packed `0.1.0` tarball was installed into an isolated temporary consumer.
20
+ Its executable reported `0.1.0` and was selected with `LAMBDADB_TEST_CLI` while
21
+ running `node --test --test-reporter=tap test/live/cli.test.mjs`. The launcher used
22
+ the maintainer's existing opt-in development settings and the in-memory variable
23
+ mapping described below; it did not change or copy `.env.local` into the worktree.
24
+ Target: `bench-recall` at
25
+ `https://internal-dev-aws-apne2-v3-c05a2b5d492a.lambdadb.ai`.
26
+
27
+ - Doctor and temporary collection creation passed within the first second.
28
+ - Two ordinary documents with 3 MiB payloads each and one bulk document were
29
+ accepted at approximately 3 seconds. Acceptance did not imply search visibility.
30
+ - Query and ID fetch on `branch:main` returned all three documents with exact
31
+ contents at approximately 69 seconds, without a pending-write overlay.
32
+ - The live test passed in 69.6 seconds. Cleanup was accepted, then an independent
33
+ SDK get returned `ResourceNotFoundError` for
34
+ `cli-smoke-b854ef72-1448-42ae-8c9a-ce5c0441f104`, confirming its absence.
35
+ - The source `.env.local` was byte-for-byte unchanged, and the temporary consumer
36
+ and tarball were removed. No key or signed URL is recorded here.
37
+
38
+ Only documentation was updated after this live run; the final package is checked
39
+ again with the installed-package contracts. This is development-service evidence
40
+ for a bounded sample, not a latency/readiness guarantee or live tag/alias coverage.
41
+ The stable npm artifact and release-event workflow remain unverified until the
42
+ explicit publication and subsequent consumer/provenance checks.
43
+
44
+ ## Public bootstrap and OIDC publication
45
+
46
+ On 2026-09-18, the maintainer authorized the public bootstrap
47
+ [`0.1.0-dev.1`](https://www.npmjs.com/package/@functional-systems/lambdadb-cli/v/0.1.0-dev.1)
48
+ from reviewed develop commit `f2397ba`. Clean installation, lint, types and
49
+ 53 source tests passed; the exact tarball passed 35 installed-CLI tests and its
50
+ published integrity matched. This local publication has no GitHub provenance.
51
+
52
+ After npm Trusted Publisher setup and repository variable activation, the
53
+ [develop push workflow, attempt 2](https://github.com/lambdadb/lambdadb-cli/actions/runs/35340278724/attempts/2)
54
+ passed Node 22/24 validation, prepared `0.1.0-dev.4`, tested its exact tarball,
55
+ and published with OIDC and provenance. The old six-attempt verification loop
56
+ exhausted its five 5-second sleeps before npm metadata propagation completed, so
57
+ the job failed after a successful publication. Read-only checks subsequently
58
+ confirmed the artifact. The
59
+ [protected rerun, attempt 3](https://github.com/lambdadb/lambdadb-cli/actions/runs/35340278724/attempts/3)
60
+ completed with `result=already-published`, proving the same source/artifact was
61
+ recognized without a second registry write.
62
+
63
+ The public [`0.1.0-dev.4` provenance](https://registry.npmjs.org/-/npm/v1/attestations/@functional-systems%2flambdadb-cli@0.1.0-dev.4)
64
+ identifies `lambdadb/lambdadb-cli`, `.github/workflows/publish.yaml`,
65
+ `refs/heads/develop`, source commit `f2397ba102c67f1af9ed5ae0b8b8d47c06da7d4b`,
66
+ and workflow attempt 2. Registry `gitHead`, downloaded tarball digest, installed
67
+ lockfile integrity and provenance subject agreed. A clean `@dev` installation
68
+ using an isolated npm cache passed version/help and all 35 CLI contract tests
69
+ with the generated package metadata. `npm audit signatures` verified four package
70
+ signatures and three attestations, including the CLI. No credentials were added
71
+ to GitHub validation jobs or repository files.
72
+
73
+ At this verification, `dev=0.1.0-dev.4` and `latest=0.1.0-dev.1`. Bootstrap had
74
+ created both tags despite `--tag dev`; a removal attempt for `latest` returned
75
+ HTTP 400. The automated dev publication left `latest` unchanged. This observation
76
+ does not establish a general version-count rule for npm. Bootstrap and OIDC setup
77
+ are complete; main promotion and rc/stable publication remain unperformed.
78
+
79
+ ## Publication verification hardening
80
+
81
+ The follow-up script uses a five-minute monotonic verification budget, 15-second
82
+ maximum read subprocesses and 10-second maximum polling sleeps. It retries only
83
+ missing/lagging metadata and transient post-publication reads. It reports an
84
+ accepted write separately from `published-verification-pending`, which still exits
85
+ nonzero. Authentication, malformed responses and source/artifact mismatches fail
86
+ closed. No late response can satisfy the deadline, and no verification path
87
+ repeats the registry write.
88
+
89
+ Deterministic tests exercise 150/180-second metadata/tag propagation, five-minute
90
+ expiration, read time consuming the budget, capped final I/O/sleep, late success,
91
+ temporary HTTP/transport failures and permanent errors. The changed publication
92
+ logic passed all 59 source tests (12 release-automation tests), lint, type checks
93
+ and version checks on Node 24.15.0; the installed tarball passed 35 CLI contracts.
94
+ A read-only probe used the actual npm CLI and new bounded-read flags to verify
95
+ the existing `0.1.0-dev.4` manifest/tag. Only its preflight and accepted write were
96
+ simulated; the probe performed no registry mutation.
97
+
98
+ The [ordinary develop merge workflow](https://github.com/lambdadb/lambdadb-cli/actions/runs/35344153978)
99
+ published `0.1.0-dev.5` from `c8947e96308283ac593e712716f0732121bb1958`
100
+ on attempt 1. Node 22/24 validation and exact-artifact tests passed. Publication
101
+ succeeded at 12:22:09 UTC; registry verification completed at 12:25:10 UTC with
102
+ `result=published`. The approximately 181-second propagation delay required only
103
+ read retries, with no manual rerun or repeated publication.
104
+
105
+ A fresh npm `@dev` install with an isolated cache passed all 35 CLI contract tests,
106
+ version/help, tarball/lockfile integrity checks and npm signature verification.
107
+ Provenance identified the expected repository, develop ref, workflow, source
108
+ commit and attempt 1. `dev=0.1.0-dev.5`; `latest` remained `0.1.0-dev.1`.
109
+ These registry checks are separate from the development-service smoke below.
110
+
111
+ ## Initial local automation validation (before publication)
7
112
 
8
113
  On Node.js 24.15.0, lint, type checking and all 46 source tests passed, including
9
114
  six release-automation tests. The tests cover deterministic first-parent version
@@ -24,8 +129,9 @@ all 35 installed-CLI contracts.
24
129
  `Node.js 22` and `Node.js 24` check names are retained. Publishing needs both jobs
25
130
  and is restricted to explicit releases or opted-in develop pushes. The repository
26
131
  variable enabling automatic dev publication was not set during this validation.
27
- Actual OIDC authentication, registry writes, provenance and GitHub job ordering
28
- remain unverified until the first authorized automated publication.
132
+ At that stage, OIDC authentication, registry writes, provenance and GitHub job
133
+ ordering were unverified. The later publication evidence above supersedes that
134
+ limitation; it does not turn these original local tests into live registry writes.
29
135
 
30
136
  ## Authenticated development-project smoke
31
137
 
@@ -192,12 +298,9 @@ deployment state of an individual LambdaDB endpoint.
192
298
  receipt. Those capabilities are not implemented.
193
299
  - No Windows-specific permission or signal validation. POSIX modes and injected
194
300
  SIGINT/SIGTERM were checked on macOS; CI targets Linux.
195
- - No npm publication, Trusted Publisher configuration, registry provenance or
196
- release-workflow execution. The `0.1.0-dev.1` candidate sets `private: false`
197
- and targets the `dev` channel. npm organization permissions, authorized
198
- bootstrap publication, trust setup and automatic-dev activation remain pending.
199
- Main promotion is required for explicit rc/stable releases;
200
- Apache-2.0 is recorded in LICENSE and package metadata.
301
+ - No main promotion, explicit rc/stable publication or GitHub Release workflow
302
+ execution. Public bootstrap and automatic dev/OIDC publication are verified
303
+ above, including the five-minute verification behavior on an ordinary develop merge.
201
304
  - Mock large-response tests cover SDK routing/credential separation at 1 MiB;
202
305
  the live sample verifies combined content above 6 MiB. Neither is an exhaustive
203
306
  memory/size stress test. Imports buffer a maximum 64 MiB source file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@functional-systems/lambdadb-cli",
3
- "version": "0.1.0-dev.4",
3
+ "version": "0.1.0",
4
4
  "private": false,
5
5
  "description": "Project-scoped LambdaDB command-line tools",
6
6
  "type": "module",
@@ -52,6 +52,5 @@
52
52
  "bugs": {
53
53
  "url": "https://github.com/lambdadb/lambdadb-cli/issues"
54
54
  },
55
- "license": "Apache-2.0",
56
- "gitHead": "f2397ba102c67f1af9ed5ae0b8b8d47c06da7d4b"
55
+ "license": "Apache-2.0"
57
56
  }