StructuredData: complete cross-format parity and parser hardening #37

Closed
opened 2026-08-08 08:16:59 +00:00 by hugo · 1 comment
Owner

Objective

Close the StructuredData milestone with cross-format conversion, limits, fuzzing seeds, and API/shim audit.

Deliverables

  • Run all OSD variants through every supported format and verify documented lossy/lossless boundaries.
  • Add corpus-driven no-panic tests for all translated malformed fixtures.
  • Audit recursion, length arithmetic, allocation, deterministic output, error context, and remaining generated shims.

Validation

  • All StructuredData tests pass.
  • Focused fuzz runs complete without panic or unbounded allocation.
  • Coverage reports zero unresolved StructuredData APIs and workspace gates stay green.

Prerequisite

Milestone 04 supplies implemented value types and the global API/test gates are complete.

Project constraints

  • Native Rust only; no LibreMetaverse/.NET bridge or fallback.
  • Keep mapped signatures fixed and preserve translated assertions exactly.
  • Enforce bounded parsing for untrusted input and update docs and parity status.
## Objective Close the StructuredData milestone with cross-format conversion, limits, fuzzing seeds, and API/shim audit. ## Deliverables - Run all OSD variants through every supported format and verify documented lossy/lossless boundaries. - Add corpus-driven no-panic tests for all translated malformed fixtures. - Audit recursion, length arithmetic, allocation, deterministic output, error context, and remaining generated shims. ## Validation - All StructuredData tests pass. - Focused fuzz runs complete without panic or unbounded allocation. - Coverage reports zero unresolved StructuredData APIs and workspace gates stay green. ## Prerequisite Milestone 04 supplies implemented value types and the global API/test gates are complete. ## Project constraints - Native Rust only; no LibreMetaverse/.NET bridge or fallback. - Keep mapped signatures fixed and preserve translated assertions exactly. - Enforce bounded parsing for untrusted input and update docs and parity status.
hugo added this to the 05 - StructuredData implementation milestone 2026-08-08 08:16:59 +00:00
hugo added the enhancement label 2026-08-08 08:16:59 +00:00
Author
Owner

Implemented and verified in commit d980692. Added cross-format coverage for every OSD variant with documented lossy and lossless boundaries; checked-in malformed corpora and bounded deterministic mutations for Binary, Notation, XML, JSON, and Protobuf; deterministic map serialization checks; contextual error checks; and a native OSDParser declaration so StructuredData reports 16/16 native types and 295/295 native members with no generated shims. The hardening pass also found and fixed an XML truncated-scalar EOF loop. Verification: 35/35 native StructuredData tests pass, 78/78 pre-created StructuredData compatibility tests pass, controlled audit is 183 passed and 1203 expected standardized failures, API coverage/parity/generation checks pass, workspace check/API fixture/no-run/clippy -D warnings/docs all pass. Changes were reviewed against every issue deliverable after implementation.

Implemented and verified in commit d980692. Added cross-format coverage for every OSD variant with documented lossy and lossless boundaries; checked-in malformed corpora and bounded deterministic mutations for Binary, Notation, XML, JSON, and Protobuf; deterministic map serialization checks; contextual error checks; and a native OSDParser declaration so StructuredData reports 16/16 native types and 295/295 native members with no generated shims. The hardening pass also found and fixed an XML truncated-scalar EOF loop. Verification: 35/35 native StructuredData tests pass, 78/78 pre-created StructuredData compatibility tests pass, controlled audit is 183 passed and 1203 expected standardized failures, API coverage/parity/generation checks pass, workspace check/API fixture/no-run/clippy -D warnings/docs all pass. Changes were reviewed against every issue deliverable after implementation.
hugo closed this issue 2026-08-09 01:52:12 +00:00
Sign in to join this conversation.