50 lines
2.5 KiB
Markdown
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.
|