Pour les responsables techniques

La trace existe parce que le vote l’a produite.

Ni automatisation, ni magie : l’argumentation est l’artefact. Lorsque Claude soumet une question au conseil Kirat, ChatGPT et Gemini prennent position indépendamment, Claude ajoute la sienne, et ils votent. L’appel et son résultat contiennent la question, les options, chaque vote, la décision, la manière dont elle a été atteinte et la dissidence. L’argumentation est consignée au moment où elle a lieu, et non reconstituée des semaines plus tard.

Claude Desktop (macOS/Windows) et Claude Code ; sessions cloud de Claude Code après une configuration unique — pas le chat dans le navigateur ni sur mobileVos propres clés APIAucun serveur à exploiterAchat unique
01 — Le problème

Les décisions survivent au raisonnement qui les a motivées.

01

Les ADR sont rédigés après coup, quand ils le sont — et à ce stade, le raisonnement s’est réduit à un résumé de la conclusion.

02

La décision a en réalité été prise dans un fil de discussion. Ce fil n’est pas consultable par recherche, et la personne qui l’a écrit est partie.

03

« Pourquoi est-ce construit ainsi ? » La réponse relève de l’archéologie, menée par celui qui est là depuis le plus longtemps.

02 — Ce qui change

L’argumentation dont un ADR a besoin, consignée au moment où elle a lieu.

Un vote du conseil produit la partie d’un ADR qui se dégrade le plus vite : ce qui a été demandé, ce qui a été envisagé, ce qui l’a emporté, comment, et qui s’y est opposé. Ce n’est pas un ADR achevé, et Kirat ne rédige pas d’ADR. Le statut, les conséquences et le responsable restent à compléter par vous. Ce que cela supprime, c’est la reconstitution d’une argumentation que personne n’a consignée.

// un appel réel et son résultat kirat_vote({ question: "Cap the coupled effort default, or leave it at maximum?", options: ["cap at high", "decouple", "leave as is"], ownPosition: { position: "cap at high", reasoning: "…", confidence: 72 } }) → outcome: "completed" decision: "cap at high" decisionPath: "unanimous" rounds: 1 votes: [openai 94, gemini 92, claude 72] cost: $0.021 Correspond à un ADR : Question ✓ Options ✓ Décision ✓ Reste à votre charge : Statut ✗ Conséquences ✗ Responsable ✗

FIG. 1 — Ce que le résultat couvre, et ce qu’il ne couvre pas. Nous préférons vous montrer la deuxième ligne plutôt que la cacher. Les nombres des votes sont la confiance autodéclarée des modèles. Sans majorité, l’issue est needs_human : c’est vous qui décidez.

Kirat conserve les 20 derniers résultats dans le dossier .kirat de votre dossier personnel, et Claude peut récupérer les plus récents avec kirat_result. C’est une mémoire de travail, pas une archive. Enregistrez les résultats importants là où se trouvent vos ADR.

03 — Gouvernance

Ce qu’il a le droit de décider sans vous.

Un outil est conçu pour les décisions que vous déléguez : kirat_decide, pour les choix de travail réversibles. Il dispose d’un veto et d’une limite quotidienne, et chaque décision déléguée est inscrite dans un journal local du dossier .kirat. Pour tout le reste, le conseil vote et vous voyez la répartition des voix. Sans majorité, il indique needs_human au lieu de prendre parti.

Les règles qui encadrent les appels se trouvent dans le code, pas dans un prompt :

// gouvernance — dans le code, pas dans un prompt garde-fou budgétaire réserve le coût du pire cas avant chaque appel ; bloque les appels qui pourraient dépasser le budget quotidien ($5 par jour UTC par défaut, réglable) limite de tours au plus 2 tours de débat départage des membres font défaut et les autres sont divisés → un responsable de domaine désigné départage disjoncteur erreurs d’API répétées → le membre est mis en pause pour la session salle d’attente les longues exécutions renvoient aussitôt un ticket ; Claude récupère le résultat avec kirat_result niveaux d’effort fast · standard · thorough · max ; délais d’attente par fournisseur calculés à partir du débit mesuré

FIG. 2 — Nomenclature des garde-fous. Le garde-fou budgétaire fonctionne au mieux (best-effort) : fixez aussi des plafonds de dépenses chez les fournisseurs.

Ces règles ont échoué de manière instructive, et les correctifs sont dans le code. Un exemple tiré des versions candidates : un refus budgétaire était compté comme une défaillance de l’API et pouvait déclencher le disjoncteur, écartant un membre en bon état de marche. Les refus budgétaires ne comptent plus comme des défaillances. Kirat dispose de 256 tests automatisés, exécutés sans accès réseau. La chronologie complète des défaillances se trouve dans la section Preuves de la page principale.

Ce que Kirat ne fait pas

  • —Il n’est pas infalsifiable. Les résultats et le journal des décisions déléguées sont des fichiers locaux du dossier .kirat. Toute personne ayant accès à l’ordinateur peut les modifier ou les supprimer. C’est un journal d’exécution local et un aide-mémoire, pas une preuve de conformité.
  • —Il ne remplace pas la revue de code, et il ne réduira pas à lui seul votre charge de revue. Qu’il fasse gagner du temps à quelqu’un dépend entièrement de votre façon de travailler. Nous n’avons aucune mesure, nous n’en revendiquons donc aucune.
  • —Il ne s’intègre pas à votre pipeline. Aucun bot ne commente les pull requests, et rien ne s’exécute dans votre pipeline de build. Kirat fonctionne dans un chat Claude Desktop ou une session Claude Code — locale, ou session cloud après la configuration unique — lorsque Claude l’appelle.
  • —La délégation est un garde-fou, pas un système d’autorisations. Le veto et la limite quotidienne encadrent kirat_decide. Ils n’encadrent pas ce que Claude, vos outils ou vos systèmes ont le droit de faire.
  • —Il ne garde pas votre code en interne. Tout ce que vous confiez à Kirat (questions, contexte, code) va directement à OpenAI et à Google, sous vos comptes et selon leurs conditions — depuis votre ordinateur, ou, dans les sessions cloud de Claude Code, depuis votre propre environnement cloud via le proxy réseau d’Anthropic pour cet environnement. Par rapport à l’utilisation de Claude seul, cela ajoute deux destinataires.
  • —Il ne fonctionne pas partout où vous utilisez Claude. Uniquement là où Claude exécute des outils sur une machine où Kirat est installé : les chats de Claude Desktop sur macOS et Windows, Claude Code dans un terminal ou dans VS Code, les sessions locales de l’onglet Code de Claude Desktop, les sessions SSH — et les sessions cloud de Claude Code (sessions cloud de l’onglet Code, Claude Code sur le web ou dans l’application mobile) après une configuration unique de votre environnement cloud. Le cloud a des limites : toute personne qui utilise l’environnement peut lire ses variables d’environnement, y compris vos clés ; le budget quotidien de Kirat est compté par session, fixez donc des plafonds de dépenses chez OpenAI et Google ; les tâches en arrière-plan et les résultats récents prennent fin avec la session ; et l’environnement doit autoriser deux hôtes, api.openai.com et l’hôte de téléchargement de Kirat. Si la configuration échoue, la session démarre quand même, simplement sans Kirat, et l’état d’échec peut rester en cache pour les nouvelles sessions jusqu’à ce que vous modifiiez le script de configuration. Pas le chat dans le navigateur ou les applications mobiles, ni les tâches Cowork exécutées dans le cloud. Les sessions WSL et les tâches Cowork locales ne sont pas testées. Les réseaux de votre propre ordinateur qui exigent un proxy HTTP ne sont pas pris en charge. Les organisations qui limitent les extensions Desktop à une liste d’autorisation bloquent les installations manuelles ; adressez-vous à votre administrateur. Où il fonctionne, en détail.
04 — Questions

Avant d’acheter.

Cela remplace-t-il la revue de code ?

Non. kirat_review obtient d’autres familles de modèles des constats sur une modification avant qu’un humain ne l’examine, et chaque constat est vérifié par l’autre famille de modèles. Les humains continuent de relire. Cela change ce qu’ils regardent, pas le fait qu’ils regardent.

Qu’est-il réellement permis de déléguer ?

Les choix de travail réversibles, via kirat_decide, avec un veto et une limite quotidienne. Chaque décision déléguée est inscrite dans le journal des décisions déléguées du dossier .kirat.

Tout ce qui serait coûteux à défaire relève d’un vote, pas d’une délégation. Un vote vous donne les positions et l’issue ; sans majorité, il renvoie needs_human et ne décide rien.

Comment s’intègre-t-il à un processus ADR existant ?

Il produit l’argumentation ; vous produisez l’ADR. L’appel et son résultat contiennent la question, les options et la décision — la partie que l’on paraphrase mal des semaines plus tard. Le statut, les conséquences et le responsable restent manuels ; voir la fig. 1.

Kirat ne conserve que les 20 derniers résultats ; enregistrez donc ceux que vous voulez garder à côté de l’ADR.

Comment cela fonctionne-t-il pour une équipe ?

Une licence couvre une personne, sur un nombre quelconque d’appareils et d’environnements cloud appartenant à cette personne. Elle n’autorise pas la redistribution : chaque membre de l’équipe qui utilise Kirat a donc besoin de sa propre licence, et un environnement cloud partagé avec d’autres nécessite une licence par personne. Il n’y a pas de sièges à administrer, pas de compte chez nous et pas de serveur à exploiter.

Chaque personne utilise ses propres clés API et son propre budget quotidien. Nous recommandons un projet distinct chez le fournisseur, avec un plafond de dépenses. Dans un environnement cloud partagé, toute personne qui l’utilise peut lire ses variables d’environnement, y compris les clés.

Où sont stockées les clés API ?

Vous les saisissez dans la boîte de dialogue d’installation ou de paramètres de Claude lui-même. Claude Desktop les conserve dans le stockage sécurisé du système d’exploitation (macOS Keychain, Windows Credential Manager). Claude Code les conserve dans le macOS Keychain, et sous Windows et Linux dans ~/.claude/.credentials.json, lisible uniquement par votre utilisateur. Dans les sessions cloud de Claude Code, ce sont des variables d’environnement de votre environnement cloud, lisibles par toute personne qui l’utilise.

Kirat n’a ni serveur ni télémétrie. Nous ne voyons jamais vos clés ni vos données.

En quoi consiste le déploiement ?

Claude Desktop : décompressez le téléchargement, ouvrez Settings → Extensions → Advanced settings → Install Extension…, choisissez le fichier .mcpb et saisissez les deux clés dans la boîte de dialogue. Desktop avertit que les extensions installées depuis un fichier ne sont pas vérifiées par Anthropic ; c’est normal.

Claude Code : décompressez le téléchargement et déplacez le dossier kirat extrait dans votre dossier personnel, de sorte que ~/kirat/claude-code existe. Ensuite, dans une session, exécutez /plugin marketplace add ~/kirat/claude-code et /plugin install kirat@kirat, puis saisissez les clés lorsqu’elles vous sont demandées. Le plugin nécessite Node.js 20 ou une version ultérieure.

Sessions cloud de Claude Code : une fois par environnement cloud, collez le bloc fourni dans le téléchargement (cloud/setup.sh) en haut du script de configuration de l’environnement et ajoutez les deux clés comme variables d’environnement. Nous recommandons les noms KIRAT_OPENAI_API_KEY et KIRAT_GEMINI_API_KEY : ils n’entrent pas en conflit avec la variable OPENAI_API_KEY propre à un projet (Kirat accepte aussi OPENAI_API_KEY et GEMINI_API_KEY). Si l’accès réseau est réglé sur Full, il n’y a rien à modifier ; sinon, réglez-le sur Custom (dans les applications plus récentes : Limited) avec la liste par défaut des gestionnaires de paquets, plus api.openai.com et l’hôte de téléchargement de Kirat. Si la configuration échoue, la session démarre sans Kirat, et l’état d’échec peut rester en cache jusqu’à ce que vous modifiiez le script de configuration. Vérifiez d’abord les limites du cloud : où il fonctionne.

Si votre organisation limite les extensions Desktop à une liste d’autorisation, les installations manuelles sont bloquées ; adressez-vous à votre administrateur. La partie lente de l’installation, c’est la création des deux clés API chez les fournisseurs.

Qu’en est-il des mises à jour et des changements de modèles ?

Pour mettre à jour dans Claude Desktop, installez le nouveau .mcpb de la même manière (dans Claude Code, décompressez la nouvelle version par-dessus l’ancien dossier kirat, puis redémarrez Claude Code ou exécutez /reload-plugins) ; les clés et les réglages sont conservés. Les mises à jour de compatibilité sont gratuites dans la mesure du possible, sans garantie. Des nouvelles versions plus importantes peuvent être vendues séparément.

Les noms et les prix des modèles sont des réglages. Si un fournisseur retire un modèle, vous saisissez le nouveau nom et ses deux prix — aucune mise à jour n’est nécessaire.

Un seul produit pour tout le monde : un achat, un téléchargement comprenant l’extension Claude Desktop et le plugin Claude Code. Les tarifs et les détails figurent sur la page principale.