31 lines
930 B
Markdown
31 lines
930 B
Markdown
# client
|
|
|
|
## Role
|
|
|
|
`client` contains reusable socket-client and runtime-command mechanics for talking to Pods from CLI/TUI code.
|
|
|
|
## Boundaries
|
|
|
|
Owns:
|
|
|
|
- one-shot Pod socket client behavior
|
|
- request/reply delivery mechanics
|
|
- runtime command construction below the product façade
|
|
- shared attach/status probing helpers used by higher layers
|
|
|
|
Does not own:
|
|
|
|
- product command names (`yoi`)
|
|
- Pod state authority (`pod`, `pod-store`, `session-store`)
|
|
- UI rendering (`tui`)
|
|
- Worker turn semantics (`llm-worker`)
|
|
|
|
## Design notes
|
|
|
|
The client boundary lets `tui` and `yoi` share Pod communication without making library crates depend on the product binary. Socket clients should drain connect-time snapshot/alert traffic before sending a method or deciding status.
|
|
|
|
## See also
|
|
|
|
- [`../../docs/design/pod-session-state.md`](../../docs/design/pod-session-state.md)
|
|
- [`../../docs/design/overview.md`](../../docs/design/overview.md)
|