fix(I199): rename InteractionKind variants to spec-normative names #3

Merged
buildagent merged 1 commit from fix/i199-interactionkind-rename into main 2026-05-28 11:06:33 +02:00
Member

Summary

HIGH-5 from the I199 part 2 ultradeep review. Spec 23 §3:37-46 + spec 11 §10.3:747 + spec 11 §10.9:961 all normatively specify Unary / ServerStream / ClientStream / BidiStream. The schema shipped live / streamUpstream / streamDownstream / streamBidi.

Semantic mapping (wire ordinals preserved across the rename so in-flight frames stay decodable):

  • liveunary (@0 unchanged)
  • streamUpstreamclientStream (@1 unchanged — semantically "client streams")
  • streamDownstreamserverStream (@2 unchanged — semantically "server streams")
  • streamBidibidiStream (@3 unchanged)

Pre-1.0; no compat shim per the host's feedback_no_premature_compat.

Lockstep

Mirror branches:

  • h-dv/ixt-sdk-rust fix/i199-interactionkind-rename
  • h-dv/ixt fix/i199-part2-criticals-highs (consumes this pin)

Test plan

  • Schema compiles cleanly
  • Host runtime (ixt-core) regenerates Cap'n Proto bindings with Unary/ClientStream/ServerStream/BidiStream from this schema
  • CI workflows green across superproject + Rust SDK

🤖 Generated with Claude Code

## Summary HIGH-5 from the I199 part 2 ultradeep review. Spec 23 §3:37-46 + spec 11 §10.3:747 + spec 11 §10.9:961 all normatively specify `Unary` / `ServerStream` / `ClientStream` / `BidiStream`. The schema shipped `live` / `streamUpstream` / `streamDownstream` / `streamBidi`. Semantic mapping (wire ordinals preserved across the rename so in-flight frames stay decodable): * `live` → `unary` (@0 unchanged) * `streamUpstream` → `clientStream` (@1 unchanged — semantically "client streams") * `streamDownstream` → `serverStream` (@2 unchanged — semantically "server streams") * `streamBidi` → `bidiStream` (@3 unchanged) Pre-1.0; no compat shim per the host's `feedback_no_premature_compat`. ## Lockstep Mirror branches: - h-dv/ixt-sdk-rust `fix/i199-interactionkind-rename` - h-dv/ixt `fix/i199-part2-criticals-highs` (consumes this pin) ## Test plan - [x] Schema compiles cleanly - [x] Host runtime (ixt-core) regenerates Cap'n Proto bindings with `Unary`/`ClientStream`/`ServerStream`/`BidiStream` from this schema - [ ] CI workflows green across superproject + Rust SDK 🤖 Generated with [Claude Code](https://claude.com/claude-code)
HIGH-5 from the I199 part 2 ultradeep review. Spec 23 §3:37-46 +
spec 11 §10.3:747 + spec 11 §10.9:961 normatively specify
Unary/ServerStream/ClientStream/BidiStream. Code shipped
Live/StreamUpstream/StreamDownstream/StreamBidi.

Semantic mapping (wire ordinals preserved for forward-byte-compat of
mid-flight frames; ordinal order reflects the pre-rename ClientStream
@1 / ServerStream @2 slots):
* Live              → Unary
* StreamUpstream    → ClientStream    (client streams; server replies once)
* StreamDownstream  → ServerStream    (server streams; client sends once)
* StreamBidi        → BidiStream

Pre-1.0; no compat shim per feedback_no_premature_compat.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
h-dv/ixt-public!3
No description provided.