2.5 KiB
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.mjsgenerated deterministic big-endian, malformed-list, and oversized-count fixtures.node tools/web/check-ply-negative-fixtures.mjsregenerated 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.mjspassed 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.tspassed 1/1. The production Worker returned the exact expected error for each case and never returnedok=true.npm --prefix web run typecheck, Node syntax checks, andgit diff --checkpassed.
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.