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¶
- Product scope and compatibility boundaries:
RELEASE-SCOPE - Current architecture:
architecture - Forward suite architecture:
integrated-suite - Forward REST contract:
api/README - Code quality and test placement:
CODE-QUALITY - Backlog lifecycle:
BACKLOG-PROCESS - Closed item records:
history/items - GitHub source and issues: https://github.com/emulebb/emulebb-rust
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 |