Skip to content

ci(zed-e2e): bump ZED_COMMIT for Phase 16 counter fix - #2427

Merged
lukemarsden merged 1 commit into
mainfrom
fix/e2e-phase16-exclude-phase10-injection
May 14, 2026
Merged

ci(zed-e2e): bump ZED_COMMIT for Phase 16 counter fix#2427
lukemarsden merged 1 commit into
mainfrom
fix/e2e-phase16-exclude-phase10-injection

Conversation

@lukemarsden

@lukemarsden lukemarsden commented May 14, 2026

Copy link
Copy Markdown
Collaborator

Summary

Root cause

Phase 10 of the E2E test injects a synthetic user_created_thread via srv.ProcessSyncEvent(...). That call goes through the same processExternalAgentSyncMessage path as real WebSocket-delivered events, so it fires the test driver's syncEventCallbackspontaneousUserCreatedThreadCount++. The Phase 16 assertion at the end of the round then sees one event and fails with:

Phase 16 (deferred-emit regression): received 1 spontaneous user_created_thread event(s) — Zed agent panel's draft ConversationView is emitting UserCreatedThread eagerly instead of deferring until first user message.

Both rounds (zed-agent and claude) fail with exactly 1 phantom event, and the acp_thread_id matches the synthetic format (user-thread-{agent}-{nanos}) generated only by the test driver in runPhase10. The underlying Zed deferred-emit fix from helixml/zed#56 is in place and working — this is purely a test-side bookkeeping bug.

Fix

In the Zed PR: filter out Phase 10's known synthetic acp_thread_id from the Phase 16 counter by exact match. Zed only ever emits ACP UUIDs, never user-thread-*, so the exclusion cannot mask a real regression — any other user_created_thread event still fails Phase 16.

Test plan

  • Verified locally: cd ~/pm/zed/crates/external_websocket_sync/e2e-test && E2E_AGENTS="zed-agent,claude" ./run_docker_e2e.sh — both rounds PASSED, Phase 16 reports 0 spontaneous user_created_thread events — Fix 1a deferred-emit working as expected.
  • CI green on this PR.

🤖 Generated with Claude Code

Picks up helixml/zed test(e2e) fix that excludes Phase 10's own
ProcessSyncEvent-injected user_created_thread from the Phase 16
deferred-emit counter. Both rounds (zed-agent + claude) currently
fail on main because the assertion was counting the injection as
a "spontaneous" event — the underlying Zed deferred-emit fix from
PR #56 is in place and working.

Verified locally with E2E_AGENTS="zed-agent,claude" ./run_docker_e2e.sh
— both rounds PASSED, Phase 16 reports 0 spontaneous events.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@lukemarsden
lukemarsden merged commit 2f27b8a into main May 14, 2026
1 check passed
@lukemarsden
lukemarsden deleted the fix/e2e-phase16-exclude-phase10-injection branch May 14, 2026 05:29
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