# Builds on detekt's default ruleset (see app/build.gradle.kts: buildUponDefaultConfig = true). # Only overrides/additions relative to the defaults belong here -- keep this file small so # upgrading detekt pulls in sane new defaults automatically instead of us silently diverging. style: MaxLineLength: maxLineLength: 140 # several files carry long, deliberate rationale comments (see # ReaderExtractor.kt) -- 120 (detekt's default) wrapped mid-explanation too aggressively. ForbiddenComment: active: false # this codebase deliberately doesn't use TODO/FIXME markers (see CLAUDE.md # "why these checks") -- nothing to forbid. naming: FunctionNaming: ignoreAnnotated: ["Composable"] # Jetpack Compose's own naming convention is PascalCase for # composable functions -- that's the correct style here, not a violation.