@poe-platform/safe-js 0.1.606 → 0.1.607
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +69 -5
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Run a JavaScript subset with explicit host capabilities, execution budgets, and resumable checkpoints.
|
|
4
4
|
|
|
5
|
-
This README describes
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
This README describes implemented source features with dated compatibility and
|
|
6
|
+
publication evidence. See [compatibility evidence](#compatibility-evidence--2026-09-15)
|
|
7
|
+
for delivered repairs, historical development notes and unresolved limitations.
|
|
8
|
+
Full ECMAScript conformance is not established.
|
|
8
9
|
|
|
9
10
|
## Quickstart
|
|
10
11
|
|
|
11
|
-
Install the public package
|
|
12
|
+
Install the public ESM package. Node.js 18.18+ is declared, but exact-minimum
|
|
13
|
+
weak-symbol behavior remains defective; see the runtime matrix below. This
|
|
14
|
+
quickstart is verified on Node.js 22.23.2 / ICU 78.2:
|
|
12
15
|
|
|
13
16
|
```sh
|
|
14
17
|
npm install @poe-platform/safe-js
|
|
@@ -532,6 +535,67 @@ For embedding, `runCli(argv, options?)` comes from `@poe-platform/safe-js/cli`.
|
|
|
532
535
|
|
|
533
536
|
</details>
|
|
534
537
|
|
|
538
|
+
## Compatibility evidence — 2026-09-15
|
|
539
|
+
|
|
540
|
+
The target is **published ECMA-262 edition 16 / ECMA-402 edition 12 (June
|
|
541
|
+
2025)**, Test262 `419d3e0a2273ba01a3bfcbec423f2801425b8e93`. Temporal
|
|
542
|
+
(pin `e8cc03fc970a65a3359e8870e3b35e687ac94e55`), resource-management,
|
|
543
|
+
weak upsert and Atomics.pause are separately tracked newer APIs; they do not
|
|
544
|
+
redefine the target edition. Implemented surfaces include classes, async
|
|
545
|
+
functions/generators, guest eval and dynamic functions, Proxy/Reflect,
|
|
546
|
+
Temporal, Intl, weak collections and bounded shared-memory operations.
|
|
547
|
+
API presence does not establish complete semantics.
|
|
548
|
+
|
|
549
|
+
**Full conformance is not established.** The preserved selector-free
|
|
550
|
+
[corpus report](../../docs/plans/publish-compatibility-documentation-20260915/full-corpus.jsonl.gz)
|
|
551
|
+
ends with `aborted`, `complete:false`, ENOSPC. Failures, unsupported required
|
|
552
|
+
modes, edition-mismatch adjudication and current-source revalidation remain
|
|
553
|
+
open. Historical or selected passes cannot be combined into a final full run.
|
|
554
|
+
See the [report, reproducible commands and delivery disposition](../../docs/plans/safejs-gap-closure-evidence.md#compatibility-documentation-delivery--2026-09-15).
|
|
555
|
+
|
|
556
|
+
The declared contract is ESM Node **18.18+**, with no excluded operating system.
|
|
557
|
+
The [runtime matrix](../../docs/plans/safejs-runtime-support-fresh-delivery-20260915.md)
|
|
558
|
+
records selected macOS arm64 controls for Node 18.18.0, 18.20.8, 20.20.2,
|
|
559
|
+
22.23.2, 24.21.0, 26.8.2 and Bun 1.3.11. Exact-minimum fresh-symbol WeakMap
|
|
560
|
+
keys fail; newer-host passes do not waive this obligation. Linux/Windows,
|
|
561
|
+
complete cross-runtime suites and installed feature coverage remain incomplete.
|
|
562
|
+
Workerd has selected controls with explicit nodejs_compat and a pinned
|
|
563
|
+
compatibility date, not complete runtime/ICU qualification. Browser bundling
|
|
564
|
+
controls do not establish a supported browser interpreter. Direct CommonJS
|
|
565
|
+
require and browser interpreter export routes are intentionally unsupported.
|
|
566
|
+
|
|
567
|
+
Host authority is explicit: no ambient DOM, process, fetch, general Node API,
|
|
568
|
+
automatic npm resolution or filesystem grant. Registered modules and explicit
|
|
569
|
+
capabilities supply authority. Missing authority by design is not a language
|
|
570
|
+
defect. Native Map/Set subclasses, opaque/revoked Proxies and Proxy-bearing
|
|
571
|
+
prototype chains reject at host copying; live identity requires realm-owned
|
|
572
|
+
capabilities. Internal heap transport and structured-clone normalization are
|
|
573
|
+
separate contracts; see [CHECKPOINT_REPLAY.md](CHECKPOINT_REPLAY.md).
|
|
574
|
+
New runs use jobs-v9; genuine v6/v7/v8 restores retain original semantics and
|
|
575
|
+
explicit migration creates a new continuation. Never upgrade by editing markers.
|
|
576
|
+
|
|
577
|
+
The [final transport report](../../docs/plans/qualify-realms-and-recovery/final-delivery-20260914.md)
|
|
578
|
+
separates local commits, remote ancestry and independently installed published
|
|
579
|
+
versions. It measures 156 supported, 100 rejection and 18 version cells, while
|
|
580
|
+
retaining raw shared-write recovery that produces 0 instead of 7 and can execute
|
|
581
|
+
an effect before rejection. Arbitrary concurrent recovery and exactly-once
|
|
582
|
+
side effects are unqualified. Those transport repairs shipped in SafeJS
|
|
583
|
+
0.1.596–0.1.598 and poe-code 15.0.39–15.0.40; their older local-only descriptions
|
|
584
|
+
below are historical, not an inventory of current publication.
|
|
585
|
+
|
|
586
|
+
Other residual limitations include Temporal extreme-range/calendar/foreign-realm
|
|
587
|
+
behavior, older-host Intl output, nondeterministic weak collection cleanup,
|
|
588
|
+
nonblocking host-agent Atomics.wait, intermediate shared-write visibility and
|
|
589
|
+
timeout replay, complete eval/Proxy/RegExp semantics, opaque handles and native
|
|
590
|
+
iterator frames in recovery, cooperative budgets/cancellation, and filesystem
|
|
591
|
+
race boundaries. Native Promise copying omits user-symbol properties by default;
|
|
592
|
+
explicit admission has separate controls. Host calls need their own timeouts and
|
|
593
|
+
side-effect reconciliation. Artifact source/lock binding, minimum-Node umbrella
|
|
594
|
+
installation, raw archive closure and exhaustive license disposition remain
|
|
595
|
+
unqualified in the accumulated candidate. No proposal, skipped test or unavailable
|
|
596
|
+
runner is counted as standard conformance. The dated evidence ledger retains
|
|
597
|
+
individual findings rather than treating these limitations as resolved.
|
|
598
|
+
|
|
535
599
|
## Development status
|
|
536
600
|
|
|
537
601
|
### Pinned conformance runner
|
|
@@ -1315,7 +1379,7 @@ preserve existing values and use collection budgets for insertions; computed
|
|
|
1315
1379
|
defaults run only for missing keys. See the [Map validation record](../../docs/plans/safejs-map-upsert.md).
|
|
1316
1380
|
The corresponding WeakMap methods are committed locally but unreleased;
|
|
1317
1381
|
they retain the older-Node weak-symbol limitations above.
|
|
1318
|
-
See the [WeakMap integration
|
|
1382
|
+
See the [WeakMap integration evidence](../../docs/plans/safejs-gap-closure-evidence.md).
|
|
1319
1383
|
|
|
1320
1384
|
The unreleased runtime supports `Atomics` integer operations on ordinary
|
|
1321
1385
|
ArrayBuffer-backed typed arrays, including BigInt views. Experimental,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@poe-platform/safe-js",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.607",
|
|
4
4
|
"description": "Budgeted JavaScript interpreter with explicit host capabilities and resumable execution",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"access": "public"
|
|
69
69
|
},
|
|
70
70
|
"dependencies": {
|
|
71
|
-
"@poe-platform/safe-fs": "0.1.
|
|
71
|
+
"@poe-platform/safe-fs": "0.1.607",
|
|
72
72
|
"temporal-polyfill": "1.0.4",
|
|
73
73
|
"@petamoriken/float16": "^3.9.3",
|
|
74
74
|
"@formatjs/intl-localematcher": "0.8.13",
|