chore(settings-checklist): add Rule 1I (skills settings keys completeness)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -28,6 +28,7 @@ Rules that verify settings key tables against official docs.
|
||||
| 1F | Inverse Completeness | For each key in the report tables, verify it exists in official docs OR is explicitly marked as "not in official docs — unverified". Keys with no official backing must be annotated | field-level | settings documentation page + JSON schema | 2026-03-15 | Suspect keys (`sandbox.ignoreViolations`, `skipWebFetchPreflight`, etc.) stayed ON HOLD for 6 runs because no rule checked the reverse direction — items in report that shouldn't be there |
|
||||
| 1G | Edge-Case Semantics | For settings with special behavior at boundary values (e.g., `0`, empty string, `null`), verify the boundary behavior is documented and matches official docs | content-match | settings documentation page | 2026-03-15 | v2.1.75 caught `cleanupPeriodDays` zero-value behavior late; v2.1.76 added "hooks receive empty transcript_path" detail. Edge cases were under-verified |
|
||||
| 1H | File Scope Check | For each key listed in the report as a `settings.json` key (particularly Display Settings), verify it is indeed a `settings.json` key and not a `~/.claude.json`-only preference. Official docs separate "Available settings" (settings.json) from "Global config settings" (~/.claude.json). Keys in the wrong scope mislead users and may cause schema validation errors | content-match | settings documentation page "Available settings" vs "Global config settings" sections | 2026-03-18 | v2.1.78 caught `showTurnDuration` and `terminalProgressBarEnabled` listed in Display Settings as settings.json keys, but official docs explicitly state they belong in `~/.claude.json` and "Adding them to settings.json will trigger a schema validation error." No rule existed to verify file scope |
|
||||
| 1I | Skills Settings Keys | For each skill-related `settings.json` key on the official settings page (`skillOverrides`, `disableSkillShellExecution`, `maxSkillDescriptionChars`, `skillListingBudgetFraction`, and any future skill-listing/skill-budget keys), verify it appears in the report. Skill *content* is externalized but skill *settings.json keys* remain in-scope for this report | field-level | settings documentation page | 2026-05-25 | v2.1.150 run found `maxSkillDescriptionChars` (default `1536`) and `skillListingBudgetFraction` (default `0.01`) missing — both present since v2.1.105 but never caught across ~45 versions of audits. Rule 1A covers all keys, but skill-listing keys were a systematic blind spot; this targeted rule forces an explicit skills-key sweep each run |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user