Skip to content

feat(run): garde-fou quand un projet n'est pas câblé pour Albert (T7.7, AC-R040)#15

Merged
benoitvx merged 1 commit into
mainfrom
fix/run-guard-albert-config
Jul 21, 2026
Merged

feat(run): garde-fou quand un projet n'est pas câblé pour Albert (T7.7, AC-R040)#15
benoitvx merged 1 commit into
mainfrom
fix/run-guard-albert-config

Conversation

@benoitvx

Copy link
Copy Markdown
Contributor

Problème

albert-code run dans un dossier sans opencode.json (jamais setup) — ou avec un opencode.json sans provider albert — ouvre OpenCode sur ses modèles par défaut : Albert absent de /models, sans aucune alerte.

Footgun silencieux confirmé sur 2 bêta-testeurs (dont un power user avec ~34 VMs), chacun suivi d'une longue session de debug pour une cause banale : run lancé avant setup.

Correctif (généralise T1.6)

1. Garde-fou au run (phase_run, tout début)
Si ./opencode.json est absent ou ne contient pas "albert" : avertissement clair (« projet non configuré pour Albert → fais albert-code setup ici ») + confirmation avant de lancer sans Albert. En dry-run / non-interactif, confirm répond non → on n'ouvre pas OpenCode sans config.

2. Avertissement au setup (scaffold_opencode_json, fichier existant)
Si ./opencode.json existe sans "albert", on ne dit plus juste « conservé » : on signale qu'Albert n'est pas câblé et on pointe le bloc provider "albert" à ajouter. → absorbe le ticket T1.6.

Détail technique

Détection sur fichier : grep -q '"albert"' ./opencode.json. Pas de limactl | grep, donc pas de course SIGPIPE (leçon de T7.6). Non-destructif : aucun fichier écrasé.

Logique validée sur 3 cas :

Dossier Comportement
pas de opencode.json avertit + n'ouvre pas sans Albert (cas Julien)
opencode.json sans albert avertit (T1.6)
opencode.json avec albert procède normalement

Tests

  • TESTS.md S44 — garde-fou au run (3 sous-cas).
  • TESTS.md S45 — avertissement au setup (ex-T1.6/S22).

Portée

lib/phases.sh (2 points : phase_run, scaffold_opencode_json) + doc (BACKLOG T7.7, FEEDBACK AC-R040, TESTS S44/S45). vendor/vm/ non touché.

…7, AC-R040)

`albert-code run` dans un dossier sans opencode.json (jamais setup), ou avec
un opencode.json sans provider albert, ouvrait OpenCode sur ses modeles par
defaut -- Albert absent de /models, sans aucune alerte. 2 beta-testeurs
pieges (dont un power user), longue session de debug a chaque fois.

- phase_run : garde-fou en tete. Si ./opencode.json absent ou sans "albert",
  avertit clairement (fais `albert-code setup` ici) et demande confirmation
  avant de lancer sans Albert (dry-run/non-interactif : n'ouvre pas).
- scaffold_opencode_json : si opencode.json existe sans "albert", ne dit plus
  juste "conserve" -- signale qu'Albert n'est pas cable (absorbe T1.6).

Detection sur fichier (grep -q '"albert"' ./opencode.json), pas de pipe donc
pas de course SIGPIPE (cf. T7.6).

Tests : TESTS.md S44 (garde-fou run) + S45 (avertissement setup, ex-T1.6/S22).
@benoitvx
benoitvx merged commit 9d28a8b into main Jul 21, 2026
2 checks passed
@benoitvx
benoitvx deleted the fix/run-guard-albert-config branch July 21, 2026 20:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant