Mac distant (VNC) · matrice · grille 20 min
v2026.5.18 (rollup stable du 2026-05-18) fait passer les subagents de « spawn réussi » à traçable, file d’attente, retour maîtrisé. Un spawn n’affiche accepted qu’après écriture initiale réussie dans le registre ; la session principale gère queued follow-ups et priorité manual-turn ; la fin d’un run enfant revient par completion handoff vers la session originating. Les verrous de session et la propriété sandbox-peer sont renforcés. Sur Mac distant loué : enfant actif mais chat principal muet ; accepted mais liste vide ; subagents Codex natifs orphelins. Ce guide propose un runbook en huit étapes et une grille VNC de vingt minutes — frontière Subagent / ACP / Active Memory, sauvegarde, montée de version, recette sous le même utilisateur macOS que le démon Gateway. Liens : sans réponse, launchd, v2026.5.7 plugins, multi-projets, Linux sans GUI vs macOS+VNC.
Entre 5.12 et 5.17, les pannes subagent sont souvent des désalignements d’orchestration, pas une dégradation du modèle : registre absent mais accepted, complétion sans handoff, miroir Codex sans enfant OpenClaw. Ces chemins se reproduisent — documentez request id et journaux Gateway, pas des hypothèses qualitatives.
Archiver seulement l’accusé IM efface la chaîne de preuve. Dès 5.18, « accepted » exige une ligne registre ou une entrée console.
Sur Mac distant loué, un mauvais couple utilisateur aggrave tout : démon Gateway sous l’utilisateur A, bureau VNC sous B. Les listes spawn disparaissent, les dialogues TCC restent invisibles, et l’équipe débat du routage modèle au lieu d’un whoami croisé. 5.18 durcit la sémantique registre — la parité utilisateur reste votre discipline d’exploitation.
Cadrez l’acceptation en trois plans : (1) version et doctor, (2) registre et handoff côté Gateway, (3) livraison canal Telegram, Discord, etc. Mélanger les plans dans un ticket unique produit des rétros « nous avons tout changé à la fois ».
Échec d’écriture masqué (corrigé) : ordre sauvegarde registre → accepted ; échec = erreur spawn explicite.
Handoff manquant : completion handoff vers originating session ; routes announcement sandbox-peer en 5.18.
Course follow-up : queued follow-ups + manual-turn pour des ordres « coupe-file » prévisibles sur IM.
Codex natif orphelin : maintenance miroirs childless séparée du spawn OpenClaw pur.
Piège Mac distant : utilisateur SSH ≠ bureau VNC — listes spawn invisibles, fausse régression.
| Contrôle | SSH seul | VNC conseillé | OK |
|---|---|---|---|
| openclaw --version / doctor | oui | optionnel | CLI ≥ 2026.5.18, doctor sans bloqueur |
| Registre après spawn | logs + CLI | console / liste enfants | ligne < 30 s |
| completion handoff | transcript principal | Network même user | résumé canal principal |
| follow-up en file | logs priority | deux ordres IM réels | manual-turn d’abord |
| Codex natif | trajectory / doctor | OAuth / permissions | pas d’alerte orphaned |
| config subagents | doctor --fix | diff config | timeoutMs invalides retirés |
Coût minimal : SSH pour artefacts, VNC pour le même utilisateur.
ACP lie la session IM au runtime de codage. Subagent = run enfant parallèle + registre + handoff. Active Memory injecte de la recherche avant la réponse — pas un nouveau spawn.
Pour l’audit sur Mac loué : si quelqu’un « répare ACP » pendant qu’un spawn subagent casse, stoppez et séparez les paquets de preuve. Sinon un bind réussi passe pour un handoff réussi — et le spawn suivant échoue encore au registre.
Le runbook est volontairement linéaire. Modifier canaux, plugins et modèles subagent en parallèle aux étapes 03–05 rend les journaux indébogables. Sous pression, réduisez le périmètre de la tâche enfant — pas l’ordre des étapes.
Gel & sauvegarde : arbre config, openclaw --version, build Gateway, ID nœud. Multi-projets : isolement d’abord.
Montée 5.18 : puis openclaw doctor — nettoyage subagents, plugin registry repair.
Smoke spawn minimal : tâche courte à fin claire ; ligne registre avant accepted.
Vérifier handoff : résumé lisible en session principale ; sinon logs handoff / announcement / session lock.
File follow-up : ordre coupe-file pendant l’enfant ; manual-turn avant la file — pas mélangé au cron.
Piste Codex : table native ↔ enfant OpenClaw à part.
Redémarrage démon : launchd — lignes keep du registre.
Preuves rollback : journaux et transcripts dans le ticket ; matrice CLI/Gateway.
openclaw --version openclaw doctor openclaw status # Après subagent court sur canal test : # rg -i "subagent|handoff|registry|spawn" /path/to/gateway.log | tail -n 80
Correctifs transverses (polling Telegram isolé, réponse finale Discord, drain pending au redémarrage Gateway) donnent handoff OK mais IM vide. D’abord livraison canal, puis registre.
En comité de changement, imprimez ces quatre faits en checklist — pas en prose. Les relecteurs demandent « Où est la ligne registre ? » au lieu de « Le bot a-t-il répondu ? ». Les fenêtres de mise en production sur Mac loués s’allongent moins souvent inutilement.
CLI et Gateway sur ligne 5.18 ? Clés legacy subagents dans doctor ?
Liste vide après spawn → échec d’écriture ou contexte utilisateur avant timeout modèle.
Journaux handoff, announcement, session lock ; final payload delivery pour votre canal.
Couche canal : forum topic Telegram, modes progress Discord.
Pression CPU/RAM allonge les attentes de verrou — réduire les spawns parallèles.
Horodatez chaque étape avec l’ID canal. Les équipes qui ne gardent que des captures IM perdent la preuve handoff — souvent plus lisible dans les journaux Gateway que dans l’UI chat.
Handoff visible en logs mais canal principal vide après l’étape C : ce n’est plus un problème registre. Passez au plan canal et comparez avec sans réponse avant d’envisager un retour 5.17.
Les vingt minutes sont une boîte temps commune SSH + VNC — pas vingt minutes SSH puis « peut-être VNC ». Lancez un minuteur, une personne au terminal, une au bureau ; verbalisez les constats pour ne rien perdre dans les fils chat.
| Point | VNC | SSH | OK |
|---|---|---|---|
| Version console | About / Network 200 | log démarrage | = CLI 5.18 |
| Liste après spawn | ligne UI | log registry | < 30 s |
| handoff | message final principal | mot-clé handoff | lisible |
| manual-turn | ordre de deux commandes | log priority | coupe-file d’abord |
| même utilisateur | bureau = démon | whoami | pas de cross-user |
Sur un Mac loué VNCMac, Gateway, navigateur et « Confidentialité et sécurité » tiennent dans une session VNC — dialogues invisibles en SSH seul. Équipes Windows-first : formaliser « journaux SSH + permissions VNC » dans Linux vs macOS+VNC.
Après acceptation : snapshot de la ligne registre, extrait journal handoff et capture du message principal dans le ticket de changement. C’est la passerelle vers v2026.5.7 pour durcir publication plugins et JSON cron — sans sauter à nouveau la baseline subagent.
doctor, heartbeat, livraison.
Lire →publication plugins, cron.
Lire →démon, journaux.
Lire →Écriture initiale registre et session originating d’abord ; journaux handoff. Dès 5.18 : échec d’écriture → erreur spawn.
Non. ACP lie l’IM au runtime de codage ; subagent = run parallèle + registre + handoff.
CLI et logs oui ; UI spawn et dialogues de permission sous le même utilisateur que le démon, en VNC.
doctor : retirer timeoutMs invalides sous subagents ; modèles primary/fallback. Sauvegarde d’abord.
v2026.5.18 rend l’automatisation parallèle auditable : registre, file, handoff — une rupture et l’IM semble muet. Frontière avec triage sans réponse.
Matériel détenu : veille, bande passante, attentes de verrou. Mac loué : un bureau VNC pour Gateway et console — acceptation ~20 minutes.
Si plusieurs développeurs partagent le même Mac loué, fixez des créneaux spawn et interdisez les acceptations parallèles sans calendrier — sinon les verrous de session se chevauchent et personne ne peut attribuer un échec handoff.
Pour l’acceptation graphique de la section six : VNCMac — louer un Mac cloud, connexion au centre d’aide (SSH-VNC).