Communitygithub.com

TheColliery/CoalLedger

Suite de tests de veille documentaire pour agents de codage IA – CoalMine pour la documentation. 6+1 canaris, avec détection de structure de doc par un moteur AST CommonMark+GFM sans dépendance ; sévérité contextuelle, corrections à choix, jamais appliquées automatiquement. Alerte également silencieusement lorsque la documentation change sans que MEMORY.md ne soit mis à jour. Fait partie de TheColliery.

Qu'est-ce que CoalLedger ?

CoalLedger est une suite de canaris de veille documentaire conçue pour les agents de codage IA, tels que Claude Code, Cursor ou Codex. Son objectif est de détecter automatiquement les contenus documentaires devenus obsolètes ou invalides avec le temps (pourriture documentaire). Il repose sur un moteur AST CommonMark+GFM sans dépendance pour analyser la structure des documents, et distingue deux niveaux de suspicion : CONFIRMÉ (contradiction prouvée entre l'état actuel et le document) et SUSPECTÉ (ancien mais non prouvé pourri). La sévérité est évaluée par contexte (par exemple, des instructions d'installation obsolètes peuvent être critiques). Les corrections sont proposées via un menu à choix, jamais appliquées automatiquement, garantissant ainsi la sécurité. CoalLedger s'intègre également avec le canevas CoalBoard pour l'escalade formelle de vérifications, et fait partie de l'écosystème TheColliery. Il est compatible avec tout agent IA utilisant des fichiers markdown ou autres formats de documentation.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add TheColliery/CoalLedger

Demander à votre IA préférée

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

Documentation

Doc-Rot

Réponds dans la LANGUE de l'UTILISATEUR ; conserve les termes techniques, commandes, chemins et identifiants de vérification tels quels.

Trouve le contenu documentaire que le temps a invalidé. Signale la pourriture CONFIRMÉE ; classe le simplement ancien dans SUSPECTÉ.

Paramètres

  • PORTÉE : fichiers nommés (par défaut si donnés) | fichiers doc modifiés dans cette session | tous les docs du dépôt — .md/.mdx/.markdown/.rst/.txt/.adoc/.asciidoc/.org (confirmer d'abord si > 20 fichiers).
  • NIVEAU : Rapide = uniquement les marqueurs d'âge mécaniques (~gratuit) · Complet = jugement de sémantique de vétusté (payant). Par défaut depuis .coalledger.json quickVsFull ; le niveau Complet nécessite toujours un consentement séparé.

Marqueurs d'âge (couche mécanique — détection déterministe)

marqueursignal
chaîne de versionle document cite une version plus ancienne que celle actuelle du projet (comparer avec la source de vérité de la version, ex. le manifeste)
estampille temporelleune date de « dernière mise à jour » / de revalidation / de vérification bien passée ou déjà dépassée
marqueur de tâche morteTODO / FIXME / « à venir » / « pas encore » sans signe de vie
badge obsolèteun badge codé en dur de statut/version que l'état du dépôt contredit

La détection est déterministe ; savoir si un marqueur signifie POURRITURE ne l'est pas — une date ancienne sur un archivage est acceptable, mais pas sur un guide d'installation.

Méthode

  1. Rapide : collecter les marqueurs d'âge selon le tableau. Ancien ≠ pourri : un marqueur seul aboutit dans SUSPECTÉ.
  2. Complet : juger chaque marqueur en contexte, et chercher les POURRITURES non datées — instructions pour une surface qui a changé, affirmation qu'un document ultérieur a remplacé (une contradiction pure entre documents actifs relève de la cohérence documentaire ; la pourriture est l'axe temporel).
  3. Confirmer avant CONFIRMÉ : un résultat est CONFIRMÉ uniquement lorsque l'état actuel contredit le document (la source de version nomme une version plus récente ; la surface référencée a disparu). Tout ce qui est inféré reste SUSPECTÉ.
  4. Sévérité par CONTEXTE (jamais une correspondance fixe), puis honorer severityFloor : des étapes d'installation/de sécurité pourries que les lecteurs suivent = HAUTE-CRITIQUE ; un badge obsolète ou une mention de version = MOYENNE ; une date ancienne dans un document archivé = BASSE.

Limite d'escalade

Savoir si une affirmation a JAMAIS été vraie relève de l'ancrage documentaire ; la vérification formelle d'une affirmation à enjeux élevés est escaladée vers CoalBoard (/coalboard) si cette compétence est installée. Ce canari ne répond qu'à la question « le temps l'a-t-il cassé ? ».

Sortie

| # | chemin:ligne | marqueur | preuve (état actuel) | sévérité | correction |

Tableau CONFIRMÉ uniquement ; SUSPECTÉ (ancien mais non prouvé) en liste séparée, jamais dans le tableau principal.

Rapport : appeler ReportFindings lorsque c'est possible — file/line DOIVENT être la ligne du marqueur lui-même, jamais une paraphrase ; une ligne irrésoluble donne votre meilleure estimation, nommée imprécise dans le résumé final, jamais ignorée. Sévérité préfixée dans summary (ex. [HAUTE] …) selon la règle de sévérité par contexte ci-dessus, le plus sévère d'abord, SUSPECTÉ (ancien mais non prouvé) comme verdict: PLAUSIBLE ; ensuite le chat ne porte que la ligne de résumé (comptes · liste SUSPECTÉ · débordement au-delà de 32) + le menu de correction, jamais une redite. Non appelable → le tableau ci-dessus, inchangé. Un clic sur Appliquer les corrections = consentement à la classe Appliquer les corrections sûres ci-dessous (uniquement des mises à jour de valeur actuelle non ambiguës), en composant avec — jamais en contournant — le mode Correction. Après chaque tour de correction, rapporter les mêmes résultats avec outcome: fixed/skipped/no_change_needed.

Mode correction (à choix)

Après tout rapport dans une session interactive, tu DOIS présenter ce menu via ton outil de question (sauter uniquement lorsque les résultats sont nuls ou qu'aucun utilisateur n'est présent). NE JAMAIS auto-corriger un document en ligne.

  • Appliquer les corrections sûres : seules les mises à jour dont la valeur actuelle est non ambiguë (mettre à jour une chaîne de version vers celle du manifeste, rafraîchir une date confirmée par l'utilisateur, supprimer un TODO confirmé mort par l'utilisateur). Chaque correction : point de contrôle (git stash/commit dans un dépôt git ; sinon copier le fichier de côté — ne jamais supposer que git existe) -> appliquer -> relire les lignes modifiées.
  • Laissez-moi choisir : lister les résultats ; l'utilisateur sélectionne.
  • Rapport uniquement : quitter sans modification.

NE JAMAIS auto-corriger : réécrire des instructions remplacées (une décision de contenu), supprimer des sections, quoi que ce soit dont la vérité actuelle n'a pas été vérifiée.

Multilingue

Les marqueurs d'âge sont indépendants de la langue (versions, dates et badges se ressemblent dans toute langue de prose ; les FORMATS de date varient — analyser par structure, pas par un nom de mois anglais). Le jugement sémantique se dégrade en indicateurs de faible confiance sur une langue mal prise en charge, jamais en fausses alarmes.

Rapport de problème

Si ce canari se comporte mal, PROPOSER de le signaler sur https://github.com/TheColliery/CoalLedger/issues avec un résumé revu par l'utilisateur — jamais de soumission automatique.

Skills associés