p2p-overlord eMule Agent¶
p2p-overlord is a separate Rust/Node product in the eMuleBB organization for
headless, server-oriented P2P metadata and network-agent work. Its current eMule
runtime surface is overlord-agent-emule, a Rust agent for Kad and ED2K work in
the p2p-overlord-agents repository.
This page is the eMuleBB documentation entrypoint for that agent. The detailed protocol notes remain in the p2p-overlord source repositories.
Product Boundary¶
p2p-overlord is a peer product, not an eMuleBB desktop-app subsystem. Integration with the eMuleBB workspace means shared contracts, shared campaign patterns, shared deterministic services where appropriate, and explicit repository topology. It does not mean merging the Rust agent into the native Windows desktop app.
The active p2p-overlord repositories are:
| Repository | Role |
|---|---|
p2p-overlord-agents |
Rust protocol agents and protocol crates. The current runtime agent is overlord-agent-emule. |
p2p-overlord-be |
Coordinator, public/backend API, SvelteKit UI, Prisma schema, PostgreSQL helper, and product docs. |
p2p-overlord-tooling |
Scenario manifests, parity runners, harness orchestration, reports, and quality guards. |
The eMuleBB desktop app remains the release product for Windows eMule users. p2p-overlord remains the headless agent and coordinator product for protocol parity, metadata indexing, scenario evidence, and future multi-network work.
Current eMule Agent Surface¶
overlord-agent-emule is the current p2p-overlord runtime package for Kad and
ED2K. The agent-side Rust workspace also contains shared runtime, NAT, Kad, ED2K,
MiniUPnP wrapper, and developer-helper crates.
The active protocol target is stock-compatible eMule v0.72a Kad and ED2K
behavior where interoperability or observable traffic shape depends on it. The
standing protocol exception is defunct ED2K PeerCache support.
Current source docs:
Shared eMuleBB Contracts¶
docs/rest/REST-API-OPENAPI.yaml remains the canonical eMuleBB-compatible REST
contract. If a p2p-overlord implementation advertises an eMuleBB-compatible
/api/v1 surface, it must prove the claimed subset against that OpenAPI source
instead of defining a parallel contract.
Deterministic ED2K server scenarios should use the active eMuleBB
goed2k-server fork. Historical
p2p-overlord ED2K server lineage is reference material only.
For the full product-family boundary and implementation order, use the p2p-overlord Product-Family Integration Plan.
Operating Notes¶
Use the repo-local AGENTS.md files before making code changes in the
p2p-overlord repositories. In the canonical eMuleBB workspace, the shared policy
still starts at repos/emulebb-tooling/docs/WORKSPACE-POLICY.md.
Common source-level quality gates are:
| Repo | Gate |
|---|---|
p2p-overlord-agents |
cargo fmt --all --check and the repo's strict cargo clippy command |
p2p-overlord-be |
npm run quality from the coordinator package |
p2p-overlord-tooling |
python -m overlord_tooling quality-baseline |
Live-network p2p-overlord runs are opt-in and must follow the workspace live-test policy. Deterministic local scenarios should be preferred for repeatable evidence.