Skip to content

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_workspace test 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 x64 passed with native coverage artifact EMULE_WORKSPACE_ROOT\repos\emulebb-build-tests\reports\native-coverage\20260509-152156-eMulebb-workspace-v0.72a-eMule-main-x64-Release. The Release parity suite passed 501/501 cases and the web API suite passed 72/72 cases.
  • The native parity run includes focused part-file durability cases for atomic .part.met replacement, backup staging, low-space rejection, overlong .part.met paths, 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.met persistence, 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-api passed with artifact EMULE_WORKSPACE_ROOT\repos\emulebb-build-tests\reports\rest-api-smoke\20260509-152213-eMule-main-release. The run completed the requested live download trigger count 1/1, exercised 20 transfer contract routes with 0 transfer failures, and refreshed live seed imports for server_met and nodes_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.

Relationship To Other Items