Skip to content

Agent-readiness harness: environment bootstrap, emulator proof, evidence capture #15

Closed

Description

@altaywtf

Part of #14 (W0 — foundation and agent readiness). This is the first issue of the program; nearly everything else is blocked on it.

Outcome

An agent (or a human) on a fresh MacBook or devbox can go from git clone to a running, provable app without hand-holding: environment bootstrapped, both flavors building, an emulator booting, and evidence capture (screenshots/recordings) scripted. The repo's docs and tooling are good enough that autonomous agents can work here end to end.

Scope

  • Reproducible toolchain bootstrap: JDK, Android SDK cmdline-tools, platform/build-tools, and AVD creation scripted (mise/Brewfile or equivalent — follow workspace conventions), local.properties handled automatically
  • ./gradlew verify, :app:assembleMobileDebug, :app:assembleTvDebug green locally (fix the missing gradle.properties, plugin setup, and any AGP 9/compileSdk 37 issues on main)
  • Phone AVD + TV AVD definitions with one-command create/boot/install/launch scripts
  • Evidence tooling: one-command screenshot and screen-recording capture from a running emulator/device, landing in a predictable output dir for PR attachment
  • putio CLI wired for live proof: documented flow for authenticating a test profile (device-code) so agents can create fixtures/verify API state; secret-free by default per workspace secrets contract
  • AGENTS.md rewritten as the operating manual: setup, build, run, prove, evidence conventions, and the program's definition of done
  • Devbox/cloud notes: what differs headless (emulator w/o KVM/HAXM caveats, -no-window capture)

Exit bar (settled 2026-08-08 — this is the gate, nothing more)

W0 is DONE when a fresh checkout on a second machine reaches, following only repo docs/scripts:

  1. Green ./gradlew verify + both flavor builds
  2. Booted phone + TV emulators via one command each
  3. Working screenshot/recording capture
  4. Rewritten AGENTS.md

Everything beyond (CI emulator lanes, cloud devboxes, proofs-CLI integration) lands incrementally while feature slices run — harness excellence keeps compounding but stops gating.

Acceptance criteria

  • A fresh checkout on a second machine (or clean worktree) reaches green builds + booted emulator following only repo docs/scripts
  • Definition of done: verification green, harness exercised, and visual proof (screenshot of both flavor shells running) attached

Emulator lifecycle acceptance

The one-command emulator flows must own what they start as well as boot it.

  • Distinguish a preexisting emulator/AVD from an emulator process booted by the current invocation.
  • On normal completion, failure, SIGINT, and SIGTERM, stop only the exact emulator process/serial owned by the invocation.
  • Delete an AVD registration only when the command created it as explicitly ephemeral; preserve documented reusable AVDs and every preexisting emulator.
  • Confirm the owned emulator is absent from the final adb device state before returning, and surface cleanup failure.
  • Add focused forced-failure and interruption proof; never use broad emulator or process-name cleanup.

Activity

  1. altaywtf commented on Aug 8, 2026

    @altaywtf
    MemberAuthor

    Heads-up for whoever builds this: Altay is writing a CLI for agents to upload visual proof (video/image) to Cloudflare. When it ships, integrate it into the evidence-capture step — captures land locally, then upload via the CLI and link the URLs in PRs/issues. Until then, attach files directly to GitHub. The epic's DoD wording (#14) will be revised at adoption time.

  2. changed the title [-]Establish the agent-readiness harness: env bootstrap, emulator proof, evidence capture[/-] [+]Agent-readiness harness: environment bootstrap, emulator proof, evidence capture[/+] on Aug 8, 2026
  3. altaywtf commented on Aug 22, 2026

    @altaywtf
    MemberAuthor

    Harness delivered in #54 (bootstrap, emulator proof with owned lifecycle, evidence capture, AGENTS.md operating manual). Full run log, durations, and evidence links are on the PR.

    Handoffs kept out of #54's scope:

    Scope note: the putio CLI live-proof flow is documented in AGENTS.md (device-code login to a putio-android-test profile, secret-free); no test profile was authenticated — first feature slice that needs live fixtures should do the one-time device-code approval.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions