2.3 KiB
M13-02A Status
status: done
task: bounded script manifest limits
updated: 2026-08-18 America/New_York
enablingTask: false
parityStateChange: false
Scope
The production scripting manifest parser now requires an explicit sourceByteLength and
module=false for every script. It limits script count, aggregate source bytes, dependency count,
permission count and per-field execution budgets; canonicalizes entry/dependency paths within the
project; and rejects duplicate dependencies, unsafe paths, module execution, unknown permissions
and all budget overflow. The parser remains fail-closed and does not execute script content.
Evidence
node --test web/tests/unit/script-manifest-budgets.test.mjspassed 4/4 bounded positive and negative cases.WEB_TEST_PORT=5513 npm --prefix web run test:script-manifest-budgetspassed unit 4/4 and the production Chromium Worker test 1/1. The browser Worker returned the same canonical paths, aggregate byte count and stable policy/budget errors as the Node protocol test.node tools/web/check-script-manifest-budgets.mjspassed:script-manifest-budgets-ok accepted=2 totalSourceBytes=256 blocked=6 deterministic=true next=M13-02B.npm --prefix web run typecheck,npm --prefix web run lint,npm --prefix web run build,npm --prefix web run test:scripting-isolation, andgit diff --checkpassed. The existing isolation gate still reports approved-keySCRIPT_SANDBOX_UNAVAILABLEand does not enable execution.
Artifact Hashes
- protocol:
6699fc0a19e0736823f164e707a420655803e36019cf0071f7ff9c760d25e9f2 - worker:
8d8eae67fa6915f0337850e15247baf01f0abde0b3362fbb120f0b448f1a4cf5 - checker:
b3457324d72ab233cd17a142ea19fac6a0d024dd95de7b8fb5d26810437fb0d2 - unit:
6ce7847a0b745ba4081e4332d012e0b7f86e4906c71c95bdeda8c39977a630ee - e2e:
1ef4fd4caaeb1fa3d832fc8881823d5284755372575eab186c751f408dc9314c - report:
860672fe844b7969ca376d4b2708771189d1767efa819f7b97667d8a26438d3a - manifest:
7148e0387dadffdb55e94e80dc30cfd5cdd40ebe990d06378e90c376d36ebd51
Next Task
M13-02B: canonical serialization fixes the signature input.
Rollback
Remove the M13-02A protocol fields, checker, unit/Chromium tests, worker, report, manifest and this status entry. Restore M13-01F as the queue tail and move the machine queue back to M13-02A. No parity ledger rollback is required.