| name | ci-fix |
| description | Détecte les échecs CI GitHub Actions, extrait le log pertinent et applique ou propose un correctif automatique. |
| version | 1.0.0 |
| platforms | ["linux","macos"] |
| metadata | {"hermes":{"tags":["ci","github","autofix","actions","pipeline"],"related_skills":["github","verify-conformance"],"model":"deepseek-v4-full","coding_delegate":"mistral-3.5","coding_runtime":"vibe-cli","cron":"*/15 * * * *"}} |
ci-fix
Adaptation de ci-guard (54) — ULK → Hermes. Carte :
docs/backlog/2026-06-28-SPEC-HERMES-CI-FIX/CARD.md (P2, GitHub #272). GAP #4.
Pipeline linéaire (pas un orchestrateur lourd) : polling des runs échoués via la skill
github → extraction du step échoué → catégorisation → correctif délégué → branche + draft PR
(revue humaine avant merge — jamais de commit/merge automatique sur la branche par défaut).
Runtime & modèles
Procédure
- Détecter les runs échoués dans les N dernières heures (paramétrable, API
github).
- Extraire uniquement le step échoué + message (
fichier:ligne si dispo) — jamais le log complet.
- Catégoriser → stratégie (lint auto-fixable, test failure, dep manquante…).
delegate_task(coder) → édition sur branche claude/ci-fix-<run_id> → draft PR via github (jamais de commit/merge auto sur la branche par défaut).
- Log run traité dans
<vault>/logs/ci-fix/ (idempotent sur run_id).
- Cron polling
*/15 * * * * (heures ouvrées).
Critères d'acceptation
Pièges
- Ne pas reproduire l'orchestration multi-agents d'ULK (robocop, ed209) : rester linéaire.
- Logs Actions volumineux → extraire le seul step échoué (coût token).
- Cas « correctif impossible » : log + notification, pas de boucle infinie.
- Prompt de délégation fermé (fichier + contrat) : vibe n'a pas de LSP.