yoi/crates/client
Hare 05df656616
merge: allow SpawnPod child cwd
# Conflicts:
#	crates/pod/src/pod.rs
2026-06-08 17:15:05 +09:00
..
src merge: allow SpawnPod child cwd 2026-06-08 17:15:05 +09:00
Cargo.toml feat: add ticket role pod launcher 2026-06-06 04:18:36 +09:00
README.md docs: reorganize developer documentation 2026-06-01 20:59:32 +09:00

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