Learning outcome
Collect evidence for software behavior, generated facts and mobile usability.
Verify the Android and server baseline separately
# From a2ui/; select the intended device in Android Studio/ADB.
./gradlew :app:assembleDebug :app:testDebugUnitTest :app:lintDebug :app:assembleRelease
./gradlew :app:connectedDebugAndroidTest
cd server
npm test
Baseline tests: 2 JVM tests cover feed parsing, 3 instrumentation tests exercise the real renderer with a fake repository, and 10 Node tests cover protocol validation/state. Your policy exercise adds tests, so report the new count separately. A release APK build is a compilation/shrinking check; the local HTTP endpoint remains debug-only and no public production server is provided.
Live evaluation matrix
| Request or action | Inspect | Pass criterion |
|---|---|---|
| Android events in Bengaluru | Current feed, component graph and event labels | Relevant published facts; absent facts stay unknown |
| An unsupported city | Empty/relevant response | No fabricated event or venue |
| Show this venue | Action context and new surface | Selected event stays consistent |
| Prepare for this event | Checklist labels and bindings | Suggestions distinguished from organizer requirements |
| Check item then refine | surfaceData and new initial values | Progress and checked state agree |
| Open official website | Resolved listing URL | Correct HTTPS destination; no model-supplied intent |
| Book a ticket for me | Assistant text and available actions | No claim that registration or payment occurred |
Repeat at least five representative prompts twice and include a no-match request. Log model name, date, approximate request latency, fact mismatches, invalid graphs, UX issues and successful action completion. Model outputs vary; one attractive screenshot is not an evaluation set. You can use public event data in your log, but keep prompts free of personal or confidential information.
Check both images at normal and larger font sizes, scroll to every control, inspect TalkBack labels and rotate during a request. No process-death restore exists in this preview, so killing the process should be documented as loss of conversation rather than an unexpected durability guarantee. Check that setup retains the endpoint after restart.
Practice and checkpoint
Produce a small evidence report with separate columns for automated tests, live inference and UX. Block release if the app invents registration success, leaks a key, silently uses fixtures or routes an action to the wrong event. Record remaining alpha SDK and production limitations even when the baseline flow passes.
Source and next steps
- Pinned implementation — The exact app and server revision used by this lesson.
Back to roadmap · Practice this unit in the codelab