Files
IdeA/.ideai/tickets/99/issue.md
Blomios 5955ea37a2 chore(tickets): synchronise l'état ticketing courant
Met à jour les carnets/issues existants et ajoute les tickets #108,
#109, #111, #112 créés durant le cycle. État runtime sans rapport
avec le lot de code #82, isolé dans son propre commit.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-29 15:57:37 +02:00

2.3 KiB

id, number, title, status, priority, sprint, links, agentRefs, createdBy, updatedBy, createdAt, updatedAt, version
id number title status priority sprint links agentRefs createdBy updatedBy createdAt updatedAt version
45733f3f-5ef5-4f33-96e7-25afddcd1ce6 99 Modèle par agent contrôlable pour Codex & Claude (headless + TUI) — égaler le pattern OpenCode closed high null
target kind
#98 relatesTo
kind agent_id
agent a6ced819-b893-4213-b003-9e9dc79b9641
kind
user
1784987973464 1785271085627 4

Problème

Aujourd'hui IdeA ne contrôle pas le modèle pour les moteurs Codex et Claude : le modèle utilisé par le headless inter-agent (codex exec / claude -p) et par la TUI interactive est le défaut du binaire CLI installé, indépendamment du profil AI de l'agent.

  • Aucun flag --model n'est passé au spawn (codex.rs:215-239, claude.rs:273-284).
  • codex_config_toml (lifecycle.rs:2941-2955) n'écrit jamais de clé model.
  • AgentProfile.model (profile.rs:1008) existe mais est du code mort (jamais consommé).
  • Le /model tapé dans la TUI ne se propage pas au headless : ce sont deux processus OS séparés (PTY vs codex exec/claude -p) avec des threads distincts. Le CODEX_HOME/cwd est partagé mais rien n'écrit le modèle sur disque côté IdeA.

Contraste : pour OpenCode, le modèle du profil (OpenCodeConfig.model / OpenCodeProviderConfig.model) est celui utilisé par le headless, via le opencode.json isolé pointé par OPENCODE_CONFIG (lifecycle.rs:2686-2689). Un profil IdeA = un (provider, modèle, clé scellée).

Objectif produit

Qu'il existe un modèle par défaut par agent, défini dans le profil AI, qui soit :

  1. utilisé par le headless inter-agent (idea_ask_agent) ;
  2. exposé par la TUI au lancement (valeur initiale du modèle dans la CLI) ;

pour les trois moteurs — OpenCode (déjà OK), Codex et Claude (à égaler).

Périmètre

  • Backend : nouveau VO domaine miroir d'OpenCodeProviderConfig, renderers de config écrivant le modèle, use cases de persistance.
  • UI : duplication / création de profils Codex et Claude comme OpenCode (catalogue de providers, sélection du modèle, clé scellée via SecretRef).

Lié à

  • #98 (relatesTo) : même famille « contrôle du modèle au spawn » (côté OpenCode, résolveur zai/glm-5.2). Indépendant mais cohérent.