summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-09-18 21:04:49 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-09-18 21:04:49 +0000
commitf1d03f7bd675050a088e7baf3de648088e7f7e4b (patch)
treebd92b3717e5b7dcbbead5be9ee430e7e66f39fed
parent05f3d13b11a560220771e8d351b77173532e0be0 (diff)
Require the devtools wrappers for build/test and launch verification
Each of these happened here and was reported as fact: Gradle running against a different directory after a silent `cd` failure; `adb shell monkey` reporting a healthy app as crashed and a crashed app as healthy on the same emulator minutes apart; and `adb install` refusing a filename into /dev/null, leaving the previous build installed and under test. Points at /workspace/devtools, which reports from exit codes, parsed JUnit XML, and a logcat capture started before launch. Documentation only — no production code touched, so no red step applies.
-rw-r--r--CLAUDE.md22
1 files changed, 22 insertions, 0 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index 59b2350..f136fdc 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -112,3 +112,25 @@ checklist:
- The migration-test requirement exists because `AppDatabase` is on its 11th schema version with
zero migration tests, several of which are one-off hardcoded data repairs — exactly the kind of
change most likely to corrupt a real, non-reproducible production DB if wrong.
+
+## Build & test verification — mandatory
+
+**Never conclude a build or test result from grepped console output**, and never
+verify a launch with `adb shell monkey`. Use the shared wrappers, which report
+from exit codes, parsed JUnit XML, and a logcat capture started before launch:
+
+```
+/workspace/devtools/bin/gradle-test /workspace/feedreader -- --rerun-tasks
+/workspace/devtools/bin/android-launch-check org.terst.feedreader \
+ --apk app/build/outputs/apk/debug/app-debug.apk --settle 15
+```
+
+These exist because each of the following happened in this repo and was reported
+as fact: Gradle running against a different directory after a silent `cd`
+failure, `monkey` reporting a healthy app as crashed and a crashed app as
+healthy, and `adb install` refusing a filename into `/dev/null` so the previous
+build stayed installed and got tested instead.
+
+`android-launch-check` is also the fastest way to check the schema-downgrade
+crash described in the published-APK notes — it prints the fatal stack directly.
+See `/workspace/devtools/README.md`.