Commit 4ec84b4
docs(apps): rewrite shared-base-runtime proposal for the converged seam
The original proposal modeled an 11-capability RuntimePlatform/setPlatform
singleton over a "19 require-coupled files" core. After Deno's move to node:
compat and this branch's convergence, the genuine seam is 5 files and the base
is the whole tree minus a thin adapter. Re-derive from the current tree:
- 5-file seam (require/loader-hook, stdoutTransport, construct, error-handlers,
main); 52 of 57 files are base.
- Injection model generalizes the existing Transport/setTransport pattern into
independent setters (transport, sandbox require, sandbox globals) wired in each
adapter's main.ts; prepareEnvironment hoisted to bootstrap.
- Module resolution framed honestly as a non-injectable adapter responsibility
(host-resolution bootstrap) split from the injectable sandbox require.
- Package shape P1: base-runtime own dir + own runtime tsconfig, consumed via the
existing @rocket.chat/apps prefix (no new resolver wiring); P2 documented as
future work gated on a nodenext migration.
- Test strategy: base suite under node:test, thin per-adapter seam suites, no
--no-check base re-run on Deno.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 2b0ba68 commit 4ec84b4
1 file changed
Lines changed: 243 additions & 184 deletions
File tree
- docs/proposals
0 commit comments