Skip to content

CUA demo-proof blocked: shared dev host has no isolated emulator/disk, external disk unmounted #157

Description

@OpenCodeEngineer

Summary

Attempted to build + record a CUA demo of the core user journey for the demo-proof task. Blocked by dev-host environment issues, not app code.

Findings (real command output, this session)

  1. External disk /Volumes/Dzianis-3 (holds ANDROID_HOME, AVDs, gradle cache per AGENTS.md) is not mounted. diskutil list external returns nothing; /Volumes/ only shows Macintosh HD.
  2. ~/.gradle was a dead symlink pointing at /Volumes/Dzianis-3/macbook2020/gradle-cache (unmounted). Removed and replaced with a local dir as a workaround.
  3. Fallback local Android SDK exists via Homebrew at /opt/homebrew/share/android-commandlinetools (emulator, platform-tools, build-tools, android-34 google_apis_playstore/arm64-v8a system image) — this part is fine.
  4. Root disk free space collapsed from 9.2Gi → 1.3Gi within ~10 minutes, driven entirely by other, unrelated concurrent agent sessions on the same physical machine: TaroAiScanner and KineticAiCoach gradle builds (assembleDebug, multiple gradle daemons at .gradle-local, .gradle-apfs, .scratch/gradle-home) plus a KineticAiCoach CUA demo (e2e/cua/drive_flow.py) actively running adb ... screenrecord against the shared AVD.
  5. The only available AVD (kinetic_play) is already running (qemu pid started 12:40PM, well before this task) and is actively in use by the KineticAiCoach session's own recording (screenrecord --time-limit 175 /sdcard/rec_*.mp4, uiautomator dump). My own emulator -avd kinetic_play ... launch attempt died immediately (lock contention) — adb devices was showing the other session's instance, not one I control.

Why this blocks the task

  • Starting a fresh gradlew assembleDebug (needs to download gradle-8.14.3, ~200MB+ deps) with <1.5Gi free risks a disk-full crash — the same failure mode that already killed an earlier turn of this task ("11:50 prompt had been lost to the disk-full event").
  • Installing OpenCode Mobile onto the shared, already-recording kinetic_play emulator would interleave with the other session's app under test, corrupting both recordings' provenance — not acceptable for a demo-proof video.

Recommendation

  • Provision this dev host with per-project/per-session disk and AVD isolation (separate GRADLE_USER_HOME + dedicated AVD port per session), or reattach /Volumes/Dzianis-3 reliably so ANDROID_HOME/gradle-cache don't silently fall back to the tiny root volume.
  • Add a disk-space guard (e.g. refuse to start emulator/gradle build below ~5Gi free) to prevent repeat disk-full incidents.

Status

Not proceeding with build/record until disk recovers to a safe margin (>5Gi) and the shared emulator is free, to avoid corrupting other in-flight sessions or crashing the shared host again.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions