Bugs silencieux du contrat constates sur le JSON reel M1 (cf.
docs/specs/M2-suppliers/spec-back.md § 4.0.ter) :
- ERP-80 : gate les RIB derriere accounting.view. getRibs() et les
proprietes de ClientRib passent sous le groupe gate client:read:accounting
(retire du contexte Get pour la Commerciale) -> fin de la fuite IBAN/BIC.
La sous-ressource autonome /api/client_ribs/{id} conserve client_rib:read.
- ERP-81 : expose les booleens d'adresse isProspect/isDelivery/isBilling.
#[Groups] + #[SerializedName] portes sur le getter (et non la propriete),
sinon Symfony strip le prefixe "is" et droppe la cle (meme pattern que
Client::isArchived).
- ERP-82 : embarque code/libelle de Category et Site dans le detail client
(category:read + site:read ajoutes au normalizationContext du Get).
NB : Site n'a pas de champ `code` -> dependance module Sites a planifier.
- ERP-83 : tests fonctionnels anti-regression assertant sur le CORPS JSON
reel (jamais sur les annotations) : gating RIB, gating par omission des
scalaires comptables, presence des booleens, embed code/libelle,
enveloppe AP4 (member/totalItems/view sans prefixe hydra:, archives exclus).