For agents, on top of README.md, which they read first.

  • One protocol layer, one retry policy: jev-protocol and jev-client. A second copy of either in a consumer, or a retry loop in jev-http, is the duplication this repo exists to remove.
  • The split is the I/O line. Add a crate only when a consumer needs one part without the rest, or the parts differ in dependencies or platform.
  • Consumers pin a commit of this repo (reindeer git dependency, or a git dependency in Cargo); a change here reaches them when they move the pin.
  • Not pushed anywhere: the remote, when there is one, is the private deizel/jevcrates.