2.1 KiB
M13-03F Status
status: done
task: sandbox resource disposal gate
updated: 2026-08-19 America/New_York
enablingTask: false
parityStateChange: false
Scope
The sandbox Worker now owns an explicit disposal receipt. Both MessagePort endpoints, the timer,
AbortController, transferable buffer, pending request and cache reference are observed before
disposal and are all zero after the first dispose. A second dispose is accepted and reports
idempotent=true; the cleared timer produces no late message. Script execution remains
DISABLED, and this task does not claim same-session recovery or server isolation.
Evidence
node --test web/tests/unit/script-sandbox-dispose.test.mjspassed 2/2.CHROME_PATH=/usr/bin/google-chrome-stable WEB_TEST_PORT=5534 npm --prefix web run test:script-sandbox-disposepassed unit 2/2 and Chromium Worker E2E 1/1.node tools/web/check-script-sandbox-dispose.mjspassed:script-sandbox-dispose-ok ports=0 timers=0 abortControllers=0 buffers=0 pending=0 cacheReferences=0 idempotent=true next=M13-03G.npm --prefix web run typecheck,npm --prefix web run lintandgit diff --checkpassed.
Artifact Hashes
- protocol:
f3d9f667c3809cfad0f52bc6028d93e36e25c4b639fb6081c9c933fbad0ebc0a - worker:
2a074b05d301c4083e60534eb9452aabf5d95aea0ab316fa657441ef4bcd5c96 - checker:
6549bd10f588281d23c4bea705fd164252c9e3f44d8f4b93c893a2c410907135 - unit:
6e00aa6286aae0eabc1345c04c7628dcc9acb32d51c1c27436a0e1b4c170b64c - e2e:
b240d92c90e0d81272cd9cb3c0eb4e7d77102ce2e49ad05c761f763d1812b18e - package:
0f06cd7ccdeed4213b6cb956aecf94e60dceff811ad8c3a2e239397685cfc1bf - report:
2dbd3e79939b500c0fc83216c51f258b88ead42a667ed1a6da755e893d7f73c6 - manifest:
96abc7c7613ef4c18c64b84ffb8420c39369f9e4733bd1fa4d7d9ee9e53d6f89
Next Task
M13-03G: recover a small script in the same session with a new Worker generation while keeping
the Main revision/source hash stable and extending the audit hash chain.
Rollback
Remove the dispose protocol, Worker, focused tests/checker, report, manifest, package command and
this status entry; restore M13-03E as the queue tail and move nextTask back to M13-03F.