SPB Git forge

spb/api-ka

Public

API-KA — plateforme centrale : collecte quotidienne des 8 services KA, historisation append-only et API publique sur www.api-ka.com

48commits 1branches 0releases
5.9 MBsize
maindefault branch
19 days agolast push
Python 60.9% HTML 21% TypeScript 7.3% JavaScript 5.2% CSS 4.8% Shell 0.8%

History of src/api/routes/monitoring.py · clear filter

  1. Mon, Aug 24, 2026 1

    1. feat(monitoring): statut retired — retrait des sources désactivées ou disparues
      …
      Le registre connector_health est persisté et jamais purgé : une source
      désactivée côté app (ex. stores fabri-ka enabled=0) restait broken/stale à
      perpétuité et les agents gardiens la missionnaient sans fin (2026-08-24 :
      37 missions ka6 sur origin-north.ai). Désormais :
      - nouvelle colonne last_seen (dernière apparition dans une fenêtre de sync,
        ALTER TABLE appliqué en prod + backfill sur checked_at) ;
      - statut retired si la source est déclarée désactivée par l app
        (disabled_stores/disabled_sources du /api/stats — 58 sources fabri-ka
        retirées au premier run) ou absente de tout journal depuis > 14 j ;
      - une source retired qui réapparaît dans le journal est réévaluée
        normalement (last_seen remis à jour, statut recalculé) ;
      - retired exposé dans les résumés (monitoring, /health) et le détail
        (last_seen ajouté), jamais alerté, ignoré par les gardiens (trigger
        broken/stale inchangé).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +1
  2. Tue, Aug 18, 2026 1

    1. feat: supervision centralisée des connecteurs de l'écosystème KA
      …
      - table connector_health (une ligne par service/source, upsert) + job
        src/monitoring/connector_health.py toutes les 2 h dans apika-scheduler
        (lecture seule des GET /api/stats des 8 apps sœurs, timeout 5 s,
        échec d'une app sans impact sur le job)
      - classement : broken (≥3 échecs ou 0 résultat ×3), stale (>2× cadence,
        facteur de rotation au niveau source), degraded (<50 % de la médiane),
        ok — cadences par service (lou-ka 1 h … resto-ka 168 h)
      - alertes logs/alerts.log uniquement sur transition vers broken/stale
        (anti-spam via l'état précédent mémorisé en table)
      - endpoints publics GET /api/v1/monitoring/connectors(/{service}) +
        bloc connectors dans /health
      - 15 tests (classement, parsing, anti-spam, endpoints) — suite 48/48
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 1 mo ago · 1 file +112