Infrastructure IA — Cartographie des outils¶
Vue d'ensemble de tous les outils et services utilises dans le workflow de gouvernance IA ProbatioVault : ou ils tournent, pour quoi faire, comment ils communiquent.
Vue par emplacement¶
MacBook Pro (M2 Max, 96 GB RAM)¶
| Outil | Version | Usage | Skill/Script |
|---|---|---|---|
| Claude Code | CLI | Orchestrateur principal. Harness agentique : tools, skills, hooks, sessions, memoire, sub-agents | Tous les skills /gov* |
| Codex (plugin Claude Code) | codex@openai-codex | Reviews adversariales, production spec/tests (GPT-5.⅗.4) | /codex:review, /codex:rescue |
| OpenCode | CLI | Fallback ChatGPT si Codex echoue | /opencode |
| Ollama | 0.16.2 | Embeddings locaux (nomic-embed-text), inference locale (llama3.3:70b) | /ollama, scripts/index-*.py |
| FAISS | faiss-cpu 1.13.0 | Index vectoriel k-NN pour recherche semantique (learnings, specs, plans, contracts) | scripts/search-*.py |
| cmux | 0.63.1 | Terminal multiplexer pour sessions Claude Code paralleles (One Ring, Ringbearers) | scripts/gov-lord.sh |
| clix | Python CLI | Recuperation tweets X/Twitter sans API (scraping) | /veille, /morning |
| sonar-scanner | brew | Analyse statique locale pre-Gate 8 | /gov-accept (phase 1.5) |
| Python | 3.x | Scripts d'indexation, embeddings, recherche, morning review | scripts/*.py |
| Node.js | v20.19.5 | Runtime Claude Code, n8n (archive) | — |
Modeles Ollama en local : - llama3.3:70b (42 GB) — inference generale, taches sensibles RGPD - nomic-embed-text (274 MB) — embeddings 768 dim pour FAISS - bge-m3 (1.2 GB) — embeddings pour mail-search-mcp
IA-Server (192.168.1.82 — 2x RTX 5090)¶
| Outil | Usage | Acces |
|---|---|---|
| Ollama | Inference LLM locale haute performance | http://192.168.1.82:11434 |
| Qdrant | Vector store pour mail-search-mcp (embeddings BGE-M3 GPU) | http://192.168.1.82:6333 |
Modeles Ollama sur IA-Server : - qwen3.5:35b-a3b — Code + general, MoE 35B/3B, ~138 tok/s, ~23 GB VRAM - llama3.3:70b — Taches generales, ~45 GB VRAM - llama3.2:3b — Tests rapides, ~3 GB VRAM
Cas d'usage prioritaires IA-Server : taches sensibles (RGPD, PI), reviews de code interne, analyse de logs, confrontations de gate necessitant un tiers local.
Services cloud — IA¶
| Service | Provider | Usage dans le workflow | Etapes |
|---|---|---|---|
| Claude API (Anthropic) | Anthropic | Orchestration, implementation, acceptabilite, REX, retrospective | 0, 4, 6, 7, 9, 10 |
| Codex / GPT-5.3-5.4 (OpenAI) | OpenAI (via plugin Codex) | Production spec/tests, reviews adversariales gates | 1, 2, 3, 5, 8 |
| Claude Code CLI | Anthropic | Harness d'execution (sessions, tools, hooks, sub-agents, memoire) | Toutes |
Regle Art. II : Claude produit, ChatGPT/Codex review. Jamais le meme modele pour production ET validation.
Services cloud — Infrastructure projet¶
| Service | Provider | Usage | Acces |
|---|---|---|---|
| Jira | Atlassian | Source de verite workflow (etats, transitions, commentaires) | MCP Atlassian + API REST |
| GitLab | gitlab.com | Code source, CI/CD, merge requests, pipelines | API REST via token Vault |
| HashiCorp Vault | OVH (self-hosted) | Secrets (tokens GitLab, AWS, configs sensibles) | HTTPS + token |
| AWS | eu-west-3 (Paris) | Storage (S3), infra cloud | Credentials via Vault |
| Plex | IA-Server | Media server (hors workflow, usage perso) | — |
Vue par fonction¶
Recherche semantique (capitalisation)¶
Pipeline uniforme pour les 6 bases de capitalisation :
Source JSONL → index-{type}.py → Ollama embeddings (nomic-embed-text) → FAISS index → search-{type}.py → Skill Claude Code
| Base | Source | Index FAISS | Skill |
|---|---|---|---|
| Learnings | data/learnings.jsonl | data/learnings-index.faiss | /learnings |
| Specs | data/specs.jsonl | data/specs-index.faiss | /specs |
| Plans | data/plans.jsonl | data/plans-index.faiss | /plans |
| Contracts | data/contracts.jsonl | data/contracts-index.faiss | /contracts |
| Veille | data/veille.jsonl | data/veille-index.faiss | /veille-search |
| Clarifications | data/clarifications.jsonl | data/clarifications-index.faiss | /clarifications |
Modele embeddings : nomic-embed-text (768 dim), tourne sur Ollama local MacBook. Re-indexation : python scripts/reindex-all.py (a lancer apres ajout de learnings/specs). Morning review : verifie automatiquement si l'index est a jour.
Veille tech/IA¶
| Outil | Usage |
|---|---|
| clix (MacBook) | Recuperation contenu X/Twitter |
| WebFetch (Claude Code) | Recuperation contenu web (articles, repos GitHub) |
| Claude Code | Analyse critique, redaction fiches |
| Fiches Markdown | ProbatioVault-doc/docs/veille/YYYY-MM/*.md |
| Index | ProbatioVault-doc/docs/veille/index.md |
Indexation vectorielle (PD-295 B1) : scripts/collect-veille.py + scripts/index-veille.py produisent data/veille.jsonl et data/veille-index.faiss. Skill /veille-search pour recherche semantique. L'index Markdown reste disponible en complement.
Orchestration multi-agents (One Ring, PD-293)¶
Architecture LOTR : Sovereign (humain) -> One Ring (Lord) -> N Ringbearers (sessions /gov autonomes).
| Composant | Outil | Ou |
|---|---|---|
| One Ring (superviseur) | Claude Code + gov-lord.sh + cmux | MacBook |
| Ringbearers (executants) | Claude Code sessions (/gov) | MacBook (panes cmux) |
| Broker inter-agents | claude-peers-mcp (localhost:7899, SQLite) | MacBook (MCP server local) |
| Supervision idle | Palantir (session veille) | MacBook (pane cmux) |
| Notifications | Signal (mcp-signal) | MacBook -> telephone |
Protocole : les Ringbearers s'enregistrent via lord_rb_init(), emettent des signaux de progression (gov_signal_step, gov_signal_gate), et escaladent vers le Lord via gov_ask_po (broker bloquant, timeout 3600s). Le Lord route les escalades vers Signal puis renvoie la reponse humaine au Ringbearer.
Gestion d'etat : .gov-lord-state.json (Ringbearers actifs), .gov-lord-audit.jsonl (journal d'audit).
Degradation : si le broker est inaccessible, bascule automatique en mode local (warning stderr).
-> Details : one-ring-howto.md, skill /gov-lord
Memoire vivante (PD-295)¶
Systeme de capitalisation en 5 briques pour enrichir chaque story avec l'experience accumulee.
| Brique | Nom | Scripts |
|---|---|---|
| B1 | Veille index | collect-veille.py, index-veille.py, search-veille.py |
| B2 | Clarifications persistence | collect-clarifications.py, index-clarifications.py, search-clarifications.py |
| B3 | Reuse scoring | compute-reuse-scores.py |
| B4 | Lifecycle promotion/eviction | learnings-lifecycle.py |
| B5 | Unified injection | gov-learnings-inject-unified.py |
Pipeline step 0 : B5 injecte automatiquement 5 learnings (tries par reuse_score) + 3 fiches veille (filtrees par impact_pv) + 3 clarifications (filtrees par domaine/projet) dans le prompt de redaction du besoin.
Re-indexation complete : python3 scripts/reindex-all.py (inclut desormais veille + clarifications).
Donnees : data/veille.jsonl, data/clarifications.jsonl, data/learnings-scores.jsonl, data/learnings-archive.jsonl + index FAISS associes.
CI/CD et qualite¶
| Outil | Ou | Usage |
|---|---|---|
| GitLab CI/CD | Cloud (gitlab.com) | Pipelines : lint → terraform → ansible → network-check → test → sonar |
| Runners shell | OVH (ovh-shell-dev/test/prod) | Execution des jobs CI |
| SonarQube | Cloud | Analyse qualite code (Quality Gate) |
| sonar-scanner | MacBook (local) | Scan pre-Gate 8 bloquant |
| ESLint + tsc | Projets cibles | Verification TypeScript post-agent step 6b |
Flux de donnees¶
┌─────────────┐
│ Jira │ ← source de verite workflow
│ (cloud) │
└──────┬──────┘
│ MCP + API REST
┌──────▼──────┐
│ Claude Code │ ← orchestrateur principal
│ (MacBook) │
└──┬───┬───┬──┘
│ │ │
┌────────────┘ │ └────────────┐
▼ ▼ ▼
┌─────────────┐ ┌──────────┐ ┌──────────────┐
│ Codex/GPT │ │ Ollama │ │ GitLab │
│ (cloud) │ │ (local) │ │ (cloud) │
│ Reviews, │ │ Embed, │ │ Code, CI/CD, │
│ Spec, Tests │ │ LLM local│ │ Pipelines │
└─────────────┘ └────┬─────┘ └──────────────┘
│
┌──────▼──────┐
│ FAISS │
│ (MacBook) │
│ Capitalisa- │
│ tion search │
└─────────────┘
Credentials¶
Tous les tokens et credentials sont dans CLAUDE.local.md (gitignore). Les secrets d'infra sont dans HashiCorp Vault (vault.dev.probatiovault.com).