Skip to content

feat(vm): absorbe agent-vm (vendoring) - OpenCode-only, chrome-devtools au niveau MCP, nom masqué (EPIC 7)#11

Merged
benoitvx merged 2 commits into
mainfrom
feat/absorb-agent-vm
Jul 7, 2026
Merged

feat(vm): absorbe agent-vm (vendoring) - OpenCode-only, chrome-devtools au niveau MCP, nom masqué (EPIC 7)#11
benoitvx merged 2 commits into
mainfrom
feat/absorb-agent-vm

Conversation

@benoitvx

@benoitvx benoitvx commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Contexte

Finding #1 des bêtatests (Nath + Sylvain + Romaric, cf. Findings bêta-testeurs §1) : absorber agent-vm dans Albert Code. On ne redéveloppe PAS agent-vm : on vendorise ses scripts (commit 6f20194) et on pilote ses fonctionnalités existantes. Feu vert de Sylvain (auteur). Réf AC-R035 / EPIC 7.

Changements

  1. Vendoring : vendor/vm/ (agent-vm.sh, agent-vm.setup.sh, runtime.example.sh, LICENSE MIT Sylvain Zimmer, VERSION @6f20194). Plus aucun clone externe (adresse la crainte « repo perso d'un gars »).
  2. Plus de clone ni de shim : install_agent_vm() réécrit, helper interne _vm(), nettoyage migration (ancien shim agent-vm + ligne rc retirés, non-destructif).
  3. VM de base OpenCode uniquement : agent-vm setup --preinstall=node,gh,chromium,opencode (jamais claude/codex/vibe).
  4. chrome-devtools au niveau MCP : setup.sh patché (INSTALL_OPENCODE_MCP=0 par défaut, plus d'enregistrement global). Reste proposé au setup projet avec --headless=true --isolated=true (utilisable dans une VM sans écran). Corrige AC-R023.
  5. OpenCode YOLO : le vendored lance opencode --auto (équivalent YOLO shippé) + permissions permissives dans le opencode.json généré.
  6. Nom « agent-vm » masqué de l'UI : « Albert Code fait tourner OpenCode dans une VM isolée (moteur Lima) ». Nom conservé uniquement en commentaires / LICENSE / vendor.

Vérification

bash -n OK (dont scripts vendored), hygiène verte, dry-run install/setup/run OK. Tests S39. À valider en E2E réel (rebuild VM de base OpenCode-only, chrome-devtools absent à 0 MCP).

Hors scope

Pas de parcours dédié « utilisateur déjà équipé » (géré à la main). Point #2 (auth GitHub) dans une PR suivante.

benoitvx added 2 commits July 7, 2026 16:54
CHANTIER #1 — Étape 1 à 9 :

- Vendorise sylvinus/agent-vm @ 6f20194 dans vendor/vm/ (agent-vm.sh,
  agent-vm.setup.sh, runtime.example.sh, LICENSE, VERSION)
- bin/albert-code + install.sh : AGENT_VM_DIR pointe vers /vendor/vm
- Plus de clone GitHub, plus de shim agent-vm sur le PATH
- install_agent_vm() vérifie le vendored, ne clone plus, ne source plus
  dans les rc, nettoie les migrations (shim/sourçage obsolètes)
- _vm() helper interne pour appeler agent-vm sans commande utilisateur
- check_base_vm() et phase_run() passent --preinstall=node,gh,chromium,opencode
  (OpenCode-only, plus de Claude/Codex/Vibe)
- Patche vendor/vm/agent-vm.setup.sh : INSTALL_OPENCODE_MCP=0 par défaut
  (chrome-devtools MCP désormais géré au niveau projet)
- config/opencode.template.json + scaffold : chrome-devtools avec
  --headless=true --isolated=true
- Plus de nom « agent-vm » dans l'UI utilisateur (lib/phases.sh, ui.sh,
  install.sh, README.md)
- BACKLOG.md EPIC 7, FEEDBACK.md AC-R035, TESTS.md S39
- Garde-fou anti-fuite vert (tests/check_no_personal_paths.sh)
@benoitvx benoitvx merged commit 404ca72 into main Jul 7, 2026
2 checks passed
@benoitvx benoitvx deleted the feat/absorb-agent-vm branch July 7, 2026 17:05
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