chore(gitignore): stop tracking local IdeA tickets state
This commit is contained in:
@ -1,6 +0,0 @@
|
||||
---
|
||||
issueRef: "#33"
|
||||
version: 4
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedAt: 1784048928225
|
||||
---
|
||||
@ -1,39 +0,0 @@
|
||||
---
|
||||
id: "c3e1fbcc-cedc-48a5-a00e-b22ea8dc90de"
|
||||
number: 33
|
||||
title: "[Dette] Fallthrough silencieux du routage structuré (lifecycle.rs:1705)"
|
||||
status: "closed"
|
||||
priority: "high"
|
||||
sprint: "e28a4d53-8bd2-446a-b0ac-2a017373b8b2"
|
||||
links: [{"target":"#32","kind":"relatesTo"},{"target":"#14","kind":"relatesTo"}]
|
||||
agentRefs: []
|
||||
createdBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"}
|
||||
createdAt: 1783492190391
|
||||
updatedAt: 1784048928225
|
||||
version: 4
|
||||
---
|
||||
Cause racine structurelle identifiée par Architect lors du cadrage de #32.
|
||||
|
||||
`LaunchAgent::execute` (crates/application/src/agent/lifecycle.rs:1705) route vers la session structurée avec :
|
||||
|
||||
```rust
|
||||
if let (Some(factory), Some(structured), true) = (
|
||||
self.session_factory.as_ref(), self.structured.as_ref(),
|
||||
profile.structured_adapter.is_some(),
|
||||
)
|
||||
```
|
||||
|
||||
Ce `if let` **confond deux situations distinctes** :
|
||||
- « profil structuré, mais factory non câblée » (cas de l'UI : `state.rs:1466` construit le `LaunchAgent` sans `.with_structured(...)`) ;
|
||||
- « profil non structuré » (vrai profil PTY historique).
|
||||
|
||||
Dans les deux cas on tombe silencieusement, sans erreur ni branche explicite, sur `lifecycle.rs:1746` `self.pty.spawn(spec)`.
|
||||
|
||||
C'est ce fallthrough qui a produit le bug #32 : un profil `openAiCompatible` (aucun binaire) atteignait `CommandBuilder::new("openai-compatible")`. Claude et Codex tombent dans le **même** fallthrough ; ça ne passe inaperçu que parce qu'un binaire `claude`/`codex` existe dans le PATH.
|
||||
|
||||
Le fix de #32 neutralise le cas transport-backed, mais **le piège reste armé** pour le prochain adapter.
|
||||
|
||||
**Attendu** : remplacer le `if let` par un `match` explicite qui distingue les deux cas, et décider du comportement quand un profil structuré rencontre une factory non câblée (erreur explicite plutôt que dégradation muette vers le PTY).
|
||||
|
||||
Hors périmètre de #32 (déposé comme bug). Cadrage Architect requis avant implémentation.
|
||||
Reference in New Issue
Block a user