Verification entry layer description
Goal: Explain clearly "what should be run during normal code changes, what should be run before release, and which checks depend on the private environment".
Three-layer verification entrance
Supplementary entrance
The memory-server related entries uniformly use .cache/mongodb-memory-server/binaries as the binary cache and .cache/mongodb-memory-server/db as the temporary data directory within the project; the dbPath automatically created by the project will be cleared when the script exits or runtime close to avoid the accumulation of default system temporary directories.
Run strategy
1. Daily development/small-scale refactoring
Note: Currently verify:fast no longer has a dedicated runner for serial migration; it covers lint, type-check, size strict, runtime smoke, compatibility, runtime/model/sync refactor guard and cache refactor guard. The full unit/integration default gate is overridden by npm test, and release preflight continues npm test after verify:fast.
verify:fast includes npm run check:docs-examples, so documentation/example drift is caught before regular type and runtime checks.
Suitable for:
- Hotspot file splitting
- Internal helper refactoring
- Type and export surface adjustments
2. Complete delivery / extensive changes
Suitable for:
- Linked updates of documents and examples
- Behavior changes or cross-module refactoring
- Return of the complete repository before release
verify:full also includes npm run test:examples, so runnable examples are compiled and executed after the matrix gate has checked 97/97 document coverage.
3. Private real environment verification
Description:
- Only executed when conditions such as private Mongo/SSH are met
- Not used as default CI stage
- Mainly used to verify the real deployment path that cannot be covered by memory-server
Required environment variables:
MONSQLIZE_REAL_SSH_HOSTMONSQLIZE_REAL_SSH_PORTMONSQLIZE_REAL_SSH_USERNAMEMONSQLIZE_REAL_SSH_PASSWORDMONSQLIZE_REAL_MONGO_URI
Default boundary
- Default closed loop:
npm test/check:docs-examples/verify:fast/verify:full/test:server-matrix - Coverage closed loop:
npm run test:coverageis executed independently; P-04 has been completed and retained as an independent coverage gate, andverify:fullis not blocked - Explicit opt-in:
test:real-env:private - Public release pre-access control:
release:preflight - Local private pre-release supplement:
verify:release
Why doesn’t CI run verify:release directly?
verify:releaserelies on private SSH/Mongo environment variables, suitable for operators to trigger explicitly locally or in a private runner.- The default verification chain of public CI and warehouse only promises reproducible assets in memory-server + warehouse.
- So GitHub Actions'
Release Preflightworkflow intentionally only runsrelease:preflight, without assuming a private environment exists.
The warehouse also provides GitHub Actions
Release Preflightworkflow, which supports manual triggering and reusing the same set of pre-release access control when pushingv*tag.
Note:
test:server-matrixonly retains stable and repeatable compatibility surfaces across Driver/Server combinations. Deep assertions like sync target fan-out statistics, which rely more on change-stream timing, continue to be covered by regular integration,test:refactor-guardandrelease:preflight.