q792602257andClaude Opus 4.6 ec261d57c2 feat: surface task execution progress across Host Agent and Cloud
Host Agent now persists step-level execution detail locally (via a real
TaskMetadataStore/Timeline wired into TaskRunner) and reports a bounded
in-progress snapshot piggybacked on lease renewal. Cloud persists that
snapshot per active assignment and exposes it through the existing task
list/detail query path; Cloud Console renders it as a live badge. Host
Agent's local console gains authenticated, read-only task list and
detail/timeline pages (same-origin, server-rendered) with inlined
screenshots.

Also fixes a pre-existing gap in the shared Timeline: the actual
per-step LLM prompt is now recorded instead of the task goal, benefiting
both Runtime and Host Agent consoles. When a host uses the cloud planner
transport, each decide call's prompt and resulting tool decision are
durably logged in a new planner_decision_log table (with bounded
retention) and browsable from Cloud Console; direct-transport hosts
explicitly surface a "not reported" state.

Includes Alembic migrations 0008 (progress columns on scheduled_tasks)
and 0009 (planner_decision_log), bounded Host-Agent-local retention,
dual-backend repository parity, and Vitest + pytest coverage. Task 6.5
(manual end-to-end device verification) remains.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-14 12:47:49 +08:00
2026-07-14 09:06:48 +08:00
2026-07-14 09:06:48 +08:00
2026-07-14 09:06:48 +08:00
2026-07-13 15:56:44 +08:00

Device Agent Runtime

Device Agent Runtime is a device-agnostic runtime for LLM-driven automation. It gives agents a stable way to observe, decide, and act against real devices through a small set of domain models, driver contracts, tools, perception providers, and runtime orchestration.

iPhone automation through WebDriverAgent/Appium is the first driver, not the platform boundary. Future drivers can target Android, browsers, desktop environments, or other device surfaces without changing the runtime's core contracts.

Current Shape

  • core/: shared domain models and runtime errors.
  • driver/: the Driver contract, concrete driver adapters, and driver-type registry.
  • device/: device lifecycle and active driver management.
  • tools/: device capabilities exposed to runtime and API layers.
  • perception/: screen-to-Scene perception behind PerceptionProvider.
  • runtime/: planning and execution orchestration.
  • api/: REST/MCP transport adapters.
  • storage/: timeline, task, and device configuration persistence.
  • packages/cloud-platform/: cloud scheduling, device pooling, plugins, and the Python cloud SDK as the device-cloud-platform workspace member.
  • apps/cloud-api/: deployable authenticated Cloud Control Plane with PostgreSQL/SQLite persistence, scheduling, leases, and health endpoints.
  • apps/device-host-agent/: outbound Host Agent that synchronizes configured devices and executes leased tasks through the existing Runtime/workflow.

Python Workspace

The repository uses a uv workspace with one committed lockfile. From the repository root, synchronize every Python member with:

uv sync --locked --all-packages

Run the complete local test suite in a workspace environment:

uv run --all-packages pytest -m "not integration"

Select one member when running package-specific commands:

uv run --package device-agent-runtime python -c "import runtime"
uv run --package device-cloud-platform python -c "import cloud"
uv run --package device-cloud-api device-cloud-api --help
uv run --package device-host-agent device-host-agent --help
uv build --package device-agent-runtime
uv build --package device-cloud-platform

The Vue/Vite application under console/ remains an independent npm project; uv does not install or modify its JavaScript dependencies.

Project Direction

The durable roadmap is in docs/ROADMAP.md. The architecture invariants future changes must preserve are in docs/CONSTITUTION.md.

Operator Guides

S
Description
No description provided
Readme
1.9 MiB
Languages
Python 92.5%
Vue 3.8%
HTML 1.7%
TypeScript 1.6%
CSS 0.3%
Other 0.1%