Any public API in published modules (core/, krpc/, grpc/, protobuf/, utils/) | ABI compatibility | checkLegacyAbi | Ensures binary compatibility is preserved for library consumers |
| Any Kotlin/Java source file | Detekt static analysis | detekt | Code quality. Does NOT fail the build, but check console output for new violations |
Any published JVM or KMP module source (including commonMain) | JPMS check | :jpms-check:compileJava | Verifies Java module system compatibility. commonMain code compiles to JVM too |
| New/removed modules or KMP target changes | Artifact validation | Shell: ./validatePublishedArtifacts.sh -s | Ensures the published artifact list stays consistent |
| New/removed modules or KMP target changes | Platform table | dumpPlatformTable --no-configuration-cache then check git status | Updates docs/pages platform table |
gradle.properties in any module | Properties sync | updateProperties then check git status | Keeps all module gradle.properties in sync with root |
compiler-plugin/ sources or templates | Compiler plugin tests | :tests:compiler-plugin-tests:test (use running_gradle_tests) | Validates codegen and diagnostics |
compiler-plugin/ CSM templates | Compiler version compat | Use the verify-compiler-plugin-compatibility skill | Ensures all supported Kotlin versions still compile |
protoc-gen/ sources (any change) | Protobuf conformance | tests:protobuf-conformance:bufGenerateCommonMain then check git status | Codegen changes may affect conformance test output |
protoc-gen/ sources (any change) | Protobuf unit tests | :tests:protobuf-unittest:test (use running_gradle_tests) | Validates protobuf codegen correctness |
protoc-gen/ sources (any change) | Well-Known Types | :protobuf:protobuf-wkt:bufGenerateCommonMain then check git status | Codegen changes may affect WKT generated code |
protoc-gen/ sources (any change) | Implicit imports | Shell: ./update_implicit_types.sh then check git status | Keeps protoc-gen implicit import list current |
protobuf/protobuf-wkt/ sources | Well-Known Types | :protobuf:protobuf-wkt:bufGenerateCommonMain then check git status | Regenerates WKT code |
krpc/ protocol wire format or serialization | Protocol compat tests | :tests:krpc-protocol-compatibility-tests:jvmTest (use running_gradle_tests) | Ensures wire format backward compatibility |
krpc/ any changes | kRPC compat tests | :tests:krpc-compatibility-tests:jvmTest (use running_gradle_tests) | Ensures old/new API compatibility |
| JS/WASM npm dependency changes or Kotlin version update | Yarn lock update | kotlinUpgradeYarnLock and/or kotlinWasmUpgradeYarnLock | Keeps JS/WASM lock files in sync |
tests/protobuf-conformance/**/known_failures.txt | Conformance known-failures | :tests:protobuf-conformance:jvmTest (see conformance details) | Removed entries must actually pass now; added entries must actually fail |