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

  • No rules engine here, and no dependency on one. rete lives in rustcrates and must not name Jev; this crate must not name rete. A host joins them. Adding either dependency couples two repositories that are pinned separately by every project.
  • No I/O, no async, no client. jev-protocol is the only dependency. Sending is the host's, with jev-worker or jev-http.
  • learn stays all or nothing. A partial result would let a host record some facts of a batch and run rules on them while the rest are missing.
  • A fact's question id is the join. wanted dedupes by it and learn finds the answer by it; a Source whose question_id differs between the two calls for the same fact teaches nothing (Unlearned::NotAsked).
  • src/ has no chapter of its own: two files, described in the README.