Skip to content

Consume deltic from JSR: packaged translator, repo-built browser assets - #84

Merged
lann merged 1 commit into
mainfrom
jsr-deltic-packages
Aug 11, 2026
Merged

Consume deltic from JSR: packaged translator, repo-built browser assets#84
lann merged 1 commit into
mainfrom
jsr-deltic-packages

Conversation

@lann

@lann lann commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Follow-up to the ecosystem ruling in polymorph-iroh#45: deltic consumption moves from raw.githubusercontent URLs + the sha-pinned release-asset fetch to the JSR prereleases deltic publishes per green commit (0.1.0-pre.g<shorthash>, same hash as the GitHub release). Pin bump rides along: pre-83fff30ga67ee83 (~75 upstream commits; this repo's deltic surface — runSuite, Translator.translate — is API-stable across it).

What this buys

  • fetch-deltic.ts (TAG + two sha256s + assertPinConsistency) retires. The Deno leg's translator is @deltic/translator's packaged asset, loaded through the module graph — permission-free, so verify-deltic's runner invocation drops the github.com/objects/release-assets net grants and the --translator plumbing (the flag survives as an optional dev override).
  • The browser/node legs' assets are now repo-built from the same pinned graph, not release downloads: just deltic-assets bundles browser-bundle-entry.ts (upstream tools/release-bundle/entry.ts's exact surface) with deno bundle --frozen --platform browser, and copies the packaged translator wasm out of the lock-pinned module cache. The worker run-message protocol ({bundleUrl, translatorUrl, suiteUrl, …}) is unchanged — downstream SUT-host consumers are unaffected.
  • The pin story collapses to one deno.json + its lock (--frozen), with deltic-pin-gate asserting one version across the import map, the lock's resolutions, and the tilde dep inside @deltic/translator (the successor to assertPinConsistency, wired as a verify-deltic prerequisite so CI runs it).
  • minimumDependencyAge exempts jsr:@deltic/* per deltic's consumption README, so same-day prerelease bumps resolve; everything else keeps Deno's default 24-hour supply-chain gate.

Discovered en route: Deno 2.9.5 stores remote modules as body + a // denoCacheMetadata={…} trailer — copying a cached wasm asset wholesale yields a module that fails WebAssembly.compile. The extraction step truncates to the graph-reported size and asserts the wasm magic + trailer shape.

Not changed: worker protocol, goldens (zero regenerated — every verify-deltic diff empty across the bump), jco-era history, Rust suites.

Gates (all green): just all (build, test, test-wasm, lock-check, verify-embed/compose/deltic/pipeline/aggregate/viewer/imports/emit); deno check --frozen of runner + bundle entry; just deltic-pin-gate; leftover-reference grep clean.

@lann
lann merged commit 96a0534 into main Aug 11, 2026
3 checks passed
@lann
lann deleted the jsr-deltic-packages branch August 11, 2026 03:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant