@functional-systems/lambdadb-cli 0.1.0-dev.4 → 0.1.0-dev.5
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 +21 -6
- package/CONTRIBUTING.md +4 -3
- package/RELEASING.md +39 -14
- package/VALIDATION.md +67 -9
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Development publication verifies registry propagation for up to five minutes,
|
|
8
|
+
including bounded read subprocesses and polling sleeps. Transient read failures
|
|
9
|
+
can recover without repeating the successful publication. Authentication,
|
|
10
|
+
malformed metadata and source/artifact conflicts still fail verification.
|
|
11
|
+
- Publication logs distinguish an accepted write from verification still pending;
|
|
12
|
+
a pending result remains nonzero and requires registry reads before a rerun.
|
|
13
|
+
|
|
14
|
+
### Documentation
|
|
15
|
+
|
|
16
|
+
- Record the completed bootstrap, initial OIDC publication, provenance/consumer
|
|
17
|
+
checks and the observed bootstrap `latest` tag behavior.
|
|
18
|
+
|
|
5
19
|
## [0.1.0-dev.1] - 2026-09-18
|
|
6
20
|
|
|
7
21
|
### Added
|
|
@@ -37,9 +51,10 @@
|
|
|
37
51
|
|
|
38
52
|
### Release status
|
|
39
53
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
54
|
+
Published publicly on npm's `dev` channel on 2026-09-18 as the manual bootstrap.
|
|
55
|
+
The initial OIDC build `0.1.0-dev.4` followed from the same reviewed develop
|
|
56
|
+
commit; generated dev versions do not create separate source changelog entries.
|
|
57
|
+
Automatic dev publication is enabled. The observed `latest` tag remains at the
|
|
58
|
+
bootstrap until a reviewed stable release replaces it. Publication, provenance,
|
|
59
|
+
installation and development-project smoke evidence are recorded in VALIDATION.md.
|
|
60
|
+
Main promotion is required only for rc/stable.
|
package/CONTRIBUTING.md
CHANGED
|
@@ -72,9 +72,10 @@ new work continues on `develop`. It is not required for the initial release.
|
|
|
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
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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/RELEASING.md
CHANGED
|
@@ -2,18 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
## Current status
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
Bootstrap and initial OIDC publication were completed on 2026-09-18:
|
|
6
|
+
|
|
7
|
+
- `0.1.0-dev.1` was published publicly from reviewed develop as the manual bootstrap.
|
|
8
|
+
- `0.1.0-dev.4` was published by GitHub Actions with verified provenance for
|
|
9
|
+
commit `f2397ba`. Its registry installation passed all 35 CLI contract tests.
|
|
10
|
+
- The repository variable `NPM_DEV_PUBLISH_ENABLED=true` enables eligible develop
|
|
11
|
+
pushes after Node 22/24 CI. Main promotion is required only for rc/stable.
|
|
12
|
+
|
|
13
|
+
These are recorded validation milestones, not a continuously updated list of
|
|
14
|
+
versions. Check npm for current dist-tags. At verification, `dev` pointed to
|
|
15
|
+
`0.1.0-dev.4` and `latest` remained at the bootstrap `0.1.0-dev.1`: the first
|
|
16
|
+
publication created both tags despite `--tag dev`, and removing `latest` returned
|
|
17
|
+
HTTP 400. The next dev publication preserved `latest`. No stable version has been
|
|
18
|
+
published; explicitly select `@dev` or an exact development version until a
|
|
19
|
+
reviewed rc/stable release is available. Do not repeatedly delete the bootstrap
|
|
20
|
+
tag or publish a placeholder to work around it.
|
|
21
|
+
|
|
8
22
|
The CLI is licensed under [Apache-2.0](LICENSE), with matching package metadata.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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.
|
|
23
|
+
Publication, provenance and development-project smoke evidence are recorded in
|
|
24
|
+
[VALIDATION.md](VALIDATION.md). Local bootstrap has no GitHub Actions provenance;
|
|
25
|
+
the automated development artifact does.
|
|
17
26
|
|
|
18
27
|
The workflow rejects private packages and missing license metadata. Explicit
|
|
19
28
|
rc/stable releases also require matching tags, prerelease flags and dated
|
|
@@ -76,9 +85,23 @@ and skips publication only when they agree and the dev tag already points there.
|
|
|
76
85
|
Conflicts fail; missing or older tag state requires maintainer investigation.
|
|
77
86
|
Registry authentication, transport and invalid-response failures are not treated
|
|
78
87
|
as missing versions. A publish request is never retried automatically. After a
|
|
79
|
-
successful write,
|
|
80
|
-
|
|
81
|
-
|
|
88
|
+
successful write, registry reads get a shared five-minute monotonic budget to
|
|
89
|
+
verify the source commit, tarball integrity and dev tag. Each read has at most
|
|
90
|
+
15 seconds, capped to the remaining budget; polling sleeps are at most 10 seconds.
|
|
91
|
+
Reads prefer fresh metadata and disable npm's nested fetch retries. Missing
|
|
92
|
+
metadata, HTTP 429/5xx and recognized temporary connection/timeout errors are
|
|
93
|
+
retried only after a successful publish. Authentication, malformed responses and
|
|
94
|
+
artifact conflicts remain fatal. Process termination or scheduling can delay
|
|
95
|
+
reporting, but responses at or after the deadline cannot pass verification.
|
|
96
|
+
|
|
97
|
+
The script reports successful publication before waiting. If propagation still
|
|
98
|
+
exceeds the budget, it emits `result=published-verification-pending` and exits
|
|
99
|
+
nonzero. This means the write succeeded but verification is incomplete; it does
|
|
100
|
+
not authorize another publish. Retry registry reads first. Once the manifest and
|
|
101
|
+
dev tag agree, rerun the failed job: an identical artifact reports
|
|
102
|
+
`result=already-published` without another write. Newer dev versions and stale
|
|
103
|
+
commits are skipped without changing tags. A failed publish remains an uncertain
|
|
104
|
+
write and is never automatically retried.
|
|
82
105
|
|
|
83
106
|
After setup, an eligible push is sufficient; no manual version increment is
|
|
84
107
|
needed. Users update with `npm install -g @functional-systems/lambdadb-cli@dev`,
|
|
@@ -152,6 +175,8 @@ Trusted Publishers are package-specific. The SDK's configuration does not cover
|
|
|
152
175
|
this CLI. npm requires an existing package before configuring its trust policy.
|
|
153
176
|
See the official [npm trust prerequisites](https://docs.npmjs.com/cli/v11/commands/npm-trust/).
|
|
154
177
|
|
|
178
|
+
This one-time bootstrap was completed for this package on 2026-09-18. The steps
|
|
179
|
+
below document setup and recovery; do not repeat the bootstrap for normal dev builds.
|
|
155
180
|
For a new package, first complete the reviewed release preparation and preflight.
|
|
156
181
|
An authorized npm organization owner performs the bootstrap from the verified
|
|
157
182
|
develop commit, using interactive `npm login` and the account's MFA, then
|
package/VALIDATION.md
CHANGED
|
@@ -3,7 +3,67 @@
|
|
|
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
|
-
##
|
|
6
|
+
## Public bootstrap and OIDC publication
|
|
7
|
+
|
|
8
|
+
On 2026-09-18, the maintainer authorized the public bootstrap
|
|
9
|
+
[`0.1.0-dev.1`](https://www.npmjs.com/package/@functional-systems/lambdadb-cli/v/0.1.0-dev.1)
|
|
10
|
+
from reviewed develop commit `f2397ba`. Clean installation, lint, types and
|
|
11
|
+
53 source tests passed; the exact tarball passed 35 installed-CLI tests and its
|
|
12
|
+
published integrity matched. This local publication has no GitHub provenance.
|
|
13
|
+
|
|
14
|
+
After npm Trusted Publisher setup and repository variable activation, the
|
|
15
|
+
[develop push workflow, attempt 2](https://github.com/lambdadb/lambdadb-cli/actions/runs/35340278724/attempts/2)
|
|
16
|
+
passed Node 22/24 validation, prepared `0.1.0-dev.4`, tested its exact tarball,
|
|
17
|
+
and published with OIDC and provenance. The old six-attempt verification loop
|
|
18
|
+
exhausted its five 5-second sleeps before npm metadata propagation completed, so
|
|
19
|
+
the job failed after a successful publication. Read-only checks subsequently
|
|
20
|
+
confirmed the artifact. The
|
|
21
|
+
[protected rerun, attempt 3](https://github.com/lambdadb/lambdadb-cli/actions/runs/35340278724/attempts/3)
|
|
22
|
+
completed with `result=already-published`, proving the same source/artifact was
|
|
23
|
+
recognized without a second registry write.
|
|
24
|
+
|
|
25
|
+
The public [`0.1.0-dev.4` provenance](https://registry.npmjs.org/-/npm/v1/attestations/@functional-systems%2flambdadb-cli@0.1.0-dev.4)
|
|
26
|
+
identifies `lambdadb/lambdadb-cli`, `.github/workflows/publish.yaml`,
|
|
27
|
+
`refs/heads/develop`, source commit `f2397ba102c67f1af9ed5ae0b8b8d47c06da7d4b`,
|
|
28
|
+
and workflow attempt 2. Registry `gitHead`, downloaded tarball digest, installed
|
|
29
|
+
lockfile integrity and provenance subject agreed. A clean `@dev` installation
|
|
30
|
+
using an isolated npm cache passed version/help and all 35 CLI contract tests
|
|
31
|
+
with the generated package metadata. `npm audit signatures` verified four package
|
|
32
|
+
signatures and three attestations, including the CLI. No credentials were added
|
|
33
|
+
to GitHub validation jobs or repository files.
|
|
34
|
+
|
|
35
|
+
At this verification, `dev=0.1.0-dev.4` and `latest=0.1.0-dev.1`. Bootstrap had
|
|
36
|
+
created both tags despite `--tag dev`; a removal attempt for `latest` returned
|
|
37
|
+
HTTP 400. The automated dev publication left `latest` unchanged. This observation
|
|
38
|
+
does not establish a general version-count rule for npm. Bootstrap and OIDC setup
|
|
39
|
+
are complete; main promotion and rc/stable publication remain unperformed.
|
|
40
|
+
|
|
41
|
+
## Publication verification hardening
|
|
42
|
+
|
|
43
|
+
The follow-up script uses a five-minute monotonic verification budget, 15-second
|
|
44
|
+
maximum read subprocesses and 10-second maximum polling sleeps. It retries only
|
|
45
|
+
missing/lagging metadata and transient post-publication reads. It reports an
|
|
46
|
+
accepted write separately from `published-verification-pending`, which still exits
|
|
47
|
+
nonzero. Authentication, malformed responses and source/artifact mismatches fail
|
|
48
|
+
closed. No late response can satisfy the deadline, and no verification path
|
|
49
|
+
repeats the registry write.
|
|
50
|
+
|
|
51
|
+
Deterministic tests exercise 150/180-second metadata/tag propagation, five-minute
|
|
52
|
+
expiration, read time consuming the budget, capped final I/O/sleep, late success,
|
|
53
|
+
temporary HTTP/transport failures and permanent errors. The changed publication
|
|
54
|
+
logic passed all 59 source tests (12 release-automation tests), lint, type checks
|
|
55
|
+
and version checks on Node 24.15.0; the installed tarball passed 35 CLI contracts.
|
|
56
|
+
A read-only probe used the actual npm CLI and new bounded-read flags to verify
|
|
57
|
+
the existing `0.1.0-dev.4` manifest/tag. Only its preflight and accepted write were
|
|
58
|
+
simulated; the probe performed no registry mutation.
|
|
59
|
+
|
|
60
|
+
The changed publication path has not yet run on an actual develop merge; PR CI
|
|
61
|
+
cannot publish. The next reviewed merge must verify the normal push-to-publication
|
|
62
|
+
flow without a manual rerun. The LambdaDB live smoke was not rerun because CLI
|
|
63
|
+
runtime source is unchanged; the prior development-project evidence below remains
|
|
64
|
+
separate from npm checks.
|
|
65
|
+
|
|
66
|
+
## Initial local automation validation (before publication)
|
|
7
67
|
|
|
8
68
|
On Node.js 24.15.0, lint, type checking and all 46 source tests passed, including
|
|
9
69
|
six release-automation tests. The tests cover deterministic first-parent version
|
|
@@ -24,8 +84,9 @@ all 35 installed-CLI contracts.
|
|
|
24
84
|
`Node.js 22` and `Node.js 24` check names are retained. Publishing needs both jobs
|
|
25
85
|
and is restricted to explicit releases or opted-in develop pushes. The repository
|
|
26
86
|
variable enabling automatic dev publication was not set during this validation.
|
|
27
|
-
|
|
28
|
-
|
|
87
|
+
At that stage, OIDC authentication, registry writes, provenance and GitHub job
|
|
88
|
+
ordering were unverified. The later publication evidence above supersedes that
|
|
89
|
+
limitation; it does not turn these original local tests into live registry writes.
|
|
29
90
|
|
|
30
91
|
## Authenticated development-project smoke
|
|
31
92
|
|
|
@@ -192,12 +253,9 @@ deployment state of an individual LambdaDB endpoint.
|
|
|
192
253
|
receipt. Those capabilities are not implemented.
|
|
193
254
|
- No Windows-specific permission or signal validation. POSIX modes and injected
|
|
194
255
|
SIGINT/SIGTERM were checked on macOS; CI targets Linux.
|
|
195
|
-
- No
|
|
196
|
-
|
|
197
|
-
|
|
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.
|
|
256
|
+
- No main promotion, explicit rc/stable publication or GitHub Release workflow
|
|
257
|
+
execution. Public bootstrap and automatic dev/OIDC publication are verified
|
|
258
|
+
above; the new five-minute verification behavior awaits its first develop merge.
|
|
201
259
|
- Mock large-response tests cover SDK routing/credential separation at 1 MiB;
|
|
202
260
|
the live sample verifies combined content above 6 MiB. Neither is an exhaustive
|
|
203
261
|
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.
|
|
3
|
+
"version": "0.1.0-dev.5",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Project-scoped LambdaDB command-line tools",
|
|
6
6
|
"type": "module",
|
|
@@ -53,5 +53,5 @@
|
|
|
53
53
|
"url": "https://github.com/lambdadb/lambdadb-cli/issues"
|
|
54
54
|
},
|
|
55
55
|
"license": "Apache-2.0",
|
|
56
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "c8947e96308283ac593e712716f0732121bb1958"
|
|
57
57
|
}
|