SIGN IN SIGN UP

fix: eBay <BrandMPN> publish failures — ship brand with MPN, recover when the pair is rejected

Regression from the audit overhaul (#32): product.mpn was sent whenever the
analysis found a part/style number, but product.brand was never sent — and
eBay validates brand+MPN as a pair, failing publish with 25002 "Input data
for tag <BrandMPN> is invalid or missing". The analysis prompt maps clothing
style numbers into MPN, so ordinary apparel could hit this.

- product.mpn now ships only together with a real product.brand
  (realBrand(): no placeholders, no No Brand/Unbranded/Unknown markers)
- New recovery in both the inventory-create and publish paths: on a
  <BrandMPN> rejection, drop the product-level pair and fall back to eBay's
  aspect conventions (Brand from the listing or 'Unbranded', MPN 'Does Not
  Apply'), then retry once — covers categories that require the Brand/MPN
  aspects themselves
- 13 new regression tests (92 total)
A
ashnicholes-droid committed
83c90a0303ad5cf4d2523686eb780c02e3d8e750
Parent: 09d6844