Concerne l'issue ObsiGate #22 (perimetre Kanbante, meme patron, sans variante).
Contenu : app/coffre_client.py (client generique, contextes usage_distribue, erreurs typees) ; main.py (webhook : distribution async a chaque appel, HMAC en memoire puis oubli, 401 revocation / 503 indisponible, aucun repli ; saisie coffre: mal formee refusee) ; template admin + 25 tests + doc. Constat : seul secret en clair persiste = secret webhook ; jetons forge deja chiffres Fernet.
Ecarts assumes : jetons forge Fernet non migres (distribution par appel requise, incompatible avec le cache ForgeRegistry) ; pas de migration automatique des secrets webhook historiques (manuelle, cote admin).
Verifie : 25/25 nouveaux tests, suite complete 294 passes / 30 echoues contre 269/30 sur base pristine = 0 regression (30 echecs = artefacts sandbox preexistants), fichiers re-telecharges byte a byte identiques. Non verifie : CI de la branche, webhook reel (401 apres revocation, 503 ObsiGate coupe).
Concerne l'issue ObsiGate #22 (perimetre Kanbante, meme patron, sans variante).
Contenu : app/coffre_client.py (client generique, contextes usage_distribue, erreurs typees) ; main.py (webhook : distribution async a chaque appel, HMAC en memoire puis oubli, 401 revocation / 503 indisponible, aucun repli ; saisie coffre: mal formee refusee) ; template admin + 25 tests + doc. Constat : seul secret en clair persiste = secret webhook ; jetons forge deja chiffres Fernet.
Ecarts assumes : jetons forge Fernet non migres (distribution par appel requise, incompatible avec le cache ForgeRegistry) ; pas de migration automatique des secrets webhook historiques (manuelle, cote admin).
Verifie : 25/25 nouveaux tests, suite complete 294 passes / 30 echoues contre 269/30 sur base pristine = 0 regression (30 echecs = artefacts sandbox preexistants), fichiers re-telecharges byte a byte identiques. Non verifie : CI de la branche, webhook reel (401 apres revocation, 503 ObsiGate coupe).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Concerne l'issue ObsiGate #22 (perimetre Kanbante, meme patron, sans variante).
Contenu : app/coffre_client.py (client generique, contextes usage_distribue, erreurs typees) ; main.py (webhook : distribution async a chaque appel, HMAC en memoire puis oubli, 401 revocation / 503 indisponible, aucun repli ; saisie coffre: mal formee refusee) ; template admin + 25 tests + doc. Constat : seul secret en clair persiste = secret webhook ; jetons forge deja chiffres Fernet.
Ecarts assumes : jetons forge Fernet non migres (distribution par appel requise, incompatible avec le cache ForgeRegistry) ; pas de migration automatique des secrets webhook historiques (manuelle, cote admin).
Verifie : 25/25 nouveaux tests, suite complete 294 passes / 30 echoues contre 269/30 sur base pristine = 0 regression (30 echecs = artefacts sandbox preexistants), fichiers re-telecharges byte a byte identiques. Non verifie : CI de la branche, webhook reel (401 apres revocation, 503 ObsiGate coupe).