Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,12 @@ A note lives in the `DESIGN.md` of the directory that owns the code it describes

## .github/ — CI workflows

- [Core CI partitions directories without dropping runtime coverage (`workflows/unit-test.yml`, `workflows/integration-tests.yml`)](.github/DESIGN.md#core-ci-partitions-directories-without-dropping-runtime-coverage-workflowsunit-testyml-workflowsintegration-testsyml) — each suite is its own shard job per Node version, gated by one `Unit Test` aggregate; PRs run Node 24+26 (unit) and 26 (integration), and 22 runs nightly and on release-branch pushes; fixtures batch writes so the `lmdb` shard's cap stays meaningful. · [The lock file must pass `npm ci` under npm 10 and npm 11 (`workflows/lockfile-npm-compat.yml`)](.github/DESIGN.md#the-lock-file-must-pass-npm-ci-under-npm-10-and-npm-11-workflowslockfile-npm-compatyml) — npm 11 writes the lock but accepts some that npm 10's `npm ci` rejects; fix the conflict at its source, never by regenerating with npm 10.
- [Core CI partitions directories without dropping runtime coverage](.github/DESIGN.md#core-ci-partitions-directories-without-dropping-runtime-coverage-workflowsunit-testyml-workflowsintegration-testsyml) — each suite is its own shard job per Node version, gated by one `Unit Test` aggregate; PRs run Node 24+26 (unit) and 26 (integration), and 22 runs nightly and on release-branch pushes; fixtures batch writes so the `lmdb` shard's cap stays meaningful. · [The lock file must pass `npm ci` under npm 10 and npm 11](.github/DESIGN.md#the-lock-file-must-pass-npm-ci-under-npm-10-and-npm-11-workflowslockfile-npm-compatyml) — npm 11 writes the lock but accepts some that npm 10's `npm ci` rejects; fix the conflict at its source, never by regenerating with npm 10.
- [A release copies to Docker Hub only the image it booted (`workflows/docker-smoke.yml`, `workflows/publish-docker.yaml`)](.github/DESIGN.md#a-release-copies-to-docker-hub-only-the-image-it-booted-workflowsdocker-smokeyml-workflowspublish-dockeryaml) — The release builds once into a runner-local registry, smoke-tests that digest and copies the same index to Docker Hub; never a rebuild.
- [A release cherry-pick skips a change its branch already has (`workflows/cherry-pick-patch.yml`, `scripts/change-landed.sh`)](.github/DESIGN.md#a-release-cherry-pick-skips-a-change-its-branch-already-has-workflowscherry-pick-patchyml-scriptschange-landedsh) — skip only when replaying the PR's commits onto the release, conflicts resolved toward each commit, ends at the release's own tree; replaying a landed PR commit by commit conflicts instead.

## resources/ — records, transactions, tables, blobs, audit

- [resources/MAP.md](resources/MAP.md) — Where things are in `resources/`: files, concepts, symbols.
- [Full-text declarations and reader snapshots](resources/DESIGN.md#full-text-declarations-and-reader-snapshots) — Declarations are not attributes; one reader lease per search.
- [A bare nullish id is never a collection target](resources/DESIGN.md#a-bare-nullish-id-is-never-a-collection-target-for-get-or-delete) — `get`/`delete` of a bare `null` id is a 400 · [A primitive-id static get skips instance dispatch only behind its gate](resources/DESIGN.md#a-primitive-id-static-get-skips-instance-dispatch-only-behind-its-gate) — New instance-get hooks join the gate.
- [An audit record carries two clocks](resources/DESIGN.md#an-audit-record-carries-two-clocks-identity-is-nodeid-log-key-never-a-version) — Identity is (nodeId, log key); refs state their kind; `FULL_WRITE_HEAD`; equal versions order by origin.
Expand Down
Loading