# Checklist de vérification — Rapport Settings Les règles s’accumulent dans le temps. Chaque exécution workflow-changelog DOIT exécuter TOUTES les règles à la profondeur indiquée. Quand un nouveau type de dérive est détecté et qu’une règle existante aurait dû le détecter (mais n’existait pas ou était trop superficielle), ajouter une nouvelle règle ici. ## Niveaux de profondeur | Depth | Signification | Exemple | |-------|---------------|---------| | `exists` | Vérifier si une section/table/fichier existe | "Le rapport a-t-il un tableau Sandbox Settings ?" | | `presence-check` | Vérifier si un élément précis est présent ou absent | "L’événement `ConfigChange` est-il dans Hook Events ?" | | `content-match` | Comparer les valeurs réelles mot à mot avec la source | "La description du paramètre `model` correspond-elle à la doc officielle ?" | | `field-level` | Vérifier que chaque champ individuel est comptabilisé | "Chaque clé settings officielle apparaît-elle dans le bon tableau ?" | | `cross-file` | Une même valeur doit correspondre entre plusieurs fichiers | "La section hooks de CLAUDE.md correspond-elle au rapport ?" | --- ## 1. Settings Keys Tables Règles vérifiant les tableaux de clés de paramètres contre la documentation officielle. | # | Category | Check | Depth | Compare Against | Added | Origin | |---|----------|-------|-------|-----------------|-------|--------| | 1A | Key Completeness | Pour chaque clé de paramètre dans la doc officielle, vérifier qu’elle apparaît dans la bonne section du rapport | field-level | settings documentation page | 2026-03-05 | Checklist initiale — éviter de manquer de nouvelles clés | | 1B | Key Types | Pour chaque clé, vérifier que la colonne Type correspond à la doc officielle | content-match | settings documentation page | 2026-03-05 | Les erreurs de type créent de la confusion | | 1C | Key Defaults | Pour chaque clé avec défaut, vérifier que la colonne Default correspond à la doc officielle | content-match | settings documentation page | 2026-03-05 | Mauvais défauts = comportement inattendu | | 1D | Key Descriptions | Pour chaque clé, vérifier que la description reflète précisément le comportement officiel | content-match | settings documentation page | 2026-03-05 | Descriptions obsolètes trompeuses | | 1E | Scope Column | Pour chaque clé avec colonne Scope, vérifier que la portée correspond à la doc officielle | content-match | settings documentation page | 2026-03-15 | Des portées incorrectes ont été détectées sur `extraKnownMarketplaces` et `autoMemoryDirectory` | | 1F | Inverse Completeness | Pour chaque clé du rapport, vérifier qu’elle existe dans la doc officielle OU qu’elle est explicitement marquée non vérifiée | field-level | settings documentation page + JSON schema | 2026-03-15 | Empêche l’accumulation de clés suspectes | | 1G | Edge-Case Semantics | Pour les paramètres avec comportements limites (`0`, chaîne vide, `null`), vérifier que le comportement est documenté et correct | content-match | settings documentation page | 2026-03-15 | Les cas limites étaient sous-vérifiés | | 1H | File Scope Check | Vérifier que les clés listées comme `settings.json` ne sont pas des préférences uniquement `~/.claude.json` | content-match | settings documentation page "Available settings" vs "Global config settings" | 2026-03-18 | `showTurnDuration` et `terminalProgressBarEnabled` étaient dans la mauvaise portée | | 1I | Skills Settings Keys | Vérifier explicitement les clés settings liées aux skills (`skillOverrides`, `disableSkillShellExecution`, `maxSkillDescriptionChars`, `skillListingBudgetFraction`, etc.) | field-level | settings documentation page | 2026-05-25 | Les clés de budget/listing de skills avaient été manquées | ## 2. Settings Hierarchy | # | Category | Check | Depth | Compare Against | Added | Origin | |---|----------|-------|-------|-----------------|-------|--------| | 2A | Priority Levels | Vérifier que tous les niveaux de priorité correspondent à la doc officielle (chaîne 5 niveaux + managed policy) | field-level | settings documentation page | 2026-03-05 | Mauvaise priorité = confusion de surcharge | | 2B | File Locations | Pour chaque niveau, vérifier le chemin de fichier | content-match | settings documentation page | 2026-03-05 | Mauvais chemins = paramètres ignorés | | 2C | Merge Semantics | Vérifier que la description de fusion array/object correspond à la doc officielle | content-match | settings documentation page | 2026-03-15 | Changement "merged" → "concatenated and deduplicated" | | 2D | Managed Internals | Vérifier méthodes de livraison managed-tier, précédence interne, chemins plateforme et notes de dépréciation | field-level | settings documentation page | 2026-03-15 | Détails managed non couverts auparavant | ## 3. Permissions | # | Category | Check | Depth | Compare Against | Added | Origin | |---|----------|-------|-------|-----------------|-------|--------| | 3A | Permission Modes | Vérifier que tous les modes de permission correspondent à la doc officielle | field-level | settings documentation page | 2026-03-05 | Modes manquants = options limitées | | 3B | Tool Syntax Patterns | Vérifier les motifs et exemples de syntaxe des permissions d’outils | content-match | settings documentation page | 2026-03-05 | Mauvaise syntaxe = échecs de permission | | 3C | Bidirectional Mode Check | Vérifier dans les deux sens que chaque mode du rapport existe dans la doc et inversement | field-level | settings + permissions documentation pages | 2026-03-15 | `askEdits`/`viewOnly` étaient non vérifiés | | 3D | Evaluation Semantics | Vérifier ordre d’évaluation deny-first, restrictions remote et significations des préfixes de chemins | content-match | permissions documentation page | 2026-03-15 | Les détails sémantiques manquaient | ## 4. Hooks (REDIRECTED) L’analyse des hooks est exclue de ce workflow. Les hooks sont maintenus dans [claude-code-hooks](https://github.com/shanraisshan/claude-code-hooks). Vérifier seulement que le lien de redirection reste valide. | # | Category | Check | Depth | Compare Against | Added | Origin | |---|----------|-------|-------|-----------------|-------|--------| | 4A | Hooks Redirect | Vérifier que la section hooks du rapport contient un lien valide vers claude-code-hooks | exists | report file | 2026-03-05 | Hooks externalisés vers un dépôt dédié | ## 5. Environment Variables | # | Category | Check | Depth | Compare Against | Added | Origin | |---|----------|-------|-------|-----------------|-------|--------| | 5A | Env Var Completeness | Vérifier que toutes les variables configurables via `env` apparaissent dans le rapport | field-level | settings documentation page | 2026-03-05 | Variables manquantes = options limitées | | 5B | Ownership Boundary | Vérifier qu’aucune variable du fichier CLI startup n’est dupliquée dans le rapport settings, et inversement | cross-file | claude-cli-startup-flags.md vs settings report | 2026-03-05 | Prévenir les doublons après séparation des fichiers | | 5C | Env Var Descriptions | Vérifier que descriptions, formats, valeurs et comportements correspondent à `/en/env-vars` | content-match | env-vars documentation page | 2026-03-15 | `ANTHROPIC_CUSTOM_HEADERS` était mal décrit | | 5D | Inverse Env Var Check | Pour chaque env var du rapport, vérifier son existence officielle ou son annotation non vérifiée | field-level | env-vars documentation page | 2026-03-15 | Évite les variables orphelines | ## 6. Examples | # | Category | Check | Depth | Compare Against | Added | Origin | |---|----------|-------|-------|-----------------|-------|--------| | 6A | Quick Reference Example | Vérifier que l’exemple complet utilise les paramètres actuels valides avec syntaxe correcte | content-match | settings documentation page | 2026-03-05 | L’exemple doit rester actuel | | 6B | Example URL Validation | Vérifier les URLs intégrées dans les blocs JSON d’exemple | exists | HTTP response | 2026-03-15 | `$schema` utilisait un mauvais domaine | ## 7. Cross-File Consistency | # | Category | Check | Depth | Compare Against | Added | Origin | |---|----------|-------|-------|-----------------|-------|--------| | 7A | CLAUDE.md Sync | Vérifier que les sections Configuration Hierarchy et Hooks System de CLAUDE.md sont cohérentes avec le rapport | cross-file | CLAUDE.md vs report | 2026-03-05 | CLAUDE.md peut dériver du rapport | ## 8. Process | # | Category | Check | Depth | Compare Against | Added | Origin | |---|----------|-------|-------|-----------------|-------|--------| | 8A | Source Credibility Guard | Ne signaler une dérive que si elle est confirmée par des sources officielles ; les blogs tiers servent de pistes uniquement | content-match | official docs only | 2026-03-05 | Évite les faux positifs | ## 10. Version Metadata & Suspect Key Lifecycle | # | Category | Check | Depth | Compare Against | Added | Origin | |---|----------|-------|-------|-----------------|-------|--------| | 10A | Version Metadata | Vérifier que badge de version, compte de paramètres et compte d’env vars reflètent la version auditée et les lignes réelles | content-match | report file internal consistency | 2026-03-15 | Les métadonnées avaient dérivé | | 10B | Suspect Key Escalation | Après 5 runs ON HOLD consécutifs, les clés suspectes doivent être résolues ou annotées précisément | exists | changelog history | 2026-03-15 | Évite l’accumulation indéfinie | | 10C | Bidirectional Completeness | Toute clé, mode de permission et env var du rapport doit être traçable vers une source officielle ou explicitement non vérifiée | field-level | official docs vs report | 2026-03-15 | Règle inverse transversale | ## 9. Hyperlinks | # | Category | Check | Depth | Compare Against | Added | Origin | |---|----------|-------|-------|-----------------|-------|--------| | 9A | Local File Links | Vérifier que tous les liens relatifs existent | exists | local filesystem | 2026-03-05 | Des déplacements de fichiers cassent les liens | | 9B | External URL Links | Vérifier que toutes les URLs externes retournent une page valide | exists | HTTP response | 2026-03-05 | Les docs externes peuvent changer | | 9C | Anchor Links | Vérifier que toutes les ancres internes pointent vers des titres existants | exists | file headings | 2026-03-05 | Des renommages de sections peuvent casser les ancres |