Files
7ee6882eb887064c83ba48be57442bdf564aa09c
T
custom à CRÉER avant import (« CONFOTUR Application, Faisabilité, Publiciste Log ») était énuméré À LA MAIN dans le §« Hand-off → agent ERPNext Backend » du README frontend/portails sans AUCUN gate d'IDENTITÉ. Le bloc portails existant ne gate que les COMPTES par workspace (cartes/liens/rôles, ×2 docs) — jamais ce catalogue de hand-off. Ce catalogue est DATA-DERIVED : doctypes_custom_a_creer de frontend/portails/out/MANIFEST.json (byte-gaté par check_artifacts), lui-même l'UNION des doctypes_custom par workspace (flag custom du contrat rbac_50_roles.json, pour les seuls DocTypes CÂBLÉS dans un portail). C'est un ensemble PROPRE au module (sous-ensemble de celui de rbac/fixtures_gen : API Access, custom mais non câblé, en est ABSENT). PIÈGE : check_artifacts ne prouve QUE MANIFEST==build (byte-for-byte) et le build RECOMPUTE l'union — donc AJOUTER une carte visant un nouveau DocType custom au contrat (le MANIFEST rebâtit le catalogue) · en RENOMMER un · en RETIRER un du câblage laisse la consigne de hand-off périmée pendant que l'artefact dit autre chose : l'agent Backend créerait le mauvais jeu de DocTypes (liens pointant dans le vide — le risque même que la consigne veut prévenir) — « vert trompeur » qu'aucune suite tests/ (qui teste des FONCTIONS de mapping, pas la prose de hand-off) n'attrape → nouveau bloc recomputant le catalogue depuis MANIFEST (zéro duplication du contrat du générateur #6 · même patron que le catalogue custom de rbac/fixtures_gen) et exigeant que la prose l'énumère EXACTEMENT (absent ET en trop via set-diff · accents/casse normalisés via unicodedata). Cohérences croisées en bonus (mordent un MANIFEST INTERNEMENT incohérent) : catalogue NON VIDE, sans doublon et TRIÉ (byte-déterminisme) · égal à l'UNION des doctypes_custom par workspace (pas de DocType custom câblé mais oublié du hand-off, ni l'inverse). Un claim absent échoue AUSSI. 5 morsures vérifiées : prose renomme Faisabilité→Faisabilite2 (absents=[faisabilite] en trop=[faisabilite2]) · prose retire Publiciste Log (sous-ensemble) · énumération supprimée (INTROUVABLE) · MANIFEST retire du catalogue un DocType encore câblé (incohérence interne : câblés hors catalogue=[Publiciste Log] + prose en trop) · catalogue MANIFEST non trié (byte-déterminisme) ; restauré = green : [CONFOTUR Application,Faisabilité,Publiciste Log] == MANIFEST == union des workspaces · exit 0. État courant : aucun catalogue périmé (anti-invention #6, rien à réécrire) — le défaut est la surface ungated. ci/README.md (table + détail « 2e surface Portails ») mis à jour · 7 gates re-verts.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
[DTP-Worker] Sprint 8 · buffer · Domaine Portails (2e surface) : le CATALOGUE des DocTypes
custom à CRÉER avant import (« CONFOTUR Application, Faisabilité, Publiciste Log ») était énuméré À LA MAIN dans le §« Hand-off → agent ERPNext Backend » du README frontend/portails sans AUCUN gate d'IDENTITÉ. Le bloc portails existant ne gate que les COMPTES par workspace (cartes/liens/rôles, ×2 docs) — jamais ce catalogue de hand-off. Ce catalogue est DATA-DERIVED : doctypes_custom_a_creer de frontend/portails/out/MANIFEST.json (byte-gaté par check_artifacts), lui-même l'UNION des doctypes_custom par workspace (flag custom du contrat rbac_50_roles.json, pour les seuls DocTypes CÂBLÉS dans un portail). C'est un ensemble PROPRE au module (sous-ensemble de celui de rbac/fixtures_gen : API Access, custom mais non câblé, en est ABSENT). PIÈGE : check_artifacts ne prouve QUE MANIFEST==build (byte-for-byte) et le build RECOMPUTE l'union — donc AJOUTER une carte visant un nouveau DocType custom au contrat (le MANIFEST rebâtit le catalogue) · en RENOMMER un · en RETIRER un du câblage laisse la consigne de hand-off périmée pendant que l'artefact dit autre chose : l'agent Backend créerait le mauvais jeu de DocTypes (liens pointant dans le vide — le risque même que la consigne veut prévenir) — « vert trompeur » qu'aucune suite tests/ (qui teste des FONCTIONS de mapping, pas la prose de hand-off) n'attrape → nouveau bloc recomputant le catalogue depuis MANIFEST (zéro duplication du contrat du générateur #6 · même patron que le catalogue custom de rbac/fixtures_gen) et exigeant que la prose l'énumère EXACTEMENT (absent ET en trop via set-diff · accents/casse normalisés via unicodedata). Cohérences croisées en bonus (mordent un MANIFEST INTERNEMENT incohérent) : catalogue NON VIDE, sans doublon et TRIÉ (byte-déterminisme) · égal à l'UNION des doctypes_custom par workspace (pas de DocType custom câblé mais oublié du hand-off, ni l'inverse). Un claim absent échoue AUSSI. 5 morsures vérifiées : prose renomme Faisabilité→Faisabilite2 (absents=[faisabilite] en trop=[faisabilite2]) · prose retire Publiciste Log (sous-ensemble) · énumération supprimée (INTROUVABLE) · MANIFEST retire du catalogue un DocType encore câblé (incohérence interne : câblés hors catalogue=[Publiciste Log] + prose en trop) · catalogue MANIFEST non trié (byte-déterminisme) ; restauré = green : [CONFOTUR Application,Faisabilité,Publiciste Log] == MANIFEST == union des workspaces · exit 0. État courant : aucun catalogue périmé (anti-invention #6, rien à réécrire) — le défaut est la surface ungated. ci/README.md (table + détail « 2e surface Portails ») mis à jour · 7 gates re-verts.