Clarify the provider client stream and availability contract #60

Open
opened 2026-10-04 17:44:29 +00:00 by kayg · 0 comments
Owner

Problem and evidence

HostResourceClient declares availability and open at crates/host-resource-client/src/lib.rs:170-182, but the remote implementation returns Unsupported at crates/server/src/provider_tunnel.rs:391 and :478. Current container Logs/Exec work through the existing typed WebSocket OPEN path, so these unsupported trait methods do not mean that the working channel path is broken.

Recommendation

Make the port boundary explicit: either remove/defer methods that are not routed by this adapter, or document and test the transport-specific path that owns stream OPEN and availability. Keep RPC command/reply separate from the existing credit-controlled channel protocol unless a scheduled provider needs a different port.

Payoff and estimate

Prevents callers and reviews from mistaking an intentionally separate stream path for missing remote parity. Estimate: 0.5–1 engineering day.

Priority: Now (≤1 day).

2026-10-04 owner decisions: Matches the single custom WebSocket tunnel and one shared event route. This clarification must not introduce a second stream transport. Related: #49.

Report: arch-review report
Source: arch-review 2026-10-04

## Problem and evidence `HostResourceClient` declares `availability` and `open` at `crates/host-resource-client/src/lib.rs:170-182`, but the remote implementation returns `Unsupported` at `crates/server/src/provider_tunnel.rs:391` and `:478`. Current container Logs/Exec work through the existing typed WebSocket OPEN path, so these unsupported trait methods do not mean that the working channel path is broken. ## Recommendation Make the port boundary explicit: either remove/defer methods that are not routed by this adapter, or document and test the transport-specific path that owns stream OPEN and availability. Keep RPC command/reply separate from the existing credit-controlled channel protocol unless a scheduled provider needs a different port. ## Payoff and estimate Prevents callers and reviews from mistaking an intentionally separate stream path for missing remote parity. Estimate: 0.5–1 engineering day. **Priority:** Now (≤1 day). **2026-10-04 owner decisions:** Matches the single custom WebSocket tunnel and one shared event route. This clarification must not introduce a second stream transport. Related: #49. **Report:** [arch-review report](/mnt/hdd/infraternal/jobs/arch-review/report.md) **Source: arch-review 2026-10-04**
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
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
kayg/infraternal-v0#60
No description provided.