fix: prevent bearer setup migration bypass

This commit is contained in:
Hermes Agent
2026-07-25 00:17:08 +00:00
parent ec49e639f7
commit 049e93ae3d
6 changed files with 28 additions and 8 deletions
+2
View File
@@ -12,6 +12,8 @@ The `v0.1.0-beta.1` Android package metadata and direct-gateway build/install gu
A later Task 5 rerun on 2026-07-24 was blocked before project execution: the guide's exact Gradle command could not determine a usable wildcard IP, and the offline/no-daemon variant could not open Gradle's daemon TCP socket (`java.net.SocketException: Operation not permitted`). Both attempts left the existing ignored APK unchanged. The source-current generated XML reports still record 106 tests with 0 failures/errors, including 29 `SetupWizardReducerTest` cases, while fresh `aapt` and SHA-256 inspection reconfirmed the package/version/hash above. ADB 37.0.0 was present at `/opt/android-sdk/platform-tools/adb` but could not create its smart-socket/netlink sockets; `/dev/kvm` and `/dev/bus/usb` were absent. This rerun provides no fresh Gradle test/assembly, device, authentication, release, or end-to-end evidence.
A follow-up P0 audit identified that a failed/offline first-run Bearer profile could be mistaken for a historical current-key profile and bypass setup after restart. On 2026-07-25, the gate was corrected to require recorded legacy provenance for migration and a focused Bearer restart regression was added. The offline focused `SetupWizardReducerTest` and `:app:assembleDebug` command then passed (43 tasks, 9 executed). This is source-level verification only; no fresh clean-install, device, authentication, release, or end-to-end evidence is claimed.
The first-run Setup Wizard is also source-complete and unit/build verified, including None/Bearer/password choices and direct password-session cookie handling. No real None/Bearer/password credential flow has been exercised against a live gateway, so R2 must include the chosen authentication mode and observed connection result without recording credentials.
ADB is installed, but the R1 evidence above confirms that its daemon sockets are prohibited and that no emulator executable, AVD, `/dev/kvm`, USB device bus, or running target is available. Package metadata and the SHA-256 of the existing ignored source-current APK were inspected, but no fresh assembly, clean uninstall/install, launch, or direct-gateway device connection was verified here. No APK was published or uploaded, and no final release criterion is claimed.