Files
oto-enterprise-os-dtp/05_activity_log
Claude Code DTP Worker c5ac020270 [DTP-Worker] Sprint 8 · buffer L75 · Domaine Mobile (2e surface) : la ligne récap du README de l'app Expo ÉNUMÉRAIT À LA MAIN ses 5 onglets « (Ventes/Construction/Achat/Compta/Direction) » sans AUCUN gate d'IDENTITÉ. Le bloc mobile existant recompute le QUADRUPLET de la ligne (onglets · rôles couverts · langues · identifiants a_confirmer) depuis MANIFEST.counts, MAIS son patron du compte matche la parenthèse par \([^)]*\) et en IGNORE le contenu — surface data-derived distincte du MÊME README, même ligne. Cette liste dérive de mobile/app_config/out/role_navigation.json (byte-gaté par check_artifacts) : un onglet par portail métier du contrat RBAC (bijection 1 onglet ⇔ 1 portail, plateforme exclu), chaque entrée = son label « OTO <Nom> » ; nom court énuméré = label sans le préfixe « OTO ». Le bloc mobile ne gate QUE le COMPTE (« 5 onglets ») : un ÉCHANGE (Ventes→Marketing) laisse le compte à 5 — le compteur reste AVEUGLE — pendant que l'artefact dit autre chose ; un RETRAIT (Compta absent) fait tomber l'énumération à 4 tandis que « 5 onglets » reste juste ; un RÉORDRE passe aussi — « vert trompeur » qu'aucune suite tests/ (qui teste des FONCTIONS, pas la prose) n'attrape → nouveau bloc dans check_readme_claims recomputant la LISTE ORDONNÉE des noms courts depuis role_navigation (zéro duplication de la navigation du générateur #6) et exigeant que la parenthèse l'énumère EXACTEMENT. Contrôle par ENSEMBLE (absent ET en trop mordus via set-diff), puis ORDRE. Même patron que l'énumération des confirmations DevOps, la carte de renormalisation par archétype 4Big ou la table « Verdict courant » de l'audit 5D. Cohérence croisée en bonus : len(role_navigation) == MANIFEST.counts.onglets == MANIFEST.counts.portails (la bijection du générateur) — mord un compteur du manifeste désynchronisé de sa navigation. Un claim absent échoue AUSSI (4 morsures vérifiées : échange Ventes→Marketing capté là où le compte reste 5 · retrait Compta capté là où « 5 onglets » reste juste · réordre capté « même ensemble, ordre ≠ » · énumération supprimée = INTROUVABLE ; restauré = green : Ventes/Construction/Achat/Compta/Direction == role_navigation · bijection 5==onglets==portails). État courant : aucun onglet périmé (anti-invention #6, rien à réécrire) — le défaut est la surface ungated. ci/README.md (table + détail) mis à jour · 7 gates re-verts.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-31 15:07:06 +00:00
..
[DTP-Worker] Sprint 8 · buffer L75 · Domaine Mobile (2e surface) : la ligne récap du README de l'app Expo ÉNUMÉRAIT À LA MAIN ses 5 onglets « (Ventes/Construction/Achat/Compta/Direction) » sans AUCUN gate d'IDENTITÉ. Le bloc mobile existant recompute le QUADRUPLET de la ligne (onglets · rôles couverts · langues · identifiants a_confirmer) depuis MANIFEST.counts, MAIS son patron du compte matche la parenthèse par \([^)]*\) et en IGNORE le contenu — surface data-derived distincte du MÊME README, même ligne. Cette liste dérive de mobile/app_config/out/role_navigation.json (byte-gaté par check_artifacts) : un onglet par portail métier du contrat RBAC (bijection 1 onglet ⇔ 1 portail, plateforme exclu), chaque entrée = son label « OTO <Nom> » ; nom court énuméré = label sans le préfixe « OTO ». Le bloc mobile ne gate QUE le COMPTE (« 5 onglets ») : un ÉCHANGE (Ventes→Marketing) laisse le compte à 5 — le compteur reste AVEUGLE — pendant que l'artefact dit autre chose ; un RETRAIT (Compta absent) fait tomber l'énumération à 4 tandis que « 5 onglets » reste juste ; un RÉORDRE passe aussi — « vert trompeur » qu'aucune suite tests/ (qui teste des FONCTIONS, pas la prose) n'attrape → nouveau bloc dans check_readme_claims recomputant la LISTE ORDONNÉE des noms courts depuis role_navigation (zéro duplication de la navigation du générateur #6) et exigeant que la parenthèse l'énumère EXACTEMENT. Contrôle par ENSEMBLE (absent ET en trop mordus via set-diff), puis ORDRE. Même patron que l'énumération des confirmations DevOps, la carte de renormalisation par archétype 4Big ou la table « Verdict courant » de l'audit 5D. Cohérence croisée en bonus : len(role_navigation) == MANIFEST.counts.onglets == MANIFEST.counts.portails (la bijection du générateur) — mord un compteur du manifeste désynchronisé de sa navigation. Un claim absent échoue AUSSI (4 morsures vérifiées : échange Ventes→Marketing capté là où le compte reste 5 · retrait Compta capté là où « 5 onglets » reste juste · réordre capté « même ensemble, ordre ≠ » · énumération supprimée = INTROUVABLE ; restauré = green : Ventes/Construction/Achat/Compta/Direction == role_navigation · bijection 5==onglets==portails). État courant : aucun onglet périmé (anti-invention #6, rien à réécrire) — le défaut est la surface ungated. ci/README.md (table + détail) mis à jour · 7 gates re-verts.
2026-07-31 15:07:06 +00:00