[ 001 ]TRAVAUX / SYSTÈMES & VÉRIFICATION

SPARDA

SPARDA compile les comportements déclarés d’un backend dans un graphe déterministe afin de rendre visibles les régressions de routes, de gardes et de contraintes.

STATUT

Dépôt public — installation et démonstration documentées dans le README.

01

CONTEXTE

Les équipes qui utilisent l’IA pour modifier un backend peuvent obtenir un code qui compile et semble plausible, tout en supprimant une garde, en élargissant une route ou en fragilisant un invariant métier.

02

CONTRAINTE

Le contrôle doit rester explicable, local et utilisable dans une boucle de développement.

Une analyse doit aussi savoir dire quand sa couverture est partielle, plutôt que déclarer un faux verdict positif.

03

DÉCISION

Compiler les comportements déclarés d’un backend — routes, mutations, gardes, effets et contraintes — dans un graphe déterministe, l’UBG, puis évaluer les obligations de vérification sur ce graphe.

04

CE QUI TOURNE

Le dépôt public décrit une CLI et un runtime MCP.

Il documente une démonstration autonome (npx sparda-mcp demo), l’analyse de plusieurs frameworks backend, et des commandes de vérification, de comparaison, de replay et de simulation.

05

PLANCHES

Sortie de la commande gate : alerte critique GUARD_REMOVED, diff avant et après, édition bloquée.

$ sparda-mcp gate --hook

Une garde retirée, attrapée dans la boucle de l’agent

La référence connaissait POST /admin/delete-user derrière requireAdmin. Une édition retire la garde ; le code compile toujours et la route répond toujours. La comparaison des deux graphes le voit, nomme le fichier et la ligne, et rend une sortie non nulle qui bloque l’édition.

Sortie de la commande timeless : diff requête et réponse, empreintes comparées, rejeu identique.

$ sparda-mcp timeless replay

Un appel enregistré, rejoué à l’octet près

Une requête de production est enregistrée avec ses effets — base, HTTP, horloge — puis rejouée hors ligne. La comparaison porte sur les octets de la réponse, pas sur une ressemblance : soit les empreintes correspondent, soit elles ne correspondent pas.

Structure conceptuelle d’une sortie SPARDA : compile, review, verify, unknowns, evidence.

$ structure de sortie

Ce que l’outil rend, et ce qu’il refuse de rendre

La structure d’une sortie de vérification : ce qui est compilé, ce qui est évalué, et surtout ce qui reste inconnu, déclaré comme tel. Aucun verdict de déploiement n’est émis — l’outil expose la matière, la décision reste au jugement d’ingénierie.

06

PREUVE

Dépôt, historique, code source, tests et fichiers d’intégration accessibles.

DÉPÔT PUBLIC

https://github.com/zakariagharzouli/sparda

TOUS LES TRAVAUXRESIDUAL AUDIT