10 KiB
10 KiB
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. 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 |