Files
workinf_Blender_Wasm/docs/status/M13-02A.md
mes123456 380cbed4ff
Some checks are pending
M6 deployable RC / quick (push) Waiting to run
M6 deployable RC / chromium (push) Blocked by required conditions
M6 deployable RC / release (push) Blocked by required conditions
Checkpoint web parity through Chromium input tasks
2026-08-19 10:39:03 -04:00

50 lines
2.3 KiB
Markdown

# 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.mjs` passed 4/4 bounded positive and
negative cases.
- `WEB_TEST_PORT=5513 npm --prefix web run test:script-manifest-budgets` passed 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.mjs` passed:
`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`, and
`git diff --check` passed. The existing isolation gate still reports approved-key
`SCRIPT_SANDBOX_UNAVAILABLE` and 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.