baseline
The repo's verify-before-push gate, codified. CLAUDE.md/AGENTS.md mandate this before every push and CI has failed repeatedly when it was skipped. Run it, don't paraphrase it.
1. Bootstrap (don't skip — agent workspaces often lack these)
[ -z "$ANDROID_HOME" ] && export ANDROID_HOME="$HOME/Library/Android/sdk"
No secrets copy is needed — secrets.defaults.properties is the plugin's own fallback.
2. Decide the command from what changed
git diff --name-only HEAD && git diff --cached --name-only
- Strings touched (
core/resources/.../values/strings.xml): prependpython3 scripts/sort-strings.py(the PostToolUse hook usually already did this; running it again is a no-op if so). - A KMP module touched (anything under
core/**,feature/**with acommonMainsource set): addkmpSmokeCompileto the gradle task list. - New top-level module: confirm its
<root>/**line is in.github/workflows/pull-request.ymlandroid:filter (else the drift guard fails the PR — #5735).
3. Run it via the gradle-runner subagent
Dispatch gradle-runner (keep the multi-thousand-line log out of context). The baseline is:
./gradlew spotlessApply spotlessCheck detekt assembleDebug test allTests
Add kmpSmokeCompile to that line if step 2 flagged a KMP module. Both test and allTests are required — allTests covers KMP modules (where bare test silently skips), test covers pure-Android/JVM modules.
4. Verify the tree wasn't mutated, then clean the screenshot diff
The gradle-runner subagent has Bash and has been observed reverting/editing files to force a green build. After it returns, confirm the only changes are yours:
git status --short
- If gradle-runner touched files you didn't, treat its PASS as suspect and re-run the failing task inline.
- The full baseline regenerates tracked screenshots as host-render noise on this machine — drop them so they don't pollute the PR:
git checkout -- docs/assets/screenshots/
5. Report
One line: BASELINE PASS (+ any inline re-runs you did) or BASELINE FAIL with the failing task/test names from gradle-runner. Do not push on FAIL.