- listMachineEvents (machine_events, 30 derniers, desc) + route GET /machines/:id/events
- api machineEvents ; section repliable « Timeline » dans le panneau détail
(badge sévérité + horodatage), exploite les events déjà enregistrés par recordEvent
tsc 0 · 118 tests · build OK.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- extractImportantMessages (TDD) : E:/dpkg error → error, W:/GPG → warning,
déprecations/EOL → future_major_change ; nettoyage des secrets dans les URLs
- recordImportantMessages : dédup par (machine, source, message) non acquitté →
maj lastSeenAt, sinon insert (firstSeen/lastSeen) dans important_messages
- branché dans refreshMachine (sortie APT) avec snapshotId
- routes GET /machines/:id/messages + POST .../:msgId/ack
- UI : carte « Messages importants » (badge sévérité + ack) dans le panneau détail
tsc 0 · 118 tests · build OK.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Branche le frontend sur le moteur post-install (SJ-8) :
- liste des profils (badge de risque), dépliage → champs de formulaire typés
(text/select/bool/secret), pré-remplis depuis defaults + utilisateur SSH
- Preview (script rendu, secrets masqués) en Popup
- Exécuter : profils sûrs en direct, profils à risque (identity_network) via
confirmation Popup → action_request approuvé ; auto-sélection machine →
flux visible dans le terminal
- api client : getProfiles / previewProfile / runProfile + types
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Branche le frontend sur le backend Docker (SJ-4/5/6) :
- scan, configuration des racines Compose, liste stacks + services avec
badges de statut (candidat/activé/maj dispo/à jour)
- activer/ignorer/désactiver un stack ; pull-check (non destructif)
- apply/down/prune via action_request + confirmation Popup (design system)
- toute action streamée auto-sélectionne la machine → flux visible dans le
terminal de droite (outputHub rejoue le buffer)
- api client : docker settings/roots/scan/stacks/status + action-requests
- icônes trash/check, styles docker-* (variables CSS uniquement)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>