Skip to content

architecture: specialized-JS executor is emission-only — unsafe-eval out, as invariant - #28

Merged
lann merged 1 commit into
mainfrom
csp-invariant-8
Aug 9, 2026
Merged

lann merged 1 commit into
mainfrom
csp-invariant-8

Conversation

@lann

@lann lann commented Aug 9, 2026

Copy link
Copy Markdown
Collaborator

Pins the operator decision before anyone spends the budget: the runtime never requires CSP beyond wasm-unsafe-eval (§3, now an invariant). #8's v2 executor is rescoped to an emission-only generator — deploy-time AOT or server-host first-load cache import(), one AOT-shaped artifact, no eval/new Function, no CSP-detection/fallback machinery, two-mode (not three-mode) differential matrix via imported emitted modules. Unbundled deploy layout moved to #7 (packaging, executor-independent). Everything remains gated on #17 measuring a real gap.

Docs-only; issues #8/#7 already updated to match.

…is out, as invariant

Operator decision (2026-08-10), rescoping #8: no code path may require CSP
beyond wasm-unsafe-eval. The v2 host-boundary executor becomes a
descriptor->JS-module generator with an AOT-shaped contract (explicit
linking context, no closure capture of live runtime state), delivered by
deploy-time emission or a server-host first-load cache import — never
eval/new Function. Browsers running dynamically-loaded components stay on
the interpreter. Kills the CSP feature-detection/fallback machinery and a
third executor mode in the test matrix; the differential oracle survives
via imported emitted modules (the production delivery mechanism itself).
Deploy-time unbundling moves to the caching track (#7) — packaging,
independent of executor choice. All still gated on #17 measuring a gap.

§3 CSP bullet, §8 v2 + future-options bullets, §11 diff-testing note, §12
risk row; issues #8 (rewritten) and #7 (scope comment) updated alongside.
@lann
lann enabled auto-merge August 9, 2026 21:20
@lann
lann merged commit 99d6218 into main Aug 9, 2026
4 checks passed
@lann
lann deleted the csp-invariant-8 branch August 9, 2026 22:32
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.

2 participants