feat(sessions): wire form types for client/daemon session creation communication - #443
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (7)
📝 WalkthroughWalkthroughIntroduces a complete wire-protocol layer for multi-round client/daemon session creation. Adds JSON-serializable primitive types, a ChangesMulti-round session RPC wire protocol
Sequence Diagram(s)sequenceDiagram
participant Client
participant minimald-rpc
participant Daemon
rect rgba(70, 130, 180, 0.5)
note over Client,Daemon: Session open
Client->>minimald-rpc: SessionCreate (SessionCreateRequest)
minimald-rpc->>Daemon: forward via OneshotSshRpc
Daemon-->>Client: Errorable<SessionStep::Round(ContributionResponse)>
end
rect rgba(60, 179, 113, 0.5)
note over Client,Daemon: Verdict rounds
loop until ContributionResponse.complete == true
Client->>minimald-rpc: SubmitVerdict (ContributionVerdict)
minimald-rpc->>Daemon: forward via OneshotSshRpc
Daemon-->>Client: Errorable<SessionStep::Round> or SessionStep::Fault(WireError)
end
end
rect rgba(205, 92, 92, 0.5)
note over Client,Daemon: Abort (optional)
Client->>minimald-rpc: SessionAbort (Abort + AbortReason)
minimald-rpc->>Daemon: forward via OneshotSshRpc
Daemon-->>Client: Errorable<()>
end
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
Comment |
Basically title. Having separate JSON friendly primitive types for the communication between the daemon and client seemed like the safest way to go. I have a separate
SessionCreatestruct mostly to guard against type-related regressions until this gets combined intoCreateSession.Summary by CodeRabbit