Skip to content

emulebb-rust Active Backlog

This index lists only open emulebb-rust work. GitHub Project fields and issue milestones own workflow state and roadmap placement; each linked Markdown item owns the durable engineering spec, constraints, acceptance criteria, and retained evidence.

Current Authority

The current production phase is Client. Every active client item below, including any newly accepted client item, is part of the hard gate that blocks Indexer implementation. Indexer then blocks Arr. Priority still orders work inside a phase; it does not allow a gated item to remain open when the next phase begins.

Stock/community eMule owns wire behavior. Maintained eMuleBB MFC owns only explicitly identified non-wire operational limits and disk/network I/O outcomes. Current aMule is evidence and optimization inspiration. Rust owns the internal async design. The machine-readable omission and extension registries in repos/emulebb-rust/policy remain authoritative for approved differences.

ID Policy

Rust item IDs use RUST-<CLASS>-<NNN> with BUG, FEAT, REF, or CI. Allocate against both active and historical item directories; IDs are never reused. Parked ideas are not backlog items until explicitly activated.

Client Gate — Major

ID Class Title
RUST-CI-006 Evidence Refresh current-head stock parity evidence and reconcile docs
RUST-CI-008 Evidence Prove Unicode and long-path large-library behavior across platforms
RUST-CI-009 Evidence Certify a Beta 3 candidate without publishing
RUST-CI-029 Evidence Test packet diagnostics without unsafe environment mutation
RUST-CI-030 Evidence Verify Rust FFI layouts against vendored C headers
RUST-CI-031 Evidence Build persisted full-tunnel protocol parity soaks
RUST-BUG-129 Bug Queue targeted re-hash after upload-time source invalidation
RUST-BUG-130 Bug Release search drain ownership when persistence fails
RUST-BUG-131 Bug Make category deletion and transfer remap atomic
RUST-BUG-132 Bug Own daemon background tasks through graceful shutdown
RUST-BUG-133 Bug Bound REST request bodies before metadata validation
RUST-BUG-134 Bug Own MiniUPnPc URL allocations across fallible discovery
RUST-REF-005 Refactor Decompose oversized Rust modules by responsibility
RUST-REF-006 Refactor Consolidate Rust NAT and runtime safety internals
RUST-REF-008 Refactor Reduce large-library metadata and scan I/O amplification
RUST-REF-009 Refactor Use native storage domains for cross-platform library scheduling
RUST-REF-010 Refactor Bound watcher reconciliation I/O for large shared libraries
RUST-REF-016 Refactor Move blocking SQLite work behind bounded async persistence

Client Gate — Minor

ID Class Title
RUST-CI-028 Evidence Make Windows manifest embedding target-aware
RUST-BUG-135 Bug Return errors for Kad wire-count overflow
RUST-BUG-136 Bug Bound transfer deletion marker validation reads
RUST-FEAT-025 Feature Validate conformant duplicate-block rejection diagnostics
RUST-FEAT-038 Feature Add current-aMule-style endgame source takeover
RUST-FEAT-039 Feature Size ED2K request depth from measured RTT and bandwidth
RUST-FEAT-040 Feature Carry ED2K and Kad search metadata end to end
RUST-FEAT-048 Feature Use sparse part files without weakening capacity reservations
RUST-FEAT-054 Feature Prioritize nightly eMuleBB Rust public presence
RUST-REF-007 Refactor Review Rust upload hot-path performance candidates
RUST-REF-011 Refactor Consolidate duplicated ED2K opcode and capability constants

Indexer Gate

Production implementation remains blocked by every Client Gate row.

ID Class Title
RUST-FEAT-002 Feature Indexer — autonomous Kad/eD2K observation index

Arr Gate

Production implementation remains blocked by RUST-FEAT-002 and the complete Indexer gate.

ID Class Title
RUST-FEAT-004 Feature Arr integration — Torznab and qBittorrent compatibility adapters