@@ -99,12 +99,14 @@ npm test
9999npm run typecheck
100100npm run lint
101101npm run format:check
102+ npm run test:secrets
102103npm run test:package
103104npm run test:live-contract
104105npm run test:fixtures
105106npm run test:compat
106107npm run check:standalone-content
107108npm run check:self-contained
109+ npm run check:public-preview
108110npm run actionlint
109111npm run verify
110112```
@@ -122,9 +124,22 @@ install the exact artifact, then upload that same file. `npm run test:compat`
122124covers the minimum, locked, and applicable canary dependency lanes with ESM and
123125CommonJS runtime checks plus ` .mts ` and ` .cts ` consumer type checks.
124126
125- ` npm run check:self-contained ` copies repository files into an empty temporary
126- parent, scans documentation and configuration for outside-root dependencies, and
127- runs the documented offline setup and tests from the copied root.
127+ ` npm run test:secrets ` fails on a shallow Git clone and scans the current tracked
128+ tree plus reachable Git blobs, commit and tag messages, and historical paths.
129+ It reports only the rule and a safe object identifier or path hash rather than a
130+ matched value.
131+
132+ ` npm run check:standalone-content ` fails on a shallow Git clone, materializes
133+ every unique tracked tree reachable from all local refs and ` HEAD ` without
134+ honoring export exclusions, and reports the commit and tree for every
135+ outside-root or private-content violation. In the isolated self-containment copy
136+ it scans that exact file tree because Git metadata is intentionally absent.
137+
138+ ` npm run check:self-contained ` requires a clean tracked worktree, materializes
139+ the exact ` HEAD ` tree into an empty temporary parent, scans documentation and
140+ configuration for outside-root dependencies, and runs the documented offline
141+ setup and tests from the copied root. Untracked local files cannot satisfy a
142+ missing repository dependency.
128143
129144` npm run test:live-contract ` uses mocked transport to prove the bounded live
130145runner rejects empty Chat results and failed, incomplete, or unterminated
@@ -366,4 +381,14 @@ Every release candidate records these evidence layers separately:
366381- npm ownership and Trusted Publisher evidence
367382- Tag, release, provenance, publication, and post-publication evidence
368383
384+ For a pre-visibility closeout, use the merged private pull request as the
385+ durable evidence record because a commit cannot contain its own final object
386+ ID. After merge, add one timeline comment that records the exact final ` main`
387+ commit, the complete local gate results for that commit, pull-request and
388+ default-branch Node.js 22/24 CI URLs, failed dependency-update dispositions,
389+ the read-only private/public-only configuration audit, and every skipped or
390+ unknown boundary. The comment must explicitly confirm that no visibility,
391+ repository-rule, environment, secret, live API, tag, release, or registry state
392+ was changed.
393+
369394Only a publicly installed and verified npm artifact may be called released.
0 commit comments