feat(jb_outbound): garde-fou des MCP additionnels (hors Composio) - #3
Merged
Conversation
Les outils des MCP additionnels ne sont plus exécutés sans contrôle : une fonction déclarée ACTION dans la table managée devient une proposition « à valider » ; les lectures s'exécutent normalement. Aucun blocage (cf. consigne produit). - managed.py : charge <HERMES_HOME>/jb_outbound/managed.json (clée par nom d'outil runtime mcp_<serveur>_<outil>), cache mtime, lecture tolérante (absent → aucune action) - classify.py : action managée -> PROPOSE, lecture -> PASS ; Composio inchangé - mapping.py : kind="action", titre = libellé client (white-label), preview best-effort - replay.py inchangé (dispatch générique rejoue l'outil à l'accord) Tests : 11/11 (pytest -o addopts="" sous Windows : pytest-timeout/SIGALRM indisponible). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
🔎 Lint report:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Quoi
Le garde-fou
jb_outboundne couvrait quemcp_composio_*: les outils des MCP additionnels (hors Composio) s'exécutaient sans validation. Cette PR le corrige sans bloquer : une fonction déclarée ACTION dans la table managée devient une proposition « à valider » ; les lectures s'exécutent normalement.Comment
managed.py(nouveau) : charge<HERMES_HOME>/jb_outbound/managed.json(déposé par le bundle Jean-Billie), clée par nom d'outil runtimemcp_<serveur>_<outil>(assaini commetools/mcp_tool.py). Cachemtime, lecture tolérante (absent/illisible → aucune action managée).classify.py: action managée →PROPOSE(dashboard), lecture →PASS.mcp_composio_*etsend_messageinchangés. Aucun blocage pour les serveurs additionnels.mapping.py:kind="action", titre = libellé client (white-label, jamais le nom technique), preview best-effort, payloadchannel="mcp".replay.py: inchangé — le dispatch générique (registry.dispatch) rejoue l'outil à l'accord.Tests
plugins/jb_outbound/test_jb_outbound.py: 11/11 (7 existants + 4 nouveaux : action → PROPOSE, lecture → PASS, sans table → pas de blocage, mapping white-label, middleware dépose la proposition).Lien
Côté plateforme (génération du
managed.json,mcp_servers, surface de validation) :gabiar-maker/Jean-BilliePR NousResearch#42.🤖 Generated with Claude Code