Open source · semctx
Ce qu'un diff met en risque, et si c'est prouvé.
En bref
- Nature
- analyseur d'impact des changements, déterministe et local
- Statut
- open source (Apache-2.0), npm 0.3.1, provenance de build signée
- Où il tourne
- en ligne de commande, dans Claude Code et Codex, en CI
- Exécution
- locale : aucun LLM, aucun appel réseau, aucune base vectorielle
- Vérifier
- démo en trois cas · code source
1. Le problème
Un agent peut modifier des dizaines de fichiers en quelques minutes. La question utile n'est plus « quels fichiers regarder ? », mais « qu'est-ce que ce changement a mis en risque, et est-ce prouvé ? ».
semctx répond à cette question-là, et seulement à elle.
2. Ce qu'il rend
À partir d'un diff et d'un graphe déterministe du dépôt, pour chaque changement :
- 2.1
Symboles touchés
Chaque déclaration dont les lignes sont modifiées par le diff.
- 2.2
Contrats à risque
Les interfaces et les types exportés que le changement altère.
- 2.3
Invariants à risque
Les contraintes annotées sur le code touché.
- 2.4
Tests à lancer
Reliés au code par leurs imports : une sélection, pas une couverture mesurée.
- 2.5
Inconnues
Ce que l'analyse statique ne peut pas prouver, écrit en clair plutôt que passé sous silence.
- 2.6
Verdict
PASS, WARN ou BLOCK. BLOCK sort en erreur : il peut arrêter un commit ou une CI.
3. Ce qu'il ne prétend pas
- 3.1
Il ne remplace pas la recherche de code. Il répond à « qu'a mis en risque ce changement, et est-ce prouvé ? », pas à « quels fichiers regarder ? ».
- 3.2
C'est une analyse statique : elle choisit quoi retester, elle ne prouve pas le comportement à l'exécution.
- 3.3
TypeScript est la base de compatibilité. Python est couvert de façon bornée, Markdown et SQL de façon structurelle.
- 3.4
Un rejeu de trente changements publics est publié sans étiquette : aucune précision, adoption ou temps gagné n'est revendiqué.
4. Comment il est livré
Une seule étiquette de version, posée sur un commit immuable, publie le paquet npm, le canal de plugins stable et la release GitHub. La provenance du build est signée.
La démo montre trois cas : une modification bénigne, un contrat en alerte, et un bug d'exécution que l'analyse statique ne peut pas déclarer correct.
bunx semctx@latest install
5. Ce type de porte dans votre CI ?
Le Diagnostic Agents pose une première porte dans votre CI en cinq jours, avec l'outil qui convient à votre dépôt, semctx ou un autre.
[email protected]