2.2 KiB
M13-03E Status
status: done
task: sandbox cancellation result gate
updated: 2026-08-19 America/New_York
enablingTask: false
parityStateChange: false
Scope
Cancellation now has an explicit terminated-job receipt. The receipt preserves the Main revision,
publishes no result, releases temporary bytes and remains execution=DISABLED. The production
Chromium Worker schedules a late message containing a cache key; the host cancels and terminates it
before publication, then observes a bounded late window with zero messages and zero cache writes.
Late results supplied after cancellation are rejected with SCRIPT_SANDBOX_LATE_RESULT.
This task does not claim Worker/port/timer disposal or same-session recovery; those remain M13-03F/G.
Evidence
node --test web/tests/unit/script-sandbox-cancellation.test.mjspassed 2/2.CHROME_PATH=/usr/bin/google-chrome-stable WEB_TEST_PORT=5533 npm --prefix web run test:script-sandbox-cancellationpassed unit 2/2 and Chromium Worker E2E 1/1.node tools/web/check-script-sandbox-cancellation.mjspassed:script-sandbox-cancellation-ok status=CANCELLED late=SCRIPT_SANDBOX_LATE_RESULT lateMessages=0 cacheWrites=0 next=M13-03F.npm --prefix web run typecheck,npm --prefix web run lintandgit diff --checkpassed.
Artifact Hashes
- protocol:
6699fc0a19e0736823f164e707a420655803e36019cf0071f7ff9c760d25e9f2 - worker:
0feb70c8c491cc24ebfe6c3e267b92522d616b6f260efcecfa57cf489d0742c0 - checker:
b6fbe7102b7d0808673931c66797f8976e79b21bd4c32e429f21832c6090708e - unit:
374cc87f66bd42226b750e387663ef8c86bef92348fa7cbc6ed7f0027945204d - e2e:
b233d9cafa1f70798ec19d76ca936abb610681522264a12237f532eb98e09fca - package:
6499a70fc4a93c925053ddf5009c74d9c10754b443afc9d58e898fe20d7f1b05 - report:
066d9f19716b8229f2cf7755ec3009a3edef942ebab5f70159bec7f2afbaf71f - manifest:
0cdf625e6bd3ed7aca43318a3b04353cb806c51cfa4cf3c5dae9a65a0eae2e69
Next Task
M13-03F: dispose Worker, MessagePort, timers, abort controllers and buffers to zero.
Rollback
Remove the cancellation Worker, focused tests/checker, report, manifest, package command and this
status entry; restore M13-03D as the queue tail and move nextTask back to M13-03E.