Skip to content

Run tweak generation in the background - #95

Merged
jamesrochabrun merged 3 commits into
mainfrom
agent/background-tweak-agent
Jul 11, 2026
Merged

Run tweak generation in the background#95
jamesrochabrun merged 3 commits into
mainfrom
agent/background-tweak-agent

Conversation

@jamesrochabrun

@jamesrochabrun jamesrochabrun commented Jul 10, 2026

Copy link
Copy Markdown
Owner

What changed

  • routes Ideas and free-form tweak requests through a dedicated ephemeral agent instead of the visible chat session
  • supports the active Codex, Claude, or Local / API provider without changing the persisted provider default
  • gives the agent a focused single-file workspace and reduced instructions to avoid unrelated exploration and server work
  • applies the generated file only when the live source still matches the starting snapshot
  • reports progress, no-change failures, and concurrent-edit conflicts in the Tweaks popover
  • preserves existing controls during reloads and clears them only when the loaded page confirms its schema is gone
  • pins Canvas to exact release 1.3.1

Why

Tweak generation previously entered the main conversation, blocking chat input for the duration of a relatively slow agent turn. Running a second agent directly in the project would unblock the UI but introduce a file race with the main chat.

The isolated transaction keeps the main conversation usable and prevents either agent from silently overwriting a newer edit.

User impact

Users can continue chatting while tweak controls are generated. If the same design file changes during generation, Easel preserves the newer file and asks the user to submit the tweak again.

Validation

  • Canvas: swift test (160 tests passed)
  • EaselWebInspector: swift test (204 tests passed against the remote Canvas revision)
  • EaselChat: swift test --filter TweakWorkspaceCoordinatorTests (3 tests passed; target compiled)
  • EaselClaudeCodeUI: ephemeral-provider unit test passed
  • full Easel app build succeeded after repairing missing local Sparkle and CodeEditLanguages package artifacts

Dependency

Uses the released Canvas 1.3.1 package.

@jamesrochabrun
jamesrochabrun marked this pull request as ready for review July 11, 2026 01:19
@jamesrochabrun
jamesrochabrun merged commit 8a84529 into main Jul 11, 2026
1 check passed
@jamesrochabrun
jamesrochabrun deleted the agent/background-tweak-agent branch July 11, 2026 01:19
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.

1 participant