spb/ka-guardian
Public
Python 57.1%
Shell 13.8%
CSS 12%
JavaScript 10%
HTML 7.2%
-
Fri, Sep 4, 2026 4
-
topologie vivante : emplacements des services lus dans le registre mld (plus rien en dur)
…
- orchestrator/registry.py : applique ~/ka-guardian-spool/registry.json (nœud, IP, dir, port, PM2 sans ngrok) à SERVICES/NODES en place, journalise les déménagements, lit la sonde des runners ; topology.json ne garde que service→registry_app (+ pm2_exclude), ses node/dir/port ne sont qu un repli - main.py : refresh à chaque tick, refus de dépêcher vers un nœud sans runner (log 1×/h), rollback sur le nœud ACTUEL du service, bloc registry dans /api/state - deploy/registry-sync.sh + launchd com.ka.registry-sync (zsh pur, LNP) : tire le registre via gitsrv toutes les 2 min + sonde :7791 → runners.json - deploy.sh : nœuds/repos dérivés du registre, cible registry-sync, pousseur fusionné, helper lc_reload (agent gui/uid ou DAEMON système sur nœud sans session graphique, ex. M2U64), filtre <nœud> - dashboard : runner prêt/occupé/absent + fraîcheur du registre par service Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
-
Fri, Aug 28, 2026 5
-
docs: README ultra détaillé + visites guidées ka2/ka4/ka6 (30 captures)
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
favicons ka2/ka4/ka6 : fallback ICO+PNG+apple-touch (Safari n'affiche pas les favicons SVG → onglet « ? ») — routes /favicon.ico /favicon.png /apple-touch-icon.png par agent + balises HTML
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
[orchestrateur] houseka/rentka: connecteurs desormais sous api-ka; rent-ka-sync relance et reintegre a pm2[]
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
[orchestrateur] rentka: pm2[] sans rent-ka-sync (stopped) — convention vrai-prix-ingest
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
[orchestrateur] supervision House-Ka + Rent-Ka sous ka2 (sites + runner M4M36)
…
- topology.json: services houseka (M4M64b:8098, www.house-ka.com) et rentka (M4M36:8125, www.rent-ka.com) ajoutés à ka2 (gardien immobilier & local); nœud m4m36 (192.168.2.69) ajouté aux nodes. - Runner com.ka.guardian-runner déployé sur M4M36 (rent-ka y tourne): deploy.sh RUNNER_NODES += M4M36, CLAUDE.md à jour. - ngrok exclus des listes pm2[] (même convention que vraiprix). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Tue, Aug 25, 2026 4
-
web: bouton primaire lisible — fond accent agent + texte encre
…
Lancer l effort passait mal en fond encre ; le bouton prend maintenant le fond lime/accent de l agent avec texte encre, hover vert profond. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
web: refonte éditoriale v2 (typo géante, brush lime, tuiles à filet)
…
Aligne le frontend ka2/ka4/ka6 sur la nouvelle DA lou-ka/vrai-prix : héro typographique, .hl converti en souligné brush SVG lime, carte définition devenue colonne à filet gauche, chips du héro en ligne de données mono + filets, tuiles d état / incidents / couverture / registre des missions à filet (zéro boîte) — l écran encre du flux garde son ombre signature. Fix min-content des grilles (main/hero/ cols) pour le mobile. CSS pur, servi à chaud : aucun restart des gardiens nécessaire. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
veilleur de sites: surveillance up/down des sites publics par agent
…
- topology.json: service vraiprix (M3U96a:8090, site seulement) ajouté a ka6; politique du veilleur (intervalle 120s, 2 echecs, throttle restart 10 min, fenetres watching/cooldown courtes pour _site) - orchestrator/main.py: site_engine — check du site public de chaque service, down confirme → pm2 restart auto via runner /restart, toujours down → incident site_down (priorite max) + mission Claude d investigation (build_site_down_prompt); current_status/_site, resolution auto au retour en ligne, garde anti-boucle abandonnes 24h; /api/state expose sites - runner/runner.py: endpoint POST /restart (pm2 restart + healthcheck, sans git) - app.js: libelle site_down; CLAUDE.md: doc du veilleur Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Mon, Aug 24, 2026 5
-
feat(orchestrateur): damper d événement de masse + fermeture des incidents retired
…
- Damper : si plus de mass_incident_threshold (20, policy) nouveaux incidents seraient créés d un coup pour un service, c est une panne GLOBALE de l app (sync mort, /api/stats cassé), pas autant de pannes individuelles — on ne crée rien et on alerte au journal/dashboard. Les sources encore cassées une fois la vague retombée reçoivent leurs incidents normalement (2026-08-24 : 794 incidents jobka créés après ~17 h d arrêt de job-ka-sync). - Statut retired (nouveau côté api-ka d10b2f6) : un incident actif dont la source est retirée de la supervision est fermé en abandoned. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
fix(runner): watchdog de timeout indépendant du flux stdout
…
Le contrôle du deadline vivait dans la boucle for line in proc.stdout : il ne s exécutait qu à l arrivée d une ligne. Un claude qui se tait (outil qui pend) ou qui n exit jamais après son résultat laissait la mission « running » pour toujours et bloquait le nœud (mission f9eb9d1b59c8 du 2026-08-24 : travail fini à 10:38, processus zombie tué à la main à 15:46). Un thread watchdog tue désormais le processus au deadline quoi qu il arrive. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
fix(orchestrateur): garde anti-boucle sur les incidents abandonnés
…
Une source diagnostiquée irréparable (site_source_mort, tentatives épuisées) ne redonne plus d incident avant abandoned_retry_hours (168 h, policy). Sans cette garde, un connecteur désactivé côté app mais rapporté broken à perpétuité par la supervision api-ka relançait une mission toutes les ~10 min (2026-08-24 : 37 missions sur origin-north.ai + 37 sur visionartproductions.com, ~42 USD). Les deux lignes mortes ont aussi été acquittées dans connector_health côté api-ka. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Rollback ciblé (revert des seuls commits [ka*], plus jamais de reset/revert de plage) + pousseur launchd com.ka.pousseur (push binaires Apple, contourne LNP) + consignes: push raté en mission = attendu
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Consignes: les agents committent ET poussent sur spbgit (git push origin main obligatoire); rollback runner pousse aussi (force-with-lease); retrait artefact M4M36luster-projects
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Sun, Aug 23, 2026 8
-
Bannières de partage (OG) par agent + rendu des pages par agent + CLAUDE.md prod
…
- og-ka2/ka4/ka6.png (2400×1260, identité Groupe KA) générées par deploy/make_og_images.py - balises Open Graph/Twitter dans index.html et commander.html (jetons __NUM__/__DOMAIN__/__TAGLINE__) - main.py: _render_page() au démarrage + route /og.png - CLAUDE.md: guide de prod M4M36 (launchd, restart, gotchas) pour les sessions admin Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Runner: flush du transcript ligne par ligne
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Robustesse: réconciliation des missions fantômes (runner /mission-result + final persisté), retries courrier 3x, deploy refuse un runner occupé, transfert tar-over-ssh
…
Cause racine du blocage 2026-08-23 14h: kickstart des runners (rotation jeton) a tué la mission claude en vol; l'événement final n'existait pas et la file restait bloquée jusqu'au délai zombie. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Page /commander (onglets, durée max, coût max estimé live, effort inspection dégradés) + garde-fou coût runner + commits conservés si plafond atteint
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Thèmes par agent (bleu ka2 / orange ka4 / mauve ka6) + favicons SVG signature + jeton opérateur
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
ka2/ka4/ka6 → modèle claude-fable-5
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
Courrier zsh: PATH launchd + gotcha variable spéciale zsh 'path'; fix [hidden] CSS; vérif md5 au déploiement
…
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
KA Guardian v1 — ka2/ka4/ka6 renaissent en agents autonomes de réparation des connecteurs
…
Orchestrateurs (M4M36) + runners claude -p sur les nœuds d'apps + courrier zsh (contournement Local Network Privacy macOS 26) + dashboards live style Groupe KA + efforts commandés (nouveau connecteur / enrichissement). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-