Skip to content

Bundle keyframes into event_detail; recover stalled compiler agent#59

Merged
softpudding merged 5 commits intomainfrom
feat/recording-dnd-slider
Apr 14, 2026
Merged

Bundle keyframes into event_detail; recover stalled compiler agent#59
softpudding merged 5 commits intomainfrom
feat/recording-dnd-slider

Conversation

@softpudding
Copy link
Copy Markdown
Owner

Summary

  • Recording keyframes now match runtime capture quality (1920x1080 jpeg) and include an after-action keyframe for every action event, so the compiler sees both before and after page state.
  • TraceViewerTool drops the separate keyframe command — event_detail returns an image_urls list (before + after) inline with the event JSON. Prompt and agent-sdk rev updated to match.
  • Compiler agent sessions are no longer torn down when the agent stops without calling ask_user or submit_workflow. _collect_result now returns status="stalled" with the agent's last message, and the Compile Routine UI reuses the question panel to let the user send a follow-up that resumes the loop via /compile/answer.
  • Gitignore Claude Code local state (.claude/, CLAUDE.local.md).

Test plan

  • bun test in extension/ (191 pass)
  • uv run pytest server/tests/unit/test_compiler_agent_finalize.py server/tests/unit/test_base_classes.py (24 pass)
  • Record a new trace, compile through the UI, confirm event_detail shows both before/after keyframes inline
  • Answer an ask_user question vaguely, confirm the stalled-agent follow-up panel appears and /compile/answer resumes the loop

🤖 Generated with Claude Code

softpudding and others added 5 commits April 13, 2026 22:59
Recording: capture drag-and-drop operations via HTML5 drag events and
pointer-distance heuristic for non-HTML5 DnD libraries; detect slider
elements in change handler and emit set_slider events with value/min/max;
suppress noisy range input events and post-drag click events.

Server: add drag_and_drop and set_slider step builders and normalization
handlers in workflow_compiler; update trace viewer to display DnD
source/target and slider value metadata.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…led agent

Recording keyframes now match the runtime capture quality (1920x1080
jpeg) and include an after-action keyframe for click/change/submit/
drag_and_drop/set_slider events, giving the compiler agent both
before and after page states for every action.

The compiler's TraceViewerTool drops the separate keyframe command;
event_detail now returns an image_urls list (before + after when
present) along with the full event JSON, and the visualizer + SSE
pipeline surface every URL to the frontend. The compiler prompt is
bumped via the agent-sdk rev to describe the new shape.

When the agent stops without calling ask_user or submit_workflow
(e.g. it replies in prose to a vague user answer), _collect_result
keeps the session alive and returns status="stalled" with the last
agent message. The Compile Routine UI reuses the question panel to
prompt the user for a follow-up so /compile/answer can resume the
loop, instead of leaving the session stranded.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@softpudding softpudding merged commit 5a72181 into main Apr 14, 2026
4 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.

1 participant