Nabil a identifie le fix cote formulaire DSM (HTTP 1.0 au lieu de 1.1 en
version backend du reverse-proxy). Reteste avec succes en conditions
reelles : SSE + les 4 outils bout-en-bout via l'URL publique.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Le flux SSE reste bloque quand le client negocie HTTP/2 via ALPN sur la
nouvelle regle DSM baserow-schema.bolbol.tn -- fonctionne en HTTP/1.1 force.
Cause probable cote DSM (config divergente de baserow.bolbol.tn qui marche).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Documente le nouveau service compagnon (create_table/delete_table/create_field/
delete_field) et les 4 pieges rencontres (JWT obligatoire sur ces routes,
API bas niveau SseServerTransport instable entre versions mcp, DNS-rebinding
protection allowed_hosts=[] par defaut, 409 transitoire apres link_row).
Resync complet de common/ports-registry.md (plusieurs semaines de derive).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Promu en runbook common/ transverse -- rencontre 2 fois en contextes
differents (transfert git bundle, deploiement fichier partage 3 instances),
n'avait jusque-la qu'une note de session etroite (nas-deploy-ops, scopee au
seul cas du git bundle nas-runbooks).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Garde-fou : /search renvoie parfois le contenu de la Boite de reception pour un
folder_path donne, en HTTP 200 sans erreur (bug D, cause non corrigee cote serveur).
Verifie avant d'implementer qu'AUCUN signal structure n'existe dans la reponse
(top-level query/count/items ; par item raw_text/aria_label/elem_id/attrs) -- en
exposer un imposerait de modifier hermes-mail-browser, donc session dediee.
Signal retenu faute de mieux : la derniere ligne de raw_text porte le libelle du
dossier. Fiabilite mesuree sur 5 dossiers de types differents avant implementation :
uniforme a 100% dans les 5 cas (81/81, 37/37, 6/6, 84/84, 77/77), correspondant dans
les 4 cas sains, divergent dans le seul cas verole -- fiable ET discriminant, ce qui
justifie un blocage dur plutot qu'un simple avertissement.
Conception conservatrice : ne bloque que sur preuve positive de mauvaise portee ;
journalise et laisse passer quand il ne peut pas conclure (aucun item, libelles
heterogenes, noyau comparable vide). Un faux positif bloquerait une ingestion
legitime, ce qui serait pire que le defaut couvert. HermesFolderScopeError herite de
HermesMailClientError -> comportement correct chez les deux appelants de production
sans les modifier (checkpoint 'error' cote pipeline, None cote download_attachments).
Verifie en conditions reelles depuis le container : dossier sain 81 items ingeres,
dossier verole bloque. Non-regression du mock de test verifiee.
Timeout : effet de bord du fix B (plafond 20 -> 200). La duree de /search croit avec
le volume demande (scroll progressif) -- 40 a 240 s mesures, contre timeout=60 code en
dur. Les gros dossiers echouaient en timeout. SEARCH_TIMEOUT_S = 300.
+ 1 regle PROTOCOL-INFRA (plafond de pagination et timeout sont couples).