Skip to content

feat(tools): request_tool_connection — l'assistant demande un outil manquant (capacité B v2) - #10

Merged
gabiar-maker merged 1 commit into
mainfrom
feat/managed-goals-gateway
Jun 22, 2026
Merged

feat(tools): request_tool_connection — l'assistant demande un outil manquant (capacité B v2)#10
gabiar-maker merged 1 commit into
mainfrom
feat/managed-goals-gateway

Conversation

@gabiar-maker

Copy link
Copy Markdown
Owner

Outil agent request_tool_connection (capacité B de l'architecture hybride Jean-Billie). Quand il manque un outil pour une demande (facturer, encaisser, suivre des candidatures), l'assistant envoie une intention ; l'outil POSTe au control daemon (loopback, sans mTLS), qui relaie au control-plane → outil allowlisté (jamais inventé) + message white-label + lien de branchement.

  • tools/request_tool_connection.py : self-contained (urllib loopback), message honnête si le daemon est injoignable (pas de bluff), gated check_fn = JB_DECISION_PUSH_URL (invisible hors box).
  • toolsets.py : ajout à _HERMES_CORE_TOOLS (exposé CLI + plateformes gateway), toolset messaging.
  • Interne (loopback) → jb_outbound classify = PASS, jamais intercepté ; l'action qui suit reste une proposition à valider.

Vérif : py_compile + unité (registre, message si daemon down, gate). Contrat/daemon/control-plane côté monorepo (PR NousResearch#84). Intégration mTLS bout-en-bout = vérif live.

🤖 Generated with Claude Code

…anquant (capacité B v2)

Quand il manque un outil pour une demande (facturer, encaisser, suivre des candidatures), l'assistant
appelle cet outil avec une INTENTION ; il POSTe au control daemon (loopback 127.0.0.1, sans mTLS), qui
relaie au control-plane → outil ALLOWLISTÉ (jamais inventé) + message white-label + lien de branchement.

- tools/request_tool_connection.py : outil self-contained (urllib loopback), message honnête si le daemon
  est injoignable (pas de bluff), gated check_fn = JB_DECISION_PUSH_URL (invisible hors box Jean-Billie).
- toolsets.py : ajout à _HERMES_CORE_TOOLS (exposé CLI + plateformes de gateway) ; toolset « messaging ».
- PURELY INTERNE (loopback) → jb_outbound classify = PASS, jamais intercepté. L'ACTION qui suit (créer la
  facture) reste, elle, une proposition à valider.

py_compile + unité (registre, message si daemon down, gate) verts. Intégration = vérif live (monorepo
tasks/pr3v2-live-verification.md).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@gabiar-maker
gabiar-maker merged commit cc8cfd1 into main Jun 22, 2026
18 of 19 checks passed
@github-actions

Copy link
Copy Markdown

🔎 Lint report: feat/managed-goals-gateway vs origin/main

ruff

Total: 0 on HEAD, 0 on base (➖ 0)

🆕 New issues: none

✅ Fixed issues: none

Unchanged: 0 pre-existing issues carried over.

ty (type checker)

Total: 10334 on HEAD, 10334 on base (➖ 0)

🆕 New issues: none

✅ Fixed issues: none

Unchanged: 5360 pre-existing issues carried over.

Diagnostics are surfaced as warnings — this check never fails the build.

@gabiar-maker
gabiar-maker deleted the feat/managed-goals-gateway branch June 22, 2026 13:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant