Open source · Pour le code et pour les documents bureautiques

Relisez ce qui compte.

Les modifications s’accumulent plus vite que quiconque ne peut les lire : pull requests écrites avec des assistants IA, budgets et contrats modifiés par de nombreuses mains. Probe compare chaque nouvelle version à celle en laquelle vous aviez confiance, place devant vous les quelques modifications qui demandent votre jugement, et montre pourquoi.

Dernière version v0.5.1 · Les constats viennent de règles fixes, pas d’un modèle · IA facultative.

Une personne travaillant sereinement à un bureau, dans un cercle lumineux, au centre d’un tunnel de câbles emmêlés, de notifications et de tableaux de bord
19 / 125 lignes ont besoin de vous Probe filtre le reste.
Deux outils, une même discipline

La même méthode de relecture, pour les développeurs et pour les équipes métier.

Les deux outils partent de la dernière version que vous avez relue, signalent les modifications à risque avec des règles fixes et explicables, et gardent une trace de ce qui a été vérifié. Un modèle d’IA peut aider à expliquer un constat ; il ne décide jamais de ce qui est signalé, et rien ne quitte votre machine sans votre accord.

Probe pour le code

Relisez les pull requests écrites par l’IA

Pour les développeurs, les tech leads et les pipelines de CI.

  • Traduit un diff Git en signaux de risque : authentification, paiements, validation supprimée, API publiques, dépendances.
  • Exécute vos tests dans des conteneurs jetables et tente de reproduire les problèmes sur les deux révisions.
  • Vérifie le plan d’un agent avant que le code n’existe, puis laisse fusionner les modifications conformes à faible risque.
CLIHub (Docker)GitHub · GitLabGo · TypeScript · Python · Rust
Probe Desktop

Surveillez les documents bureautiques partagés

Pour les équipes finance, juridique, commerciales et opérations, et pour quiconque partage des fichiers.

  • Suit les fichiers Word, Excel et PowerPoint de vos dossiers OneDrive ou Google Drive.
  • Signale une formule remplacée par un nombre, un total qui ne compte plus toutes les lignes, un montant ou une échéance modifiés, un « doit » devenu « peut ».
  • Tient une file de documents à relire ; une fois relue, une version devient la référence pour les modifications suivantes.
WindowsmacOSOneDrive · Google DriveWord · Excel · PowerPoint

Lequel vous faut-il ?

Probe pour le codeProbe Desktop
Vous êtesDéveloppeur, relecteur, équipe plateformeContrôleur de gestion, juriste, manager, assistant
Ce qui changeDu code source, dans des commits Git et des pull requestsDes fichiers Word, Excel et PowerPoint, dans OneDrive ou Google Drive
La référenceLa branche de base de la pull requestLa dernière version marquée comme relue
Ce qu’il rechercheCode sensible pour la sécurité, validations supprimées, modifications d’API et de dépendances, tests en échec ou manquantsFormules figées, plages réduites, montants, dates et obligations modifiés, feuilles ou diapositives masquées, macros
PreuvesVérifications exécutées en bac à sable, problèmes reproduits, rapport JSON et MarkdownL’avant et l’après de chaque modification signalée, et qui a enregistré en dernier
Mode d’exécutionUn outil en ligne de commande dans votre terminal ou votre CI, ou le Hub pour un compte entierUne application dans la barre des tâches ou la barre des menus, qui surveille en arrière-plan
Probe Desktop · Pour les documents

Les fichiers partagés changent en silence. Sachez quelles modifications comptent.

Un budget passé entre cinq personnes, un contrat retravaillé par l’autre partie, une présentation au conseil mise à jour la veille. Personne ne relit tout, et personne ne devrait avoir à le faire. Probe Desktop surveille les dossiers que votre équipe utilise déjà et vous montre les modifications qui changent un chiffre, un engagement ou un calcul, avec l’avant et l’après.

  • Voit ce que le suivi des modifications ne montre pas. Une formule discrètement remplacée par sa valeur, une somme qui s’arrête une ligne trop tôt, une feuille rendue invisible.
  • Fonctionne là où se trouvent déjà vos fichiers. Choisissez un dossier OneDrive ou Google Drive synchronisé sur votre ordinateur. Pas de migration, pas de complément, pas de compte.
  • Reste sur votre ordinateur. Les documents sont comparés en local. Une explication par IA est facultative et ne reçoit que les extraits signalés et les passages qui utilisent encore un nom ou un terme remplacé.
Probe Desktop · 2 documents à relire
  • X Une plage de la formule a été réduite : certaines cellules ne sont plus comptées Budget 2026.xlsx · Budget!B1 · élevée

    =SUM(A1:A3)

    =SUM(A1:A2)

  • X Une formule a été remplacée par sa valeur : la cellule ne se met plus à jour Budget 2026.xlsx · Budget!D2 · élevée

    =A2*2

    400

  • W Une obligation a été atténuée Contrat fournisseur.docx · Paragraphe 2 · élevée

    Le fournisseur doit livrer avant le 15/03/2026.

    Le fournisseur peut livrer avant le 15/03/2026.

  • W Un montant ou un pourcentage a été modifié Contrat fournisseur.docx · Paragraphe 3 · élevée

    Le prix est fixé à 12 000 € HT.

    Le prix est fixé à 15 000 € HT.

Probe pour le code

Les assistants IA écrivent vite de grosses pull requests. Probe vous indique quelles lignes lire en premier : il traduit le diff en signaux de risque, exécute vos vérifications dans des conteneurs jetables, tente de reproduire les problèmes avec des tests différentiels et vous remet un plan de relecture ciblé, preuves traçables à l’appui. Un outil en ligne de commande pour Windows, Linux et macOS, et un hub Docker pour un compte GitHub ou GitLab entier. Essayez-le en 2 minutes →

Probe pour le code · Le processus

Connaissez l’impact avant que le code n’existe. Ne relisez que ce qui a besoin de vous.

Le code écrit par l’IA devient prévisible quand l’agent annonce d’abord son travail. Probe mesure le risque du plan avant l’écriture du moindre code, puis vérifie que la modification a fait exactement ce qui était annoncé. Une modification qui suit un plan à faible risque et passe ses vérifications peut être fusionnée sans qu’un humain lise le diff ; tout le reste part en relecture, avec les raisons.

  1. Planifier et vérifier l’intention

    probe plan fait simuler la modification par l’agent, en lecture seule. Des règles fixes, et non le modèle, signalent les chemins critiques, les modifications d’API publique et de dépendances, le code très utilisé ou non testé. Un plan signalé est confié à un humain avant l’écriture du moindre code.

  2. Un agent code le plan

    Le plan devient un contrat : les fichiers, symboles et dépendances que l’agent peut toucher. Il implémente cela, et seulement cela.

  3. Vérifier la conformité

    probe review --plan réévalue le plan, exécute les vérifications dans le bac à sable et compare le diff au contrat : chaque fichier non prévu, modification d’API non annoncée, chemin critique ou dépendance est signalé.

  4. Fusionner, ou relire

    Modification conforme, plan à faible risque, vérifications réussies, rien d’autre de signalé : aucune relecture humaine requise, code 0, le pipeline fusionne. Sinon, code 2 : un humain relit la pull request, en partant des raisons listées.

Code 0 fusion

  1. Le plan, réévalué au moment de la review, n’a levé aucune catégorie de risque et a été entièrement mesuré.
  2. Le diff reste dans le cadre du plan : aucun fichier, API, chemin critique ou dépendance non prévus.
  3. Toutes les vérifications ont réussi ; aucun signal élevé, problème reproduit ni zone non vérifiée.

Code 2 relecture humaine

  1. Le plan touche quelque chose de critique, de public ou de très utilisé, ou n’a pas pu être mesuré.
  2. La modification a dérivé par rapport au plan.
  3. Une vérification a échoué ou le rapport a trouvé quelque chose à regarder. Chaque raison est listée.
# 1. before coding: plan, and let a human validate a flagged plan
probe plan --intent-file task.md --ci
# 2. the agent implements .probe/PLAN.json
# 3-4. in CI: conformance, checks and the gate (exit 0 = merge, 2 = review)
probe review --base origin/main --plan .probe/PLAN.json --ci
Plan conformance: conforming; 0 high, 0 medium, 0 low differences from the plan.
Plan gate: no human review required (low-risk plan, conforming change, checks passed, nothing else requests review).

La gate est une décision de processus, pas une preuve de correction : votre politique de confiance décide de ce qui est critique et des tests exécutés, et le moindre doute envoie la modification à un humain. Comment la gate décide.

Tests, vet, build et couverture : tout a réussi sur cette modification. Elle a pourtant supprimé la validation du montant de remboursement et permis au rôle support d’émettre des remboursements. Probe a placé les deux en tête du plan de relecture, parmi 19 lignes signalées sur 125.

Probe pour le code · Pourquoi il fait gagner du temps

Arrêtez de lire les diffs générés par l’IA de haut en bas.

Le plus coûteux dans la relecture d’une pull request assistée par l’IA, ce ne sont pas les lignes à risque. C’est de les trouver parmi les fonctions utilitaires, les tests et la documentation qui les entourent, puis de déterminer si un soupçon est fondé. Probe fait ce tri et rassemble les preuves avant même que vous n’ouvriez le diff.

Sans Probe chaque ligne, même attention

  1. Extraire la branche et lancer tests, vet et build à la main.
  2. Lire 125 lignes modifiées dans l’ordre des fichiers, utilitaires en premier.
  3. Remarquer, avec de la chance, qu’un appel de validation a disparu d’un chemin de remboursement.
  4. Écrire un test jetable pour savoir si c’est grave.
  5. Approuver sans trace de ce qui a réellement été vérifié.

Avec Probe le risque d’abord, preuves jointes

  1. Les vérifications ont déjà tourné dans un conteneur isolé, avec journaux et empreintes.
  2. Ouvrir le rapport : 19 lignes signalées, classées par gravité, avec leurs raisons.
  3. Commencer par payment/refund.go, où le rapport montre la validation supprimée.
  4. Laisser le relecteur facultatif tenter de reproduire le problème sur la base et le candidat.
  5. Conserver les rapports Markdown et JSON comme trace de la relecture.

Moins à lire d’abord

Une surface de relecture dédupliquée, comptée en lignes réellement modifiées : les grosses modifications générées se réduisent aux parties qui touchent l’authentification, les paiements, la validation, les dépendances ou les API publiques.

Aucune installation locale par PR

Vos commandes de test, de vérification de types, de build et de couverture s’exécutent dans des conteneurs jetables et sans réseau. Rien du candidat ne s’exécute sur votre machine.

Savoir quand s’arrêter

Les zones non vérifiées et les vérifications incomplètes sont listées explicitement, et --ci les transforme en code de sortie. Vous savez ce qui a été couvert et ce qui demande encore votre jugement.

Probe pour le code · Exemple de rapport

Ce que vous ouvrez à la place du diff brut

Extrait de .probe/CONFIDENCE_REPORT.md, produit par probe review HEAD~1..HEAD --reviewer=false --ci (v0.3.0) sur le dépôt d’une petite boutique. Le commit ajoutait des utilitaires de catalogue avec leurs tests, remaniait les remboursements et touchait aux autorisations. Aucun fournisseur d’IA n’a été utilisé.

.probe/CONFIDENCE_REPORT.md
## Change Summary
120 additions / 5 deletions · 5 files changed
Exit code: 2. No confidence percentage is assigned.

## Automated Checks1
- PASS test      (check-1; exit 0; 5982 ms)
- PASS typecheck (check-2; exit 0; 4866 ms)
- PASS build     (check-3; exit 0; 2835 ms)
- PASS coverage  (check-4; exit 0; 6416 ms)

## Reproduced Issues2
No issue was reproduced by a passing baseline
and failing candidate experiment.

## Suggested Human Review3
- high auth/auth.go:7 (new): Authentication or
  authorization function body changed
- high payment/refund.go:21–22 (new): Payment-sensitive
  function body changed
- high payment/refund.go:25–26 (new): Exported Go
  declaration added; Payment-sensitive function body changed
- high payment/refund.go:21 (old): Configured sensitive
  path changed; No nearby test file changed;
  Possible input validation removed
- medium catalog/format.go:9 (new): Exported Go
  declaration added
  … 11 more medium signals in catalog/

## Review Surface4
Focused review: 19 / 125 changed lines.

## Changed-line Execution5
Of 67 added Go lines, 44 were executed at least once,
0 were not executed, 23 are not inside any
instrumented block.
  1. Les vérifications sont faites, et elles ne sont pas la réponse. Chaque commande configurée a réussi dans un conteneur isolé. C’est justement pour cela que le reste du rapport compte.
  2. Des preuves, pas des opinions. Un problème reproduit exige un test qui réussit sur la base et échoue sur le candidat. Sans fournisseur d’IA, rien n’est affirmé ici, et le rapport le dit.
  3. Votre ordre de lecture. Les signaux élevés d’abord : une règle d’autorisation et un chemin de remboursement ont changé, et un appel de validation a été supprimé sans modification de test à proximité. C’est là que se trouve le bug.
  4. L’ampleur du travail. 19 des 125 lignes modifiées portent un signal. Lisez-les d’abord, puis décidez quelle part du reste mérite votre attention.
  5. Une observation, pas une preuve. Le nouveau code de remboursement s’est exécuté pendant les tests, mais aucun test ne vérifie le contrôle du montant. Probe rapporte l’exécution sans jamais la présenter comme la preuve que le code est testé.
Probe pour le code

Comment ça marche

  1. Comparer des commits immuables

    Les deux références sont résolues en identifiants de commit. Renommages, suppressions, fichiers binaires et sémantique de la base de fusion sont pris en charge ; seuls les fichiers commités sont relus, si bien que les modifications locales ne se glissent jamais dans le résultat.

  2. Collecter les signaux de risque

    La comparaison d’AST Go, des heuristiques lexicales étiquetées et des règles de chemins sensibles signalent l’authentification, les paiements, les dépendances, les validations supprimées, les constructions dangereuses et les tests manquants en Go, TypeScript/JavaScript, Python et Rust.

  3. Exécuter dans un bac à sable

    Vos commandes de test, de vérification de types et de build s’exécutent sous forme de tableaux argv dans des conteneurs jetables, sans root et sans réseau, avec des limites de CPU, de mémoire, de PID et de durée.

  4. Reproduire, pas affirmer

    Un relecteur facultatif écrit des tests temporaires. Un test qui réussit sur la base et échoue sur le candidat étaye un problème reproduit ; tout le reste demeure UNVERIFIED.

D’un premier essai à chaque pull request

Essayez-le sur votre dernier commit, sans configuration, sans Docker et sans clé d’API. Lorsque vous l’adoptez, commitez une politique sur votre branche de base : elle est lue depuis la base, si bien qu’une pull request ne peut pas assouplir ses propres règles.

Suivre le guide de démarrage →

# try it: compare with the previous commit
probe lint HEAD~1..HEAD

# adopt it: once, in your repository
probe init
git add .probe.json && git commit -m "Add review policy"

# on every pull request
probe review --base main --ci
Probe pour le code · Docker

Ou exécutez-le pour un compte entier : Probe Hub

Le hub est l’image Docker complémentaire. Lancez un conteneur, connectez-vous avec GitHub ou GitLab, et chaque dépôt qui n’a pas encore de .probe.json se voit proposer une politique en un clic, prévisualisée avant d’être commitée sur la branche par défaut.

Les dépôts dotés d’une politique peuvent être surveillés : chaque nouveau commit est analysé et son rapport s’ouvre de lui-même. Un curseur de gravité filtre les alertes, de faible à critique, et un clic sur l’une d’elles déplie toutes les modifications qu’elle concerne, avec les lignes signalées surlignées dans le diff.

Un seul conteneur Docker, pas de base de données, aucun service externe : une entreprise peut donc le déployer en interne face à sa propre instance GitHub Enterprise ou GitLab. Dans son mode par défaut, il n’exécute jamais le code analysé.

Hébergé sur app.probe.technology : la même image que celle que vous pouvez exécuter sur votre propre réseau.

# one container, on your own network
$ docker run -p 8080:8080 \
    -e PROBE_HUB_BASE_URL=https://hub.example.com \
    -e PROBE_HUB_GITHUB_CLIENT_ID=... \
    -e PROBE_HUB_GITHUB_CLIENT_SECRET=... \
    -v hub-data:/var/lib/probe-hub \
    gvinsot/probe-hub

Sign in · bootstrap the missing policies · watch pushes
Reports open by themselves, filtered by severity.
Probe pour le code

Fonctionnalités

Surface de relecture ciblée

Plages de relecture dédupliquées avec anciennes et nouvelles coordonnées, comptées en lignes réellement modifiées, classées par gravité.

Preuves différentielles

Les tests générés s’exécutent sur la base et sur le candidat dans des environnements neufs. L’exécution Go est vérifiée à partir d’événements de test structurés.

Exécution des lignes modifiées

Mesure facultative des lignes Go ajoutées qu’une exécution enregistrée a exécutées : présentée comme une observation, jamais comme une preuve de test.

Analyse d’impact

Un index statique de Go, TypeScript/JavaScript, Python et Rust liste les appelants inchangés de chaque fonction modifiée et les tests existants qui l’atteignent.

Des tests sur les deux révisions

Tests impactés et tests de base modifiés, fuzzing différentiel et mutation des lignes ajoutées s’exécutent sur la base et sur le candidat, enregistrés comme preuves, jamais comme verdict.

Planifier, puis vérifier le périmètre

probe plan évalue le plan d’un agent avant que le code n’existe ; --plan signale ensuite chaque fichier ou API exportée que la modification a touché sans l’annoncer.

Relecteur IA encadré

Utilisez n’importe quel fournisseur compatible OpenAI. Les outils sont bornés : lecture de fichiers expurgés, recherche et exécution de tests. Ni shell, ni accès aux URL.

Prêt pour la CI

Un workflow GitHub Actions réutilisable, des codes de sortie parlants, des rapports JSON avec identifiants de commit, preuves et empreintes d’artefacts, ainsi que du SARIF et un commentaire de PR ne contenant que des constats étayés par des preuves.

Adapté aux agents

Les agents de code lancent lint et review avant de rendre leur travail, et rapportent ce qui a été reproduit et ce qui reste ouvert.

Ce que Probe ne prétend pas

Un outil de relecture gagne la confiance en étant précis sur ses limites. Probe n’attribue aucun pourcentage de confiance et n’approuve jamais une modification sur la parole d’un modèle. Pour le code, il ne lève la relecture humaine que par la plan gate, lorsqu’un plan à faible risque a été suivi et que toutes les vérifications automatisées sont revenues propres. Pour les documents, c’est toujours une personne qui décide.

  • Les signaux sont des raisons d’enquêter, pas des bugs confirmés.
  • Des tests qui passent et une petite surface de relecture ne garantissent pas la correction.
  • Une ligne exécutée est une observation, pas la preuve qu’elle est testée.
  • L’affirmation d’un modèle n’est jamais une preuve ; seule une différence reproduite l’est.
  • La plan gate indique que le périmètre annoncé, à faible risque, a été respecté, pas que le code est correct.
  • L’exécution ne se rabat jamais sur votre machine lorsque Docker est absent.
  • Un document marqué comme relu est une décision humaine, pas une garantie que ses chiffres sont justes.
  • Un document sans constat a tout de même changé : la liste complète des modifications reste à un clic.

Consacrez votre temps de relecture à ce qui compte.

Open source, sous licence AGPL-3.0. Un outil en ligne de commande pour le code, une application pour les documents, tous deux publiés à chaque version.