Ecarts assumes : natifs Gitea/GitHub et cles LLM non bascules (jetons globaux/par utilisateur, chemin documente) ; pas de selecteur UI (API seulement) ; workspace_id pas encore branche depuis AgentEngine (refus propre, pas de fuite).
Verifie : 35/35 tests (22 nouveaux + 13 existants), ruff propre, 9/9 fichiers identiques. Non verifie : CI de la branche, isolation workspace reelle.
Concerne l'issue ObsiGate #22 (perimetre Flowdeck).
Contenu : app/services/coffre_reference.py (validation, client urllib, timeout 10 s, aucun cache) ; connectors.py (workspace_id + coffre_reference, secret_source, resolve_secret() avec controle d'isolation) ; mcp_client.py, migration 52 (colonnes + index, idempotente), config.py (obsigate_coffre_url, obsigate_consumer_token), routes agent.py, 22 tests + doc. Constat prealable : les connecteurs personnels n'avaient aucun workspace_id — il a fallu l'ajouter d'abord.
Ecarts assumes : natifs Gitea/GitHub et cles LLM non bascules (jetons globaux/par utilisateur, chemin documente) ; pas de selecteur UI (API seulement) ; workspace_id pas encore branche depuis AgentEngine (refus propre, pas de fuite).
Verifie : 35/35 tests (22 nouveaux + 13 existants), ruff propre, 9/9 fichiers identiques. Non verifie : CI de la branche, isolation workspace reelle.
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 Flowdeck).
Contenu : app/services/coffre_reference.py (validation, client urllib, timeout 10 s, aucun cache) ; connectors.py (workspace_id + coffre_reference, secret_source, resolve_secret() avec controle d'isolation) ; mcp_client.py, migration 52 (colonnes + index, idempotente), config.py (obsigate_coffre_url, obsigate_consumer_token), routes agent.py, 22 tests + doc. Constat prealable : les connecteurs personnels n'avaient aucun workspace_id — il a fallu l'ajouter d'abord.
Ecarts assumes : natifs Gitea/GitHub et cles LLM non bascules (jetons globaux/par utilisateur, chemin documente) ; pas de selecteur UI (API seulement) ; workspace_id pas encore branche depuis AgentEngine (refus propre, pas de fuite).
Verifie : 35/35 tests (22 nouveaux + 13 existants), ruff propre, 9/9 fichiers identiques. Non verifie : CI de la branche, isolation workspace reelle.