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>
2.3 KiB
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 |
|
|
|
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
--modeln'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
/modeltapé dans la TUI ne se propage pas au headless : ce sont deux processus OS séparés (PTY vscodex exec/claude -p) avec des threads distincts. LeCODEX_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 :
- utilisé par le headless inter-agent (
idea_ask_agent) ; - 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.