Files
workinf_Blender_Wasm/docs/status/M12-07I.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.5 KiB
Markdown

# M12-07I Status
status: done
task: PLY big-endian, malformed list, and oversized count stable blocking
updated: 2026-08-18 America/New_York
enablingTask: false
parityStateChange: false
## Scope
PLY admission now fails closed for unsupported big-endian input, truncated/malformed list data,
and element counts above the bounded 65,536 record budget. The production parser returns stable
codes `PLY_FORMAT_UNSUPPORTED`, `PLY_DATA_TRUNCATED`, and `PLY_IMPORT_BUDGET_EXCEEDED: vertex`;
the Worker does not publish a partial document. No big-endian route or unbounded PLY import is
claimed.
## Evidence
- `node tools/web/generate-ply-negative-fixtures.mjs` generated deterministic big-endian,
malformed-list, and oversized-count fixtures. `node tools/web/check-ply-negative-fixtures.mjs`
regenerated them in a fresh temporary directory and passed:
`ply-negative-fixtures-ok cases=3 bigEndian=PLY_FORMAT_UNSUPPORTED malformed=PLY_DATA_TRUNCATED oversized=PLY_IMPORT_BUDGET_EXCEEDED deterministic=true next=M12-07J`.
- `node --test web/tests/unit/ply-negative.test.mjs` passed 2/2 for all three stable error paths.
- `CHROME_PATH=/usr/bin/google-chrome-stable WEB_TEST_PORT=5478 node_modules/.bin/playwright test
--config playwright.config.ts --workers=1 tests/e2e/ply-negative.spec.ts` passed 1/1. The
production Worker returned the exact expected error for each case and never returned `ok=true`.
- `npm --prefix web run typecheck`, Node syntax checks, and `git diff --check` passed.
## Artifact Hashes
- protocol: `058a3263fde553637840a4e9ad4e8e9d923eb52c250f8000317c7f43a228881d`
- generator/checker: `9c09707bdfe73ba467bbfbf61ed3846fb59fd33ab5563a3a62c8032722ff6938` /
`b1d047d4cb1fa15dff7821687e7028ad073fdc62d4c76f60a2656732c0ec5e2b`
- unit/e2e: `60439f9e6bc221df8866956bf926816a347e85828b5a93deb26ee23015cf449a` /
`6509a29d6842f3423d4dfcc40dbd52a959a5efa7ee1121143dce06e5bbc4a460`
- report: `fbe2830d1b19294ea98eea66c3e00125bc0809a4bb8a750612939cbe1f5acca9`
- fixtures: `cda92943a3690529fbb3463d328b6796ac0d07e19139450556f7411fc1f031e3` /
`a6a576b7a04d919b540520a6f43a89c089f0d706a17fd8b390711fff6b8b03df` /
`fcd99e0838025429420a47466251cf80e638d2b5816ad14d5aa696364525bb`
## Next Task
`M12-07J`: three-format cancellation, OOM, Worker restart, and small-file recovery.
## Rollback
Remove the count guard, negative fixture generator/checker, fixtures, report, tests, manifest,
and this status entry. Restore M12-07H as the queue tail and move the machine queue back to
M12-07I. No parity ledger rollback is required.