Files
IdeaSDK/.ideai/tickets/99/issue.md
Blomios e1b1c1e103 restore .ideai/tickets/ store versionnέ + corrige .gitignore
- Restaure .ideai/tickets/ depuis 851f1f8^ (167 tickets + index.json + counter.json)
- Enlève les ignore rules .ideai/tickets/ dans .gitignore (ligne 51 et 75)
- Permet le suivi durable du store tickets futur
- Ne touche pas sdk/ (reste untracked)
2026-07-28 20:18:00 +02:00

2.4 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 qa high null
target kind
#98 relatesTo
kind agent_id
agent a6ced819-b893-4213-b003-9e9dc79b9641
kind agent_id
agent a6ced819-b893-4213-b003-9e9dc79b9641
1784987973464 1785059758742 3

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.