refactor: simplify Android helper, fill, and scroll contracts
Merged
TH
19h ago+327+327+012345678901234567890123456789-223-223-012345678901234567890123456789
Summary
Simplify the helper, fill, and verified-scroll code left after the Android performance sweep:
- Encode helper inspection states and action-specific requests/replies.
- Parse each fill capture once and emit unconfirmed warnings only at completion.
- Decode platform/provider scroll evidence at the shared runtime binding, preserving the plugin API and public response fields.
- Derive each verified scroll decision and fingerprint from one analysis.
Six commits; 27 files. Production +270/-186, existing tests/fixtures +57/-37; no new test cases. Scope includes shared scroll contracts and incomplete-reply rejection for gesture/viewport sessions. Scoped retries, cancellation ordering, and uncertain-mutation refusal remain intact. No latency improvement is claimed.
Validation
At 98af5c3d848ba884371b29d7e36d4a671ad5ac14:
pnpm check:affected --run --full --head 98af5c3d848ba884371b29d7e36d4a671ad5ac14passed:exactCommit=true,checkoutChanged=false.- 1,789 test files, 15,427 tests passed; smoke: 73 passed. Optional live lanes were skipped locally.
- Pixel 7 CI, Android 16/API 36, built helper
0.21.29-dev: test-app fill/clear, screenshot, warm launch, catalog target/edge/zero-pass scrolling passed. - Live TCP fault probes: missing screenshot payload fell back to screencap; truncated input reply disclosed
unknownafter one mutation; fresh-helper recovery passed. - Claude Opus reviewed the design and complete diff: no blocking findings.
CI owns full coverage, provider integration, and native/device lanes. Detailed device evidence is in the PR comment.