RUST-CI-002 - Rationalize and close the core stock-eMule parity evidence gate¶
Summary¶
Close the emulebb-rust core client parity lane against stock eMule wire and core behavior with one authoritative, reproducible evidence gate. emulebb-mfc can remain a frozen comparison witness, but it is no longer the product parity target. The close target is core eD2K/Kad client behavior, deterministic local cross-client interoperation, and a manual public-network smoke witness. It is not the full Phase 0 product gate: REST API evolution, indexer, Arr/Torznab, Docker, SSE, and the automated tunnel-down leak test remain separately tracked.
This item exists to prevent the parity closure decision from being spread across ad hoc reports. It owns the close checklist, evidence freshness rule, and test rationalization.
Current State¶
- The Rust parity bug train through
RUST-BUG-099is done onmain. - Deterministic local evidence under the retained overnight and local parity reports is green but older than the latest June 19 parity fixes.
- The latest public hide.me live-wire run passed after
RUST-BUG-098; it is a useful smoke witness, not a substitute for the automated leak-test gate. - Open or in-progress owners remain:
RUST-BUG-001,RUST-FEAT-001,RUST-FEAT-003, andRUST-FEAT-005. - Forward product work remains in
RUST-FEAT-002,RUST-FEAT-004,RUST-FEAT-006, andRUST-FEAT-007; those are not blockers for core parity closure.
Intended Shape¶
Use emulebb-rust-overnight as the authoritative core parity close campaign.
The regular/manual campaign can stay informational unless its manual evidence
rows are converted to JSON-backed evidence and evaluated consistently.
The close gate is:
python -m emule_workspace workspace-statuspython -m emule_workspace validatepython tools\check_rust_client_policy.pyfromrepos\emulebb-rust- Build the MFC release and tracing-harness executables through
repos\emulebb-buildorchestration. python -m emule_workspace test release-campaign --campaign emulebb-rust-overnight --execute --continue-on-failure- Targeted UDP reask proof:
python scripts\emulebb-rust-reask-cross-client.py --lan-bind-addr %X_LOCAL_IP% - Optional long-form byte-level confirmation with
emulebb-rust-reask-capture-emulebb.py. - Optional public hide.me live-wire smoke using operator-local inputs. Accept it only when both obfuscation modes pass with VPN-bound P2P, eD2K/Kad connectivity, packet diagnostics, source-exchange evidence, and a completed download.
Scope Constraints¶
- Core parity closure does not claim full Phase 0 completion.
- Public live-wire remains manual and nonblocking until
RUST-FEAT-005adds the automated tunnel-down leak-test. - emulebb-mfc source-seam, community/reference parity, VM proof, and public-network live proof stay out of the forward suite gate unless explicitly requested.
- All public-network proof must follow the workspace live-test network policy and must not commit operator-owned live search terms, media names, private addresses, or machine paths.
Acceptance Criteria¶
- [ ] Overnight campaign evidence is regenerated after the current Rust HEAD and current MFC/tracing-harness build inputs.
- [ ] The retained campaign result records the Rust overnight local client pytest proof, local ED2K protocol-combination matrix, private parity modules, Rust/eMuleBB bidirectional transfer, Rust/Rust bidirectional transfer, Rust/aMule bidirectional transfer, total parity audit, and REST contract conformance as passed.
- [ ] The close decision explicitly states that
RUST-FEAT-002,RUST-FEAT-004,RUST-FEAT-006, andRUST-FEAT-007are forward Phase 0 or later work, not core stock-eMule parity blockers. - [ ]
RUST-FEAT-005remains open and release-blocking for the suite safety claim until the dynamic tunnel-down leak-test exists and is blocking. - [ ] The regular release campaign is either documented as informational or its manual rows are converted to JSON evidence so it cannot contradict the authoritative overnight gate.
Validation¶
Required for closing this item:
python -m emule_workspace workspace-statuspython -m emule_workspace validatepython tools\check_rust_client_policy.pypython -m emule_workspace build app --variant main --config Release --platform x64 --build-output-mode ErrorsOnlypython -m emule_workspace build app --variant tracing-harness --config Release --platform x64 --build-output-mode ErrorsOnlypython -m emule_workspace test release-campaign --campaign emulebb-rust-overnight --execute --continue-on-failure
Optional smoke:
python scripts\rust-live-wire-hideme.py --inputs live-wire-inputs.local.json
Notes¶
- This item is local because it records the evidence gate and close decision rather than a product feature. If the gate needs public workflow visibility, promote it to a GitHub-tracked CI item before closure.
- Related owners:
RUST-FEAT-001for UDP reask live validation,RUST-FEAT-003for VPN egress pinning validation,RUST-FEAT-005for dynamic no-leak automation, andRUST-BUG-001for isolated Kad swarm CI debt.