Beta 0.7.3 download and persistence replay gate
Summary¶
Prove that download state, part-file state, direct-download state, and metadata persistence remain durable after Broadband changes. This gate focuses on user data safety and restart behavior.
Acceptance Criteria¶
- [x] Part-file save, backup, promotion, and restart probes pass.
- [x]
known.met,known2.met,server.met, cancelled-file metadata, and Kad preference snapshots survive failure and restart probes. - [x] Direct-download cancellation, timeout, close-time failure, and owner shutdown behavior are replayed.
- [x] Download completion hook runs only when expected and reports failures.
- [x] Pause, resume, delete, rename, and majority-name display do not corrupt download rows or persistence.
- [x] Community-compatible paths remain unchanged where Broadband features are disabled.
Validation¶
python -m emule_workspace validate- Focused persistence and download tests through supported
python -m emule_workspacetest commands. - Release x64 smoke for completion-hook and direct-download behavior.
Completion Evidence¶
Closed on 2026-05-09 with the following Beta 0.7.3 replay evidence:
python -m emule_workspace test all --config Release --platform x64passed with native coverage artifactEMULE_WORKSPACE_ROOT\repos\emulebb-build-tests\reports\native-coverage\20260509-152156-eMulebb-workspace-v0.72a-eMule-main-x64-Release. The Release parity suite passed501/501cases and the web API suite passed72/72cases.- The native parity run includes focused part-file durability cases for atomic
.part.metreplacement, backup staging, low-space rejection, overlong.part.metpaths, companion-path cleanup, failed promotion preservation, restart-safe destructor flush decisions, pause/resume state transitions, and majority-name selection. - The same native run includes known-file lookup/metadata, cancelled-file and
server.metpersistence, Kad preference promotion failure, DirectDownload cancellation registration, and file-completion command coverage. Completion hook coverage includes token expansion, unsafe completion skips, executable-only validation, shell-metacharacter literal handling, and missing executable rejection. python -m emule_workspace test live-e2e --config Release --platform x64 --suite rest-apipassed with artifactEMULE_WORKSPACE_ROOT\repos\emulebb-build-tests\reports\rest-api-smoke\20260509-152213-eMule-main-release. The run completed the requested live download trigger count1/1, exercised20transfer contract routes with0transfer failures, and refreshed live seed imports forserver_metandnodes_dat.- The REST live smoke also covered qBit-compatible transfer mutation and cleanup: valid add returned HTTP 200, delete returned HTTP 200, the post-delete info list was empty, and files/properties probes returned 404 after deletion.
- The Release live-diff phase completed without failures; remaining warnings are documented case-set mismatches for intentional broadband-only seam coverage, not runtime failures.