Add a `static-analysis` job (JDK 21 + Android SDK) that runs `:app:ktlintCheck :app:detekt` and uploads the reports, and add it to the `ci-passed` aggregating gate so lint regressions block merges like the other checks. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>