{"id":18383,"plugin_id":"plugins_6a86f0bc955881919122c7c2d87da0d9","kind":"skill","collection_source":null,"comparison_source":null,"observed_at":"2026-09-30T23:14:48.046Z","digest":"fb2a0d60d78c0930ba875dd37fe67503d107dcd913da85d7cb6d90dc9c26d19a","against":null,"payload":{"name":"gerer-canonicalite","description":"Use before creating, moving, absorbing, renaming, replacing, deleting, or treating an object as the responsible source for a Continuum function.","included_files":[],"skill_md_contents":"---\nname: gerer-canonicalite\ndescription: Use before creating, moving, absorbing, renaming, replacing, deleting, or treating an object as the responsible source for a Continuum function.\n---\n# Gérer la canonicalité\n\n## Fonction\nRésoudre la responsabilité canonique par nature, fonction, demeure compétente et état réel, jamais par nom mémorisé, récence, support ou simple emplacement.\n\n## Protocole opératoire\n1. Identifier nature, fonction, état réel, autorité applicable et demeure avant toute mutation ou qualification de source responsable.\n2. Lorsqu’une fonction possède une demeure structurée, distinguer l’invariant fonctionnel de cette demeure des variables de matière qu’elle contient.\n3. Résoudre la structure et la source responsable courantes depuis les cartes et matières compétentes ; un ancien chemin, ID, URL ou nom reste une trace jusqu’à vérification.\n4. Qualifier les candidats comme responsable canonique de fonction, source brute, projection, miroir, sauvegarde, archive, transport, doublon, bruit ou inconnu selon leur fonction réelle.\n5. Zéro candidat responsable n’autorise aucune création automatique ; plusieurs candidats plausibles restent une `CONTRADICTION` jusqu’à résolution.\n6. Maintenir une responsabilité canonique unique par fonction lorsque la fonction l’exige ; une copie, un miroir ou une projection ne devient pas un second canon par commodité.\n7. Ne jamais confondre responsabilité canonique d’un objet avec autorité décisionnelle : l’autorité reste celle des acteurs selon le Protocole.\n8. Classer toute mutation comme contenu, structure, absorption ou suppression et vérifier l’autorité correspondante.\n9. Avant écriture, capturer la révision ou l’état courant de la cible ; si elle change avant mutation, relire et recomposer le delta au lieu d’écraser silencieusement.\n10. Avant suppression d’une source, établir un registre d’absorption : chaque unité utile doit être intégrée et prouvée, déjà présente comme doublon prouvé, ou explicitement qualifiée comme bruit.\n11. Toute unité encore `INCONNU` ou `DOUTE` interdit la suppression irréversible.\n12. Protéger les objets responsables contre tri ordinaire et appliquer `proteger-concurrence` lorsque plusieurs écritures peuvent viser la même cible.\n\n## Invariants\n- canonicalité ≠ nom, titre, extension, chemin, URL, identifiant, support ou récence ;\n- copie, représentation, archive, sauvegarde, transport et miroir peuvent être utiles sans devenir concurrents du canon ;\n- une visibilité en lecture ne donne pas un droit d’écriture ;\n- une mutation réussie n’autorise pas la suivante sur une révision devenue périmée ;\n- le plugin applique le canon courant mais ne le duplique pas en géographie parallèle.\n\n## Preuve\nChaque fonction concernée possède un responsable unique ou une contradiction explicitement ouverte ; toute mutation respecte l’autorité, la concurrence et la structure réellement courantes.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}