Files
workinf_Blender_Wasm/docs/status/M12-01F.md
mes123456 5a11045ca5
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
Advance Blender 5.2 web parity through M12-03D
2026-08-17 17:30:27 -04:00

41 lines
1.6 KiB
Markdown

# M12-01F Status
status: done
task: reject duplicate IDs, catalog cycles, oversized text, and unknown fields
updated: 2026-08-17 America/New_York
enablingTask: true
parityStateChange: false
## Scope
The negative matrix executes production schema v2 and migration parsers against duplicate
catalog/asset IDs, a legacy parent cycle, an inconsistent v2 `parentPath`, 64-byte UTF-8
simple-name/tag values, and unknown top-level/nested fields in both v1 and v2. The byte cases
use multi-byte text to prove limits are not JavaScript character counts.
Every failure returns a stable asset error code. The valid v2 fixture is parsed after each
negative case to prove the failed input did not poison parser state. This task adds negative
evidence only and does not change catalog parity status.
## Evidence
- `npm --prefix web run test:asset-catalog-negatives` passed 2/2 with 9/9 negative cases.
- Duplicate/cycle/parent/unknown cases returned `ASSET_MANIFEST_INVALID`; both 64-byte UTF-8
payloads returned `ASSET_BUDGET_EXCEEDED`.
- Typecheck, lint, and `git diff --check` passed.
## Artifact Hashes
- unit suite: `3a11605ac8666c8c4e1e2e85ccfd423115915820d0de6f92bdf72dff1f01ce41`
- negative cases: `74672fa0aec248fd5d9a265743ef4dfe4d417fce8a24622b8b3d6be2f95c8874`
- manifest: `127b2b605ac79a891cd6ab516ee031c02624a512e1043b111bfac2ebf1d8278d`
## Next Task
`M12-01G`: prove an IndexedDB migration failure preserves the old transaction and index.
## Rollback
Remove the M12-01F negative suite, golden/manifest, package command, and this status entry.
Restore M12-01F to pending and `nextTask` to M12-01F. No parity ledger rollback is required.