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
This commit is contained in:
somew1nd committed 2026-08-27 10:21:40 -07:00
1 parent e984d17635
commit 5f1ee18bc1
38 files changed
+1426 -203

No files matched your search

+19
View File
@@ -116,3 +116,22 @@ def test_submit_task_to_daemon():
assert data["ingress"] == "mcp"
assert data["conversation_id"] == "conv-123"
def test_stop_task_on_daemon():
from artemis.runtime.daemon_client import stop_task_on_daemon
mock_resp = MagicMock()
mock_resp.status = 200
mock_resp.read.return_value = b'{"status": "stopped", "session_id": "test-sess-stop"}'
mock_resp.__enter__.return_value = mock_resp
with patch("urllib.request.urlopen", return_value=mock_resp) as mock_urlopen:
assert stop_task_on_daemon("test-sess-stop") is True
req = mock_urlopen.call_args[0][0]
data = json.loads(req.data.decode("utf-8"))
assert data["session_id"] == "test-sess-stop"
mock_resp.read.return_value = b'{"status": "no_running_task"}'
with patch("urllib.request.urlopen", return_value=mock_resp):
assert stop_task_on_daemon("non-existent-sess") is False