Guarani Verify
Bêta privée · Espaces d'essai sur demande
Revue de code IA autonome et conformité d'architecture
Une analyse sémantique approfondie de chaque pull request. Verify construit un graphe de votre base de code, confronte chaque modification à vos règles d'architecture et signale les régressions de performance avant la fusion.
Ce qu'il fait
Revue sémantique des pull requests
Revue sémantique des pull requests à travers les fichiers, les services et les périmètres de responsabilité
Régressions de performance
Détection précoce des régressions de performance au regard des budgets de latence et de mémoire
Validation des contrats d'API
Validation des contrats d'API REST, GraphQL et gRPC, avec blocage des changements incompatibles
Tests générés
Génération automatique de tests unitaires et d'intégration pour les chemins non couverts
À quoi ressemble une revue
Une pull request d'exemple, revue par l'agent d'architecture : un constat de performance avec une modification suggérée, une note de contrat et les tests générés.
estimateEta() appelle le service d'inventaire une fois par article, dans la boucle. Sur les grosses commandes, ces appels séquentiels font dépasser à GET /v2/orders son budget p95 de 450 ms.
Regroupez les lectures en un seul appel getAvailability() pour rester dans le budget.
Modification suggérée
- for (const item of order.items) {- const stock = await inventory.get(item.sku);- etas.push(estimate(item, stock));- }+ const skus = order.items.map((item) => item.sku);+ const stock = await inventory.getAvailability(skus);+ const etas = order.items.map((item) => estimate(item, stock[item.sku]));Champ ajouté fulfillment_eta sur GET /v2/orders. Les clients existants ne sont pas affectés : compatible avec le contrat v3.
4 tests unitaires et 1 test d'intégration générés pour estimateEta(), tous réussis.
Sa place dans le verdict de release
Chaque modification s'exécute comme un pipeline tracé, à travers des régions cloud managées, de l'inférence GPU et des pools d'appareils réels. Le code client est traité dans des tenants isolés et n'est jamais utilisé pour entraîner des modèles.
Pas encore disponibles publiquement : la CLI, les SDK et l'API font partie de la bêta privée.
Voir toute l'architectureWebhook reçu
Une pull request sur GitHub ou GitLab notifie le plan de contrôle sur
api.guarani-llc.com/v1. Le moteur de règles détermine le profil du dépôt.Code indexé
L'orchestrateur met à jour le graphe sémantique et l'index vectoriel des fichiers modifiés, dans le tenant isolé du client.
Agents de revue lancés
Les agents d'architecture, de contrat et de performance s'exécutent sur les workers d'analyse : des conteneurs sur AKS, ECS/EKS et Cloud Run.
CLEARED pour la mise en production
Des règles de politique versionnées marquent la strip CLEARED, le verdict est publié sur la pull request sous forme de check, et chaque étape est consignée dans une piste d'audit.
Les verdicts découlent de règles de politique versionnées appliquées aux constats : les mêmes constats et la même politique produisent toujours le même verdict.
Le configurer
guarani init crée guarani.yml à la racine du dépôt. Ce fichier déclare les profils, les budgets de performance, la règle et les fournisseurs Mesh, ainsi que les suites et appareils mobiles.
Pas encore disponibles publiquement : la CLI, les SDK et l'API font partie de la bêta privée.
Lire la documentation : Configuration, GitHub Actions, GitLab CI
Le profil se choisit avec --profile. hold_on liste les constats qui placent une exécution en HOLD, ce qui fait échouer le contrôle dans votre pipeline. Les avertissements ne bloquent jamais.
profiles:
pull-request:
checks: [architecture, contracts, performance]
tests: generate-missing
hold_on: [blocking]
release:
checks: [architecture, contracts, performance, tests]
mobile: checkout
hold_on: [blocking, flaky-device]
budgets:
latency_p95_ms: 450
memory_mb: 512Ajoutez un workflow déclenché sur pull_request. Enregistrez le jeton de l'espace de travail dans le secret de dépôt GUARANI_TOKEN. La permission checks: write permet à la CLI de publier le verdict sous forme de check.
name: guarani
on: pull_request
permissions:
contents: read
checks: write
pull-requests: write
jobs:
verify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
- run: npm i -g @guarani-ai/cli
- run: guarani verify --profile pull-request --report github
env:
GUARANI_TOKEN: ${{ secrets.GUARANI_TOKEN }}Données et déploiement
Traitement des données
- Chiffrement en transit et au repos.
- Traitement aux États-Unis ou dans l'UE selon la région choisie pour l'espace de travail.
- Aucun entraînement sur le code, les prompts ou les sorties des clients.
- Durée de conservation configurable pour le contenu des dépôts et les artefacts.
Options de déploiement
- Cloud multi-tenant avec tenants isolés, par défaut sur toutes les offres.
- VPC dédié sur Azure, AWS ou Google Cloud.
- Points d'inférence GPU isolés pour les modèles open-weight.