Pure signing primitive: serialises LicenseInfo to canonical JSON (sorted top-level keys via ORDER_MAP_ENTRIES_BY_KEYS plus a TreeMap for the limits sub-object) then signs with Ed25519. Round-trips through LicenseValidator and is byte-stable across runs for identical inputs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>