1@README.md
23- One protocol layer, one retry policy: `jev-protocol` and `jev-client`.
4 A second copy of either in a consumer, or a retry loop in `jev-http` or
5 `jev-worker`, is the duplication this repo exists to remove.
6- The split is the I/O line. Add a crate only when a consumer needs one
7 part without the rest, or the parts differ in dependencies or platform.
8- Consumers carry this repo as a git submodule (`third-party/jevcrates`;
9 jevsnes at `third-party/rust/jevcrates`, built through reindeer) and depend
10 on its crates by path. A change here reaches a consumer when it moves its
11 submodule pin. Work in `~/jevcrates`, not in a consumer's submodule checkout.
12- The remote is the private `deizel/jevcrates`. Pushing still needs the
13 owner's yes each time.
14- Every README is a chapter of lmjtfy's book (Chapter 16 is this root;
15 Chapter 21½ is `jev-mock/src`), ending in a Previous / Up / Next line in
16 the reading order root, jev-protocol, jev-client, jev-worker, jev-http,
17 jev-mock, each crate's `src/` (and its subfolders, then `tests/`) right
18 after the crate. A new folder gets its README and CLAUDE.md, and its
19 neighbours' navigation lines move with it.