SPB Git

spb/ka-guardian

Public
6.9 KB · 150 lines html
1<!doctype html>2<html lang="fr-CA">3<head>4<meta charset="utf-8">5<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">6<title>Guardian — Groupe KA</title>7<meta name="description" content="Agent gardien autonome du Groupe KA : il détecte les connecteurs en panne, les répare avec Claude, surveille la guérison et revient en arrière si ça empire. Tout est public, en direct.">8<link rel="icon" type="image/svg+xml" href="/favicon.svg">9<link rel="apple-touch-icon" href="/favicon.svg">10<link rel="preconnect" href="https://fonts.googleapis.com">11<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>12<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;600;700&display=swap" rel="stylesheet">13<link rel="stylesheet" href="/static/style.css">14</head>15<body>1617<header class="topbar">18  <a class="wordmark" href="/"><span id="wm-name">ka·—</span><span class="ka" id="wm-ka">guardian</span></a>19  <nav class="topnav">20    <a class="gk-badge" href="https://www.groupe-ka.com">groupe<b><span class="ka">·KA</span></b></a>21    <span id="siblings"></span>22  </nav>23</header>2425<main>26  <!-- ============ HÉROS ============ -->27  <section class="hero">28    <div class="hero-main">29      <p class="klabel" id="hero-label">agent gardien autonome</p>30      <h1>Il veille. Il répare.<br>Il <span class="hl">rend des comptes</span>.</h1>31      <p class="lede" id="lede">Un connecteur tombe en panne quelque part dans l'écosystème ·Ka ?32        Cet agent le détecte, ouvre le code, le répare, prouve que ça marche — et si ça empire,33        il revient au commit d'avant. Tout ce qu'il fait est public, ici, en direct.</p>34      <div class="hero-chips" id="hero-chips">35        <span class="chip chip-accent"><span class="live-dot" id="live-dot"></span> en direct</span>36      </div>37    </div>38    <aside class="defcard card">39      <p class="klabel">définition</p>40      <p class="defword">gar·dien <span class="phon">/ɡaʁ.djɛ̃/</span> <span class="nat">n.m.</span></p>41      <ol class="defs">42        <li><b>détecte</b> — lit la supervision api-ka toutes les 5 minutes ; un connecteur <i>cassé</i> ou <i>endormi</i> devient un incident.</li>43        <li><b>répare</b> — dépêche Claude dans le repo de l'app, sur le nœud même : diagnostic, correctif minimal, test réel, commit.</li>44        <li><b>surveille</b> — 8 heures d'observation post-réparation avant de déclarer victoire.</li>45        <li><b>recule</b> — l'app tombe ou rien ne guérit ? <i>git reset</i> au commit d'avant, redémarrage, et on le dit publiquement.</li>46      </ol>47    </aside>48  </section>4950  <!-- ============ CHIFFRES ============ -->51  <section>52    <p class="klabel">l'état du gardien</p>53    <div class="tiles" id="tiles"></div>54  </section>5556  <!-- ============ COMMANDER UN EFFORT ============ -->57  <section class="commander card">58    <div class="cmd-grid">59      <div class="cmd-intro">60        <p class="klabel">commander un effort</p>61        <h2 class="cmd-title">Donne-lui du <span class="hl">travail</span>.</h2>62        <p class="cmd-lede">Choisis une plateforme et lance une session Claude Code63          <b>100 % autonome</b> sur son nœud : elle découvre (Serper), escalade s'il le faut64          (proxys résidentiels, Scrapfly, acteurs Apify), teste pour vrai, committe —65          et travaille jusqu'au bout sans rien demander. Tout s'affiche dans le flux.</p>66      </div>67      <form id="effort-form">68        <div class="frow">69          <label class="flab">Type d'effort70            <select id="ef-kind" class="select">71              <option value="effort_new">Nouveau connecteur — découverte + construction</option>72              <option value="effort_enrich">Enrichissement d'un connecteur existant</option>73            </select>74          </label>75          <label class="flab">Plateforme76            <select id="ef-service" class="select"></select>77          </label>78        </div>79        <label class="flab" id="ef-source-wrap" hidden>Connecteur à enrichir80          <select id="ef-source" class="select"></select>81        </label>82        <label class="flab">Consigne (optionnel)83          <input id="ef-note" class="input" placeholder="ex.: vise les microbrasseries de la Côte-Nord, ajoute les fiches détail…">84        </label>85        <div class="frow frow-end">86          <label class="flab">Jeton d'opérateur87            <input id="ef-token" type="password" class="input" placeholder="KA_GUARDIAN_TOKEN" autocomplete="off">88          </label>89          <button type="submit" class="btn-primary">Lancer l'effort →</button>90        </div>91        <p class="cmd-msg" id="ef-msg"></p>92      </form>93    </div>94  </section>9596  <!-- ============ ÉCRAN + INCIDENTS ============ -->97  <section class="cols">98    <div class="screen card" id="screen">99      <div class="screen-head">100        <span class="screen-dots"><i></i><i></i><i></i></span>101        <span class="screen-title" id="screen-title">flux — tout ce que l'agent fait, en temps réel</span>102      </div>103      <div class="feed" id="feed"><div class="feed-empty">// en attente d'activité — le gardien scrute api-ka toutes les 5 minutes…</div></div>104    </div>105    <div class="side">106      <div class="card pad">107        <p class="klabel">incidents</p>108        <div id="incidents" class="incidents"></div>109      </div>110      <div class="card pad">111        <p class="klabel">territoire surveillé</p>112        <div id="coverage" class="coverage"></div>113      </div>114    </div>115  </section>116117  <!-- ============ MISSIONS ============ -->118  <section>119    <p class="klabel">registre des missions <span class="hint">— cliquer une ligne pour le déroulé complet, commits inclus</span></p>120    <div class="card table-wrap">121      <table id="missions">122        <thead><tr><th>Quand</th><th>Connecteur</th><th>Service</th><th>Nœud</th><th>Verdict</th><th>Commits</th><th>Durée</th><th>Coût</th></tr></thead>123        <tbody></tbody>124      </table>125    </div>126  </section>127</main>128129<footer class="ka-footer">130  <div class="foot-in">131    <a class="wordmark wordmark-foot" href="/"><span id="foot-name">ka·—</span><span class="ka">guardian</span></a>132    <p class="notice"><b>Zéro boîte noire.</b> Chaque diagnostic, chaque commit, chaque rollback de cet agent133      est journalisé et affiché ici. Les réparations sont committées dans les repos des plateformes,134      jamais poussées sans passage humain.</p>135    <p class="sites" id="foot-sites"></p>136    <p class="legal">Groupe KA — agrégation automatisée, Québec. <a href="https://www.groupe-ka.com">groupe-ka.com</a></p>137  </div>138</footer>139140<div class="modal" id="modal" hidden>141  <div class="modal-box card">142    <div class="modal-head"><h3 id="modal-title">Mission</h3><button id="modal-close" aria-label="fermer">✕</button></div>143    <div class="modal-body" id="modal-body"></div>144  </div>145</div>146147<script src="/static/app.js"></script>148</body>149</html>150
Files · 39f4a080e3f1e0ef46de9023d45eb6076ef20d40
Menu

Theme