2026 OpenClaw front sur Mac distant :
parser le JSON dependency-cruiser, résumer les cycles en garde-fou PR et fusionner avec vos digests lint
Public : monorepos qui veulent un digest PR lisible sans second tableau de bord. Ce HowTo pose un contrat JSON, une table de paliers, six étapes et deux déclencheurs : passerelle ou script. Liens utiles : ESLint JSON passerelle, knip, jetons. Pages publiques : tarifs, aide, achat.
00 Pourquoi le graphe brut ne doit pas finir dans le fil de discussion
Écrire toujours vers artifacts/depcruise/graph.json aligne portable, CI et Mac loué ; le réducteur fusionne un bloc Markdown avec les digests OpenClaw existants. La passerelle ne reçoit que chemin, SHA et thresholds_version. Les relecteurs comparent ainsi l’état des imports au même instant que les alertes lint sans changer d’onglet.
Trois frictions :
- cwd instable : alias ou
tsconfigdivergents faussent les cycles. - PR illisibles : gros JSON dans le commentaire dépasse les quotas d’API.
- Bots en double : sans marqueur HTML ni idempotence, deux jobs spamment le fil.
01 Matrice : passerelle centralisée contre script de dépôt
Même gabarit Markdown si les entrées sont normalisées ; tranchez selon secrets, audit et latence. Les deux chemins restent reproductibles sur Apple Silicon loué.
| Critère | Passerelle OpenClaw | Script et gh pr comment |
|---|---|---|
| Secrets | Jetons côté service ; la CI envoie chemin et version des seuils. | OIDC sur l’exécuteur ; rien de secret dans le Markdown. |
| Fusion | Ordre des sections figé ; chaîne avec synthèse ESLint. | Assemblage runner ou marqueurs par outil. |
| Audit | Logs centralisés sur le Mac distant. | Scripts versionnés en Git. |
| Latence | Hop réseau après jobs lourds. | Immédiat après depcruise. |
02 Paliers : gravité, longueur des cycles et plafond de modules
Point de départ contractuel ; chaque changement incrémente thresholds_version dans l’en-tête du commentaire.
| Palier | Condition indicative | Code de sortie |
|---|---|---|
| info | Aucun cycle, ou cycles entièrement couverts par une liste d’exceptions d’équipe. | 0 |
| warn | Un à deux cycles, chaque cycle au plus six modules, au plus huit lignes de tableau dans le Markdown, au plus huit cents modules scannés. | 0 avec préfixe WARN dans le titre du digest |
| error | Trois cycles ou plus, ou un cycle strictement plus long que sept modules, ou plus de huit cents modules sans revue d’architecture ni découpage de config. | 1 — bloquer la fusion sur branches protégées |
Lisibilité : au plus trois cycles dans le PR, trois segments par arête, surplus en compteur ; JSON complet seulement via l’artefact.
03 Six étapes du graphe au commentaire prêt à fusionner
- Config : versionner
.dependency-cruiser.js(racines, exclusions,no-circular). - JSON : même commande partout ; graphe uniquement dans le fichier convenu.
- Métriques : cycles, longueur d’anneau, total modules via
jqou Node. - Markdown : titre, totaux, tableau, lien artefact public.
- Exit : warn vert avec badge ; error casse le job protégé.
- Upsert :
<!-- openclaw-depcruise:SHA -->et fusion idempotente.
npx depcruise src --config .dependency-cruiser.js --output-type json --output artifacts/depcruise/graph.json
04 Déclencher la synthèse : webhook passerelle ou script après artefact
Passerelle : après graph.json, POST signé (PR, chemin, thresholds_version) ; le worker Mac distant lit le fichier, produit le Markdown, le service Git poste le commentaire. Enchaînez l’ordre des blocs avec les autres digests OpenClaw.
Script : scripts/depcruise-pr-summary.mjs → stdout → gh pr comment ; déclenchement si l’artefact est frais ; idempotence SHA plus tentative de job.
05 Questions courtes en production
Le JSON ne montre pas de cycles mais la politique échoue ? Contrôlez un second canal summary, l’horodatage du fichier et la cohérence du répertoire courant entre laptop et Mac distant. Vérifiez aussi qu’aucune règle hors no-circular n’est comptée par erreur dans votre réducteur.
Le commentaire dépasse la limite du fournisseur ? Limitez-vous à trois cycles et un compteur pour le reste ; conservez l’intégralité des données dans les artefacts du pipeline et renvoyez vers l’URL du job lisible sans authentification privée.
Entrées publiques sans création de compte pour comparer l’offre avant d’industrialiser les hooks : accueil, tarifs et forfaits, centre d’aide, louer ou acheter, liste du blog.
Charge de graphe : un Mac distant loué épargne les portables et aligne Apple Silicon avec WebKit ou Playwright. Parcourir les tarifs puis commander sur achat avant de verrouiller les workflows.