AssertLedger

Qualifier les tests de régression avec AssertLedger. À utiliser lorsqu'on demande de vérifier si un test détecte un bogue déclaré ou de rejouer une preuve AssertLedger.

Qu'est-ce que AssertLedger ?

AssertLedger est un outil de qualification de régression qui permet d'évaluer un même candidat de test contre trois versions distinctes du code : la version corrigée, une version contenant le bogue déclaré, et une version de contrôle neutre. L'opérateur fournit la définition du bogue et la signification du contrôle ; l'outil ne détermine pas la correction globale du programme, l'authenticité du producteur, ni l'absence permanente de tests instables. Ce workflow local suit la documentation officielle d'AssertLedger 1.4.0. Il prend en charge les environnements de test utilisant `node:test` (fichiers `.js`, `.mjs`, `.cjs`) sans dépendances supplémentaires, ainsi que les campagnes Bun via un adaptateur dédié. L'exécution peut se faire en local de confiance ou dans un conteneur Docker, selon l'autorisation accordée par l'opérateur. L'outil est utile pour les développeurs et les équipes QA qui doivent valider rapidement si une modification introduite corrige effectivement un bogue répertorié, sans perturber les tests existants ni modifier la configuration du projet. Il est utilisé via la commande `assertledger` en ligne de commande, avec des sous-commandes `check`, `replay`, `doctor`, et `explain`.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SebastienElet/agent-skills/tree/HEAD/skills/assertledger

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait AssertLedger ?

Vue d'ensemble

Évaluez le même candidat de régression contre le code corrigé, un défaut déclaré et un contrôle neutre. Conservez les observations et rejouez le manifeste résultant avant de rapporter le verdict borné. L'opérateur fournit le défaut et la signification du contrôle ; l'outil n'établit pas la correction globale du programme, l'authenticité du producteur, ni l'absence permanente de tests instables.

Ce workflow maintenu localement suit la documentation publiée d'AssertLedger 1.4.0.

Utilisation

Utilisez $assertledger <dépôt et régression> ou /assertledger <manifeste à rejouer>. Par exemple : Vérifiez si la régression de parité validée détecte la révision boguée fournie. Utilisez tdd pour les implémentations courantes et proof-integrity-review lorsque le mécanisme de vérification lui-même change. La qualification AssertLedger est un workflow supplémentaire demandé, pas une passerelle de test générale.

Obtenez l'interface CLI compatible via l'installation d'outils déclarée par l'hôte ; la compétence elle-même n'a pas besoin de vérifier les dotfiles au moment de l'exécution. Si la CLI est absente, signalez ce prérequis sans installer de paquet ni modifier la configuration du projet de manière implicite.

Étapes

  1. Exécutez assertledger --version et assertledger doctor /chemin/vers/depot --json. Ce diagnostic est statique et en lecture seule. Inspectez les conflits et le support du framework avant de planifier l'exécution ; la détection d'une commande de test ne démontre pas qu'un adaptateur peut l'exécuter.

  2. Pour la qualification Git, établissez les révisions boguée, corrigée et neutre validées, la raison du neutre, le chemin du candidat, les chemins des tests de base inchangés, et un nouveau répertoire de sortie relatif au dépôt. Récupérez les faits fournis lorsque c'est possible ; n'inventez jamais de sémantiques de contrôle manquantes. Consultez le guide Git pour l'éligibilité : fichiers .js, .mjs ou .cjs sans dépendance utilisant node:test, tests de base inchangés, et ensembles de chemins de fichiers identiques hormis le candidat. Les modifications locales non validées sont ignorées.

  3. Établissez le backend d'exécution à partir de l'autorisation de l'opérateur. Une exécution en conteneur nécessite une image sélectionnée par l'opérateur, épinglée par digest, déjà présente sur un démon Linux et contenant Node. L'exécution locale de confiance est UNSANDBOXED et nécessite une autorisation pour cette portée. Ne combinez jamais les deux modes et n'inférez jamais la permission d'exécution de l'installation ou d'une configuration de projet.

  4. Exécutez la commande choisie avec les entrées effectives établies. Pour une exécution en conteneur autorisée :

    assertledger check /chemin/vers/depot --before AVANT --after APRES --neutral NEUTRE --neutral-reason "Raison du contrôle établi" --test tests/regression.test.js --base-test tests/base.test.js --out .assertledger/evidence-001 --container-image node@sha256:DIGEST --json
    

    Pour une exécution locale de confiance autorisée, remplacez --container-image node@sha256:DIGEST par --allow-unsafe-execution. Ne passez aucun des deux drapeaux avant que ce backend soit établi.

  5. Conservez le code de sortie, le résumé, la requête exécutée et le manifeste de la commande. Un répertoire de sortie complet contient manifest.json, publié en dernier. Exécutez assertledger replay /chemin/vers/depot/.assertledger/evidence-001/manifest.json --json. Une preuve positive nécessite decision.status: VERIFIED et une relecture valid: true ; conservez toutes les tentatives échouées, les contrôles, les codes de raison, les limites d'exécution et les faits d'isolement. Le rejet, les observations non concluantes, les erreurs opérationnelles ou une relecture invalide ne peuvent pas soutenir l'acceptation.

  6. Rapportez le défaut exact, les révisions, le candidat sélectionné, l'environnement, les emplacements des artefacts et les limitations. Utilisez assertledger explain CODE --json pour les refus. La relecture vérifie l'intégrité et la cohérence de la décision sans relancer les tests ni authentifier leur producteur. Conservez les révisions sources, les requêtes et les journaux bruts séparément lorsque la reproduction ou un audit indépendant est important.

  7. Pour une requête versionnée déjà fournie ou une campagne Bun prise en charge, lisez la référence correspondante avant d'utiliser verify ou la relecture. L'adaptateur Bun épingle Bun 1.4.2 et crédite les échecs de assertledger/bun assertSame ; les échecs natifs de Bun expect ne comptent pas comme détection de cible. Ce chemin de bas niveau n'étend pas l'éligibilité de la commande Git check.

Pièges

  • Appliquer la qualification Git à TypeScript/Bun ou Rust — la détection statique peut sembler prometteuse alors que check ne peut pas exécuter le candidat ; conservez les tests natifs existants et signalez la limite.
  • Ignorer un refus de lien symbolique du dépôt — supprimer des liens ou inventer des exclusions modifie la preuve déclarée ; conservez le checkout et signalez UNSUPPORTED_REPOSITORY_SYMLINK. Seul l'opérateur peut déclarer une exclusion locale uniquement après avoir examiné les règles documentées.
  • Réutiliser un répertoire de preuves — la réservation de sortie échoue plutôt que d'écraser une campagne précédente ; sélectionnez un nouveau chemin relatif et conservez la preuve antérieure.
  • Compter un plantage comme détection — les timeouts, les échecs de compilation, de découverte et de processus n'établissent pas la régression prétendue ; inspectez les codes de raison et corrigez le problème d'exécution.
  • Exécuter automatiquement la configuration client — connect --write installe une compétence de projet et une configuration MCP, créant ainsi une autre copie découverte de cette compétence utilisateur ; prévisualisez uniquement sur une configuration client demandée et résolvez cette duplication avant toute écriture.

Contraintes

  • Ne fabriquez jamais de sémantique de défaut, de raisonnement neutre, de résultats observés ou d'autorisation d'exécution.
  • N'initialisez jamais de projets, n'enregistrez pas de serveurs MCP, ne tirez pas d'images et ne modifiez pas les exclusions de manière implicite.
  • N'exécutez jamais un exécuteur non pris en charge via un adaptateur deviné et n'affaiblissez pas la politique pour obtenir une acceptation.
  • Ne traitez jamais la validité de relecture comme une preuve d'exécution réelle, d'authenticité ou de correction générale.
  • Ne jetez jamais les observations échouées, ne cachez pas les sorties incomplètes et ne traitez pas une démo comme une preuve de dépôt.
  • Préservez les exigences natives de test et d'intégration continue ; cette compétence ne les remplace pas et n'autorise pas une fusion.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

Skills associés