From 6bf375ee78f8528247aafdbef50f39887f72af46 Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Sat, 25 Jul 2026 00:28:15 +0000 Subject: [PATCH] docs: record delivery verification limits --- CHANGELOG.md | 1 + PROJECT_PLAN.md | 1 + docs/BLOCKERS.md | 2 ++ docs/ROADMAP.md | 3 ++- 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b60db57..66f0ae5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -68,6 +68,7 @@ All notable Hermes Mobile source changes are recorded here. Entries are added du - Fixed companion/mobile lint issues from missing Node globals and an unused React settings value. ### Verification +- Task 5 delivery verification on 2026-07-25: `GRADLE_USER_HOME=/root/hermes-mobile/.gradle-user ./gradlew --offline --no-daemon -Dorg.gradle.jvmargs= -Dorg.gradle.daemon=false -Pkotlin.compiler.execution.strategy=in-process :app:testDebugUnitTest :app:assembleDebug` was attempted and blocked before project execution because Gradle could not open its daemon TCP socket (`java.net.SocketException: Operation not permitted`). The existing ignored debug APK, last modified `2026-07-25 00:16:06 UTC`, reports package `cloud.molberg.hermesmobile`, version `0.1.0-beta.1` (`10001`), size 17,710,960 bytes, and SHA-256 `190efe9dd61bcfbe589d91d9676f57264107f90c7a3481de233b2e028ff138db`. The existing focused XML report, last modified `2026-07-25 00:16:11 UTC`, records 30 `SetupWizardReducerTest` tests with 0 failures/errors/skips. `git diff --check` passed. No fresh Gradle test or assembly task, device installation, real credentials, release, or gateway end-to-end verification is claimed. - Focused wizard regression: `./gradlew --offline --no-daemon -Dorg.gradle.jvmargs= -Dorg.gradle.daemon=false -Pkotlin.compiler.execution.strategy=in-process :app:testDebugUnitTest --tests 'cloud.molberg.hermesmobile.onboarding.SetupWizardReducerTest' :app:assembleDebug` — passed (43 tasks, 9 executed), including the Bearer restart regression. - `./gradlew --offline --no-daemon -Dorg.gradle.jvmargs= -Dorg.gradle.daemon=false -Pkotlin.compiler.execution.strategy=in-process :app:testDebugUnitTest --tests 'cloud.molberg.hermesmobile.onboarding.SetupWizardReducerTest' :app:assembleDebug` — passed (43 tasks, 9 executed), including the new current-key migration regression. - Task 5 source-current re-verification on 2026-07-24: `/root/.openclaw/workspace/scripts/hermes-mobile-preflight.sh` passed; `./gradlew --offline --no-daemon -Dorg.gradle.jvmargs= -Dorg.gradle.daemon=false -Pkotlin.compiler.execution.strategy=in-process :app:testDebugUnitTest :app:assembleDebug` passed (43 tasks, 1 executed); the generated Gradle XML report records 106 tests with 0 failures/errors, including 29 `SetupWizardReducerTest` cases; a localhost gateway health probe returned HTTP 200, establishing reachability only; the debug APK reports package `cloud.molberg.hermesmobile`, version `0.1.0-beta.1` (`10001`), and SHA-256 `45e4ab4783a74eb766070b0f670a2631a9ebdc044468bbe03087788f8106f150`; and `git diff --check` passed. No ADB device/emulator or `/dev/kvm` was available; no device installation, real authentication, release, or end-to-end gateway verification is claimed. diff --git a/PROJECT_PLAN.md b/PROJECT_PLAN.md index 68effc0..7ba6720 100644 --- a/PROJECT_PLAN.md +++ b/PROJECT_PLAN.md @@ -65,6 +65,7 @@ _Move finished items here with date, commit, and verification. Keep this section - Verification on 2026-07-24: source-current offline `:app:testDebugUnitTest :app:assembleDebug` passed (43 tasks, 4 executed; all unit tests passed), including the focused restart-regression test; `git diff --check` passed. No device, release, or real gateway credential test is claimed. - Task 5 source-current re-verification on 2026-07-24: `/root/.openclaw/workspace/scripts/hermes-mobile-preflight.sh` passed; the documented offline `:app:testDebugUnitTest :app:assembleDebug` command passed (43 tasks, 1 executed); the generated Gradle XML report records 106 tests with 0 failures/errors, including 29 `SetupWizardReducerTest` cases; and `git diff --check` passed. A localhost gateway health probe returned HTTP 200, establishing reachability only. The debug APK reports package `cloud.molberg.hermesmobile`, version `0.1.0-beta.1` (`10001`), SHA-256 `45e4ab4783a74eb766070b0f670a2631a9ebdc044468bbe03087788f8106f150`. No ADB device/emulator or `/dev/kvm` was available; no device installation, real authentication, release, or end-to-end gateway verification is claimed. - Later Task 5 current-sandbox rerun on 2026-07-24: the exact `docs/ANDROID_BETA_BUILD.md` Gradle command was blocked before project execution with `Could not determine a usable wildcard IP`, and the recorded offline/no-daemon variant was blocked while opening Gradle's daemon TCP socket with `java.net.SocketException: Operation not permitted`. Direct JUnit execution of the existing source-current compiled `SetupWizardReducerTest` classes passed all 29 tests. The existing source-current XML reports remain 106 tests with 0 failures/errors, and the existing ignored APK was unchanged by both Gradle attempts; `aapt` and SHA-256 inspection reconfirmed the package/version/hash above. ADB 37.0.0 was available only by explicit path and could not start its daemon because smart-socket/netlink sockets are prohibited; `/dev/kvm` and `/dev/bus/usb` were absent. This adds fresh focused reducer execution only: no fresh Gradle compilation/test task, APK assembly, device installation, credential flow, release, or end-to-end verification is claimed. + - Task 5 delivery verification on 2026-07-25: the documented writable-cache offline `:app:testDebugUnitTest :app:assembleDebug` command was attempted and blocked before project execution because Gradle could not open its daemon TCP socket (`java.net.SocketException: Operation not permitted`). The existing ignored debug APK, last modified `2026-07-25 00:16:06 UTC`, reports package `cloud.molberg.hermesmobile`, version `0.1.0-beta.1` (`10001`), size 17,710,960 bytes, and SHA-256 `190efe9dd61bcfbe589d91d9676f57264107f90c7a3481de233b2e028ff138db`. The existing focused XML report, last modified `2026-07-25 00:16:11 UTC`, records 30 `SetupWizardReducerTest` tests with 0 failures/errors/skips. `git diff --check` passed. No fresh Gradle test or assembly task, device installation, real credentials, release, or gateway end-to-end verification is claimed. - [x] **R2a — Establish beta source packaging and install documentation** — 2026-07-24, commit `3b883bd` (`build: establish Android beta packaging`). - Set Android package metadata to semantic `versionName` `0.1.0-beta.1` with monotonic `versionCode` `10001`, enabled generated metadata coverage, and named the debug APK `hermes-mobile-v0.1.0-beta.1-debug.apk`. - Added a direct-gateway-only build, metadata inspection, clean-install, launch, configuration, evidence, and known-limitations guide; changed the npm Android build command to run the native Gradle project without Capacitor synchronization. diff --git a/docs/BLOCKERS.md b/docs/BLOCKERS.md index b7d752b..9a26ca0 100644 --- a/docs/BLOCKERS.md +++ b/docs/BLOCKERS.md @@ -14,6 +14,8 @@ A later Task 5 rerun on 2026-07-24 was blocked before project execution: the gui 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. +Task 5 delivery verification on 2026-07-25 retried the documented writable-cache offline `:app:testDebugUnitTest :app:assembleDebug` command. Gradle was blocked before project execution because its daemon could not open the sandbox-prohibited TCP socket (`java.net.SocketException: Operation not permitted`), so this run adds no fresh test or assembly result. The existing ignored debug APK was inspected without using the untracked `releases/` artifact: it was last modified `2026-07-25 00:16:06 UTC`, is 17,710,960 bytes, reports package `cloud.molberg.hermesmobile`, version `0.1.0-beta.1` (`10001`), and has SHA-256 `190efe9dd61bcfbe589d91d9676f57264107f90c7a3481de233b2e028ff138db`. The existing focused XML report records 30 `SetupWizardReducerTest` tests with 0 failures/errors/skips. `git diff --check` passed. No device installation, real credentials, release, or gateway end-to-end verification was performed. + 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. diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 845ebf3..321035f 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -9,9 +9,10 @@ - Test-and-finish uses the existing local-first route selection, requires a successful compatibility check before completion, and exposes the same profile for later Settings edits. - Existing completed valid profiles skip mandatory setup; valid profiles with recorded legacy provenance receive a one-time setup-version migration without forcing re-entry. A failed/offline first-run None or Bearer test cannot create a restart bypass. - Compose semantics, minimum touch targets, adaptive layout behavior, and phone/tablet/light/dark previews cover the wizard source contract. -- Existing source-current Gradle output records 106 unit tests with 0 failures/errors and a debug APK assembled after the latest Android source change. No real device, release, or real gateway credential walkthrough has been performed; those remain part of R1/R2 evidence. +- Earlier full-suite Gradle output recorded 106 unit tests with 0 failures/errors. After the latest Android source change, the existing focused report records 30 passing `SetupWizardReducerTest` cases and the ignored debug APK has a later build timestamp. No real device, release, or real gateway credential walkthrough has been performed; those remain part of R1/R2 evidence. - Task 5 source-current re-verification on 2026-07-24 passed the external recovery preflight and documented offline Gradle test/assembly command (43 tasks, 1 executed); the generated Gradle XML report records 106 passing tests with 0 failures/errors, including 29 `SetupWizardReducerTest` cases. A localhost gateway health probe returned HTTP 200, establishing reachability only. The debug APK is package `cloud.molberg.hermesmobile`, version `0.1.0-beta.1` (`10001`), SHA-256 `45e4ab4783a74eb766070b0f670a2631a9ebdc044468bbe03087788f8106f150`; `git diff --check` passed. No ADB device/emulator or `/dev/kvm` was available; no device installation, real authentication, release, or end-to-end gateway verification was performed. - A later Task 5 rerun in the current sandbox on 2026-07-24 did not supersede the passing Gradle output: the guide's exact Gradle command failed before project execution because no usable wildcard IP was available, and the offline/no-daemon variant failed because Gradle could not open its daemon TCP socket. Direct JUnit execution of the existing source-current compiled `SetupWizardReducerTest` classes passed all 29 tests. The existing XML reports and ignored APK remained unchanged; metadata/hash inspection still matched the values above. ADB 37.0.0 could not start its daemon, and `/dev/kvm` plus `/dev/bus/usb` were absent. This adds fresh focused reducer execution only; no fresh Gradle compilation/test task, APK assembly, device, authentication, release, or end-to-end evidence. +- Task 5 delivery verification on 2026-07-25 did not produce fresh Gradle output: the documented writable-cache offline `:app:testDebugUnitTest :app:assembleDebug` command was blocked before project execution because Gradle could not open its daemon TCP socket (`java.net.SocketException: Operation not permitted`). The existing ignored debug APK, last modified `2026-07-25 00:16:06 UTC`, reports package `cloud.molberg.hermesmobile`, version `0.1.0-beta.1` (`10001`), size 17,710,960 bytes, and SHA-256 `190efe9dd61bcfbe589d91d9676f57264107f90c7a3481de233b2e028ff138db`. The existing focused XML report records 30 `SetupWizardReducerTest` tests with 0 failures/errors/skips; `git diff --check` passed. No device installation, real credentials, release, or gateway end-to-end verification was performed. Status: in progress. Android foundation work is complete, and the beta path now targets a remote upstream Hermes Agent gateway/API server directly. The legacy `apps/companion` server is compatibility-only and not required for future Android releases.