Skip to content

feat(automation): add daemon-backed Automation builder and runtime - #487

Merged
Milhouszhang merged 6 commits into
berabuddies:masterfrom
gloriazhang99:feat/automation-implementation
Jul 7, 2026
Merged

feat(automation): add daemon-backed Automation builder and runtime#487
Milhouszhang merged 6 commits into
berabuddies:masterfrom
gloriazhang99:feat/automation-implementation

Conversation

@gloriazhang99

Copy link
Copy Markdown
Contributor

Summary

Adds product-level Puffer Automations backed by daemon-owned storage, compile/deploy runtime paths, and a daemon-backed Desktop Automation builder.

  • Adds puffer-automation for user-facing Automation specs, canonical hashing, validation, persisted records, runtime state, and compile plans.
  • Adds RunAutomation binding/action plumbing so connector-triggered events can run stable Puffer Automation ids without exposing AgentEnv workflow ids.
  • Adds daemon RPCs for Automation list/get/save/delete, catalog, compile/deploy, preview sync, preview run, and run history.
  • Wires Automation execution to local or AgentEnv Cloud runtime based on per-Automation run_location, including transient local runtime startup and deployed preview fallback for local runtimes without in-memory execution support.
  • Replaces the old Workflows desktop entry with a daemon-backed Automation UI and Automation Runtime settings pane.
  • Removes legacy Workflows UI/screenshot tests and covers the Automation flow through the Playwright fake daemon.
  • Adds component update specs for the new Automation contracts.

Test plan

  • git diff --check
  • cargo test -p puffer-automation
  • cargo test -p puffer-subscriptions run_automation
  • cargo test -p puffer-cli automation -- --test-threads=1
  • cargo test -p puffer-cli workflow_local_runtime
  • cargo test -p puffer-cli workflow_runtime
  • PUFFER_DESKTOP_TEST_PORT=1431 npx playwright test tests/automation-ui.spec.ts tests/settings-ui.spec.ts -g "[Aa]utomation|Workflows runtime"
  • scripts/automation-e2e-smoke.sh --local

gloriazhang99 and others added 6 commits July 3, 2026 01:35
# Conflicts:
#	apps/puffer-desktop/tests/support/fakeDaemon.ts
The assert_ne! call in workflow_local_runtime_tests.rs exceeded the line
width; rustfmt wants it wrapped across lines. This was the sole cause of
the failing Rustfmt step in both the "Rust (build + test)" and "Desktop
backend (test + clippy)" CI jobs (which gates clippy behind it).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Milhouszhang
Milhouszhang merged commit 6fd68a3 into berabuddies:master Jul 7, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants