chore(lync): split engines floor to true core floor + emit inspectable loss-free trial artifact - #9
Merged
Conversation
Two charter-remnant housekeeping debts (EXHALE). (1) engines split (dee-oc37, charter PR#5 item 4): the browser-safe core (parse/store/views/looms/indexes/client) needs only the Web Crypto global, unflagged since Node 19 — its true floor. The monolithic engines.node ">=22" required Node 22 of every consumer solely for the WebSocket helper. Relax the package engines to >=19 and pin the stricter runtime where it applies: the ws sync transport and `lync sync` reach for the global WebSocket, unflagged only on Node >=21. Documented per-surface (README, synced-store, cli/sync) instead of on the whole package. Also corrects cli/sync's "since Node 22" to 21. (2) inspectable trial artifact: the milestone-6 loss-free trial left only a green vitest run. It now writes docs/trials/loss-free-trial.json — every appended id, where it landed (each client's store + the relay's on-disk .lync), and every surfaced failure — parity with golarion's dee-3fxq artifact, so 'done' is not quietly 'tests pass'. Full suite green (111 tests), typecheck clean, README examples pass.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
EXHALE housekeeping — two charter-remnant debts. Does NOT touch the presence lane (PR #8).
(1) Split the engines floor — dee-oc37 / charter PR#5 item 4
package.jsondeclared a monolithicengines.node ">=22"for the whole package, forcing every consumer onto Node 22 solely for the WebSocket helper.node:module and no WebSocket — its highest runtime requirement is the Web Crypto global (globalThis.cryptoinuuid.ts,crypto.randomUUID()inmemory.tsandindexes/memory.ts), unflagged since Node 19. That is the true floor.engines.nodeto>=19.createWebSocketTransport) andlync syncreach for the built-inWebSocketglobal, unflagged only on Node >=21 (persynced-store.ts:17). Documented per-surface in the README (Library / Live sync / Command), on thecreateWebSocketTransportdocblock, and incli/sync.ts— which also had an imprecise "global since Node 22" comment, now corrected to 21.options.WebSocketImpl.(2) Emit an inspectable artifact from the loss-free trial
The milestone-6 loss-free trial (
dee-i1wc) proved durable sync but left only a green vitest run. It now writes a person-readabledocs/trials/loss-free-trial.json— parity with golarion'sdee-3fxqtrial artifact — recording:.lync;The test asserts the artifact describes an actually loss-free, nothing-hidden run before it is trusted. 'Done' is no longer quietly 'tests pass'.
Proof
pnpm verifygreen: 111 tests / 18 files pass, typecheck clean, README examples pass.docs/trials/loss-free-trial.json(committed snapshot).Do NOT merge / publish — coordinator's key.