Vestige — suivi des rapports d'analyse statique
Un analyseur statique répond à « qu'est-ce qui ne va pas dans ce fichier, maintenant ». Il ne répond pas à la question qui intéresse vraiment une équipe : est-ce nouveau, ou la même chose que nous avons accepté de garder il y a trois mois — et qui l’a acceptée ? Vestige porte cette affirmation, entre la CI et le développeur.
- IDENTITÉ
- Échelle à trois empreintes, O(P+C)
- INGESTION
- Idempotente, outbox, SKIP LOCKED
- MULTI-TENANCE
- RLS PostgreSQL, forcée sur tous les rôles
- AUDIT
- Chaîné par hachage, imposé par trigger
- DÉCISIONS
- 10 ADR avec options écartées
depuis la CI
une transaction
skip locked
échelle
↳ rapport identique à l’octet près → le résultat d’origine↳ même clé, rapport différent → 409
- RAPPROCHEMENT
- 32 cas · 0 faux éclatement · 0 fausse fusion
- TESTS
- 23 classes unitaires · 153 méthodes
- ISOLATION
- Prouvée par un test RLS adversarial
- LECTURE
- SARIF en flux · mémoire constante
LE POINT DIFFICILE
Un signalement n'est pas un numéro de ligne. Ajoutez douze imports, renommez une méthode, et la ligne 42 devient la ligne 58 — un rapprochement naïf sur règle, fichier et ligne déclare l’ancien problème corrigé et le nouveau introduit. Chaque choix ici arbitre entre fausses fusions et faux éclatements, et les deux tirent en sens inverse.
CE QUE J'AI ÉCARTÉ
La similarité par plongements, et le simple diff. La première n'est pas reproductible d'une exécution à l'autre, donc inexplicable à qui conteste une porte en échec ; le second répond à « qu’est-ce qui a changé » et non à « est-ce le même problème ». L’échelle est déterministe et sa règle de départage est écrite.
CE QUE JE CORRIGERAIS EN PREMIER
L'auteur d'une décision de tri est une chaîne fournie par l'appelant, pas une identité vérifiée — la v1 n'a que des clés d'API à l'échelle de l'organisation, sans authentification par utilisateur. La chaîne prouve qu’une action a eu lieu et n’a pas été modifiée ensuite ; elle ne prouve pas qui l’a faite. L'identité par utilisateur est la prochaine étape qui compte.