summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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`.