15fe998d3d
Item 4 of the #351 remainder — implement value-fuzz for the media dimension/family attributes previously parked in the flat property suite's ATTR_VALUE_FUZZ_ALLOWLIST as "round-trip candidates deferred to a later PR": width/height/align/aspectRatio/size/caption/title/alt across image, video, youtube, pdf, drawio, excalidraw, embed. Each gets a non-default-value arbitrary in attr-arbitraries.ts and is removed from the allowlist; the P1 (semantic) + P2 (byte-stability) property gate now exercises them. All round-trip green — the comment-JSON serialization (stable key order, String()-stringified) carries every one faithfully, so no new pins or accepted-limitations were needed. embed.width/height are fuzzed as numeric STRINGS (not numbers): a non-default embed dimension round-trips through the comment JSON as a string (the numeric 800/600 default is still omitted/re-materialized), so authoring a number diverged under P1. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>