fix: eBay 25002 'Fabric weight must be greater than 0' — sanitize + recover numeric aspects
The analysis/aspect-fill models write prose into NUMBER-typed item specifics
('Fabric Weight' = 'Heavyweight' on a Pro Club heavyweight tee); eBay validates
the value format at publish time and fails the listing. Same publish-time
validation class as the BrandMPN (#34) and ShippingPackage (#35) regressions.
Prevent: AspectMeta now carries aspectDataType/aspectFormat from the Taxonomy
API; sanitizeNumericAspects() runs after aspect fill and keeps only a positive
numeric token per value ('6.1 oz' -> '6.1', int32 rounded) or drops the aspect.
Recover: findInvalidValueAspects() parses which sent aspect an eBay error
names (word-boundary match + validation-ish phrasing; 'is missing' excluded —
that path belongs to extractMissingAspects) and applyInvalidAspectFallback()
drops it and retries once, wired into BOTH the inventory-create and publish
recovery chains per the established pattern.
9 new tests (141 total). A
ashnicholes-droid committed
d7dc9eba25e5d02d4db2529aa72fb356d67a4351
Parent: 4614016