185 Commits
Author SHA1 Message Date
somew1nd 73d7b0c116 feat(showcase_ui): support verification and finding cards in agent notes 2026-09-02 00:58:48 -07:00
somew1nd 99343dfe55 docs: remove completed design and planning documents 2026-09-02 00:12:33 -07:00
somew1nd b8ecda9dd1 refactor(queue): split task queue orchestration and worker I/O 2026-09-01 22:13:45 -07:00
somew1nd 582f112287 merge(video): integrate video analyzer module split 2026-09-01 21:46:40 -07:00
somew1nd 7cc20bbddc refactor(video): split video analyzer into engine modules 2026-09-01 21:46:07 -07:00
somew1nd dc619679ea merge(explorer): integrate explorer module split 2026-09-01 21:39:46 -07:00
somew1nd 972201bb4d refactor(explorer): split explorer into facade and phase modules 2026-09-01 21:39:17 -07:00
somew1nd 35fd0fe15d merge(validator): integrate validator module split 2026-09-01 21:35:12 -07:00
somew1nd b7dd8c6f4d refactor(validator): split validator responsibilities into modules 2026-09-01 21:34:39 -07:00
somew1nd 75fdbf4446 refactor(flash): split runner phases into named helpers 2026-09-01 21:31:51 -07:00
somew1nd 9cad5b690f fix(runtime): resolve liveness writeback and probe issues 2026-09-01 21:21:20 -07:00
somew1nd f24a6fd441 feat(checker): update verification defaults and persistence 2026-09-01 21:00:16 -07:00
somew1nd 17f734a473 merge(checker): integrate verification persistence 2026-09-01 20:57:10 -07:00
somew1nd 3145de181b feat(checker): persist verification findings across turns 2026-09-01 20:57:10 -07:00
somew1nd 4724e81741 merge(core): integrate routing and execution cleanup 2026-09-01 18:08:36 -07:00
somew1nd a4c28865f2 refactor(core): consolidate action and plan definitions 2026-09-01 18:07:45 -07:00
somew1nd 12c6d98aa5 merge(errors): integrate console and server exception handling cleanup 2026-09-01 17:58:28 -07:00
somew1nd c76c9bb7e8 refactor(errors): replace silent exception handling in console and server 2026-09-01 17:57:15 -07:00
somew1nd 98ee55f5d2 fix(memory): break transcript and flash compressor import cycle 2026-09-01 17:54:17 -07:00
somew1nd 0bcddbf1d7 merge(memory): integrate incremental transcript compaction 2026-09-01 17:47:16 -07:00
somew1nd f0a4045c49 docs(memory): add history module plans and reports 2026-09-01 17:46:56 -07:00
somew1nd 41ae386a3a feat(memory): add incremental transcript compaction 2026-09-01 17:46:44 -07:00
somew1nd 41deb48005 fix(cli): preserve invalid config when backup fails 2026-09-01 16:08:47 -07:00
somew1nd 8003cf39c2 merge(runtime): integrate trace store relocation 2026-09-01 15:59:35 -07:00
somew1nd 05459d040d refactor(runtime): relocate trace store and break dependency cycle 2026-09-01 15:58:50 -07:00
somew1nd e6c64412de merge(errors): integrate core exception handling cleanup 2026-09-01 15:55:22 -07:00
somew1nd 47e7cb6620 refactor(errors): replace silent exception handling in core packages 2026-09-01 15:54:49 -07:00
somew1nd 584bb2d09c refactor(device): retire remaining single-device state 2026-09-01 11:56:56 -07:00
somew1nd 5907a28e14 merge(runtime): reconcile task state and device cleanup 2026-09-01 11:56:17 -07:00
somew1nd 53e84a5145 merge(reliability): integrate classified retry handling 2026-09-01 11:52:29 -07:00
somew1nd 2acdeba8c5 feat(reliability): centralize retry failure classification 2026-09-01 11:51:29 -07:00
somew1nd 33c4a0d112 refactor(device): remove single-device state and test branches 2026-09-01 11:50:14 -07:00
somew1nd e9b821c0ec merge(runtime): integrate process and task state fixes 2026-09-01 11:39:56 -07:00
somew1nd 9cee112cd2 fix(runtime): unify process and task state handling 2026-09-01 11:35:23 -07:00
somew1nd 3cb3641b3b merge(core): integrate parallel architecture removal 2026-09-01 11:03:19 -07:00
somew1nd f68d4288e0 refactor(core): remove dead parallel agent architecture 2026-09-01 10:49:51 -07:00
somew1nd cbe8f4f0c6 feat: harden agent verification and runtime contracts
Introduce two-gate checker settlement, explicit graph visibility and checkpoints, structured LLM reliability, centralized action specifications, and corresponding tests and design documentation.
2026-08-31 20:42:24 -07:00
somew1nd ddfa420945 feat: enable remote SDK and resilient device orchestration 2026-08-30 00:41:07 -07:00
somew1nd 3cc711df51 Merge pull request #11 from google/feat/action-layer-concurrent-dispatch
feat: extract in-process MCP action layer, concurrent task dispatch, and spawn/reconcile hardening
2026-08-27 18:43:42 -07:00
weilinliu55 cbdca1497c feat: extract in-process MCP action layer, concurrent task dispatch, and spawn/reconcile hardening
- Extract device action execution into artemis/mcp action layer:
  typed ActionResult, capability manifest with startup validation,
  AdbActuator as the single physical implementation, in-memory
  ActionSession (replaces stdio subprocess MCP in validator), and
  McpActionExecutor preserving the legacy executor contract.
  adb_server keeps its external stdio/SSE surface unchanged and now
  reuses the actuator implementation; import-time side effects moved
  into configure_stdio_mode().
- Capability-gated prompt assembly (prompt_assembly.py): tool enums and
  teaching segments render per available backend tools; full-set output
  is byte-identical to the previous static text (locked by tests).
- Admin console task queue: serial worker replaced by a per-device
  concurrent dispatcher (ARTEMIS_CONCURRENCY_MODE=global restores
  serial semantics), per-session cancellation, strict device binding on
  enqueue, unified stdio piping with tee to trace stdout.log, and
  shutdown cleanup of all active runs. Fix _pid_exists exception order
  so PermissionError is treated as alive.
- mcp_server reliability: spawn watchdog kills runners stuck before
  interpreter startup and releases device reservations; task state
  reconcile uses psutil liveness, prefers runner-reported pids, and
  adds a 45s startup grace to stop false failure reports on Windows;
  conversation_id is now optional end-to-end; explicit device_serial is
  validated at submission.
- CLI install now writes ~/.claude/rules/artemis.md for Claude Code and
  migrates/removes the legacy CLAUDE.md injection block; ~/.claude.json
  is never rewritten when it fails to parse.
- Tests: Windows-portable stdio lifecycle and path assertions; new
  suites for action layer, prompt assembly, spawn watchdog, and task
  reconcile (895 passed, 3 skipped).
2026-08-27 18:25:27 -07:00
somew1nd 60312abbb0 fix(replay): unify step indexing, dual-index entity deduplication, and prevent step-4 start bug
- Backend: maintain _step_number_cache in DataEngine and include step_number in all step_updated SSE events (summary, thinking, execution result)
- Admin console: query unassigned trace step_ids in stepless_rows to prevent orphan traces from being lost
- Showcase UI: implement dual-indexed entity deduplication (by step_id and step_number) in extractStepReplayFrames to eliminate phantom ghost steps
- Showcase UI: filter visual screenshot steps before generating sequential 1-based frame numbers, preventing step-4 start and index shift bugs
- Showcase UI: add rawStepNumber and summary properties to StepReplayFrame
- Showcase UI: update FloatingVideoPlayerComponent session reset effect to only reset playback on sessionId change rather than on every stepFrames mutation
- Showcase UI: add stepSeekRequest signal and stepIndex parameter to AgentService.openVideoPlayer
- Unit tests: add Karma and Pytest unit tests verifying step 1 start, dual-indexing, and SSE step_number payloads
2026-08-27 11:03:47 -07:00
somew1nd 5f1ee18bc1 feat(core): consolidate config hub, unify daemon scheduling across all entrypoints, and fix step replay
- Unified configuration and paths under artemis.config as single source of truth
- Consolidated execution across CLI, SDK, MCP, and Admin Console to default to Artemis Daemon
- Fixed frontend step replay to preserve failure steps with proper sequential numbering
- Implemented task deduplication, debouncing, and multi-device lock isolation
- Added comprehensive end-to-end multi-port integration tests for live phone and emulator
2026-08-27 10:21:40 -07:00
somew1nd e984d17635 fix: isolate subprocess stdin and decouple startup to prevent MCP stdio deadlocks
- Set stdin=subprocess.DEVNULL across runtime, client, and utility subprocess calls to avoid hijacking the parent process's stdin.
- Run awake service initialization asynchronously on a daemon thread in MCP server startup.
- Redirect logger header printing to stderr to ensure stdio JSON-RPC purity.
- Add unit and lifecycle tests for MCP stdio protocol handshake and stdin isolation.
2026-08-26 23:26:10 -07:00
somew1nd 8fdecf23d7 feat: enhance daemon dispatching, device readiness fallback, and live streaming UI
- Admin Console & Task Queue: add cancellation, session startup progress endpoints, and support ingress metadata
- Diagnostics & Runtime: enhance ADB probe to prefer unlocked devices and synchronize with readiness engine
- MCP Server: dispatch tasks through Artemis Daemon scheduler with fallback to standalone runner, improve action overlays
- Showcase UI: improve session auto-selection with pinning support, render startup progress, and refine stream styling
- CLI & Makefile: expose server lifecycle commands (restart, stop, status)
- Configuration: ignore runtime server state file in .gitignore
2026-08-26 17:41:23 -07:00
somew1nd 57655266cc fix: resolve NameError by importing Any from typing in runtime, pipeline, and MCP servers 2026-08-26 16:03:56 -07:00
somew1nd c2c90a6378 feat: add multi-device concurrency, server lifecycle CLI, and unified execution stream
- Implement DevicePool and DeviceExecutionLock concurrency modes (per-device FIFO vs global serialization)
- Extend ArtemisClient SDK and CLI with explicit device targeting and concurrency strategy configuration
- Add server lifecycle management (artemis restart, stop, status) with cross-platform PID discovery
- Update MCP server tools to support multi-device dispatch, trace tagging, and per-device execution
- Enhance Showcase UI with step-by-step visual replay, playback speed controls, and device serial badges
- Add comprehensive unit test coverage and edge-case verification scripts
2026-08-26 15:53:14 -07:00
somew1nd a36a66ce6d feat: add step-by-step visual replay and harden process lifecycle
- UI: Implement dual-mode playback in FloatingVideoPlayer supporting video and step-by-step frame replay with scrub controls and auto-fallback
- Runtime: Prevent asyncio event loop hangs on Darwin and Linux by avoiding psutil.wait_procs on direct child processes
- Task Queue: Add worker exit watchdog and automatic recording recovery for completed or interrupted sessions
- Recording: Add ffmpeg ultrafast transcode fallback, shield recording finalization against cancellation, and handle on-the-fly MP4 conversion
- Docs: Polish README_CN styling and streamline flash runner agent prompt
2026-08-26 00:53:24 -07:00
somew1nd 06643e955b docs: streamline execution profiles and refocus roadmap
- Remove redundant head-to-head comparison section
- Simplify Flash vs. Pro profiles with precise latencies, benefits, and limitations
- Refocus roadmap on future milestones prioritizing Android Studio integration, followed by iOS
2026-08-25 21:21:42 -07:00
somew1nd bb16991f2c feat: harden video analysis and runtime resilience 2026-08-25 20:58:25 -07:00
somew1nd 5ada543a09 docs: standardize image embedding widths to 100% and streamline emoji usage 2026-08-25 17:09:10 -07:00