Skip to content

Hotfix: unify agent protocol major — v0.6.0 re-release#9

Merged
moreih29 merged 1 commit into
mainfrom
develop
Jun 5, 2026
Merged

Hotfix: unify agent protocol major — v0.6.0 re-release#9
moreih29 merged 1 commit into
mainfrom
develop

Conversation

@moreih29
Copy link
Copy Markdown
Owner

@moreih29 moreih29 commented Jun 5, 2026

Summary

v0.6.0 첫 발행본은 프로토콜 major가 3곳에 독립 사본으로 존재한 채 한 곳(로컬 채널 envelope.ts = "1")이 누락되어 모든 로컬 워크스페이스의 Ready 핸드셰이크가 실패했다. 릴리즈/태그 철회 후 본 수정으로 재발행한다.

Fix

  • shared/agent/envelope.tsAGENT_PROTOCOL_VERSION을 단일 진실원으로 승격 ("2")
  • SSH 채널 상수·pipe 폴백·build-agent manifest가 전부 이를 alias
  • cross-language 드리프트 가드: internal/proto/proto.go를 직접 읽어 TS 상수와 대조하는 테스트 — 한쪽만 범프하면 CI 실패
  • 테스트 픽스처 버전 리터럴 제거 (버전 무관화)

Verification

  • 실바이너리 stdio 기동 → protocolVersion=2 ↔ 로컬 채널 기대 2 일치
  • 사용자 dev 앱에서 로컬 워크스페이스 + SSH 워크스페이스 모두 정상 확인
  • 3098 tests 0 fail, typecheck·lint clean

🤖 Generated with Claude Code

…cal-channel brick

v0.6.0 shipped with the protocol major living in three independent copies:
Go proto.go ProtocolVersion ("2"), the SSH channel's
REMOTE_AGENT_PROTOCOL_MAJOR ("2"), and the local channel's
AGENT_PROTOCOL_VERSION in shared/agent/envelope.ts — still "1". Every
local workspace failed the Ready handshake with
server.protocol-version-mismatch and the release was pulled. The SSH-only
E2E never exercised the local channel, so the drift shipped.

envelope.ts is now THE single source of truth: the SSH constant and the
pipe's fallback alias it, build-agent.ts manifest metadata imports it, and
a new cross-language sync test reads proto.go directly so any future
one-sided bump fails CI. Test fixtures emit ready frames derived from the
constant instead of literals, and the validation-semantics suite is
version-agnostic.

Verified against the real binary: dist agent (stdio mode) advertises
protocolVersion=2, local channel expectation now matches.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
@moreih29 moreih29 merged commit 4e92434 into main Jun 5, 2026
1 check 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