Skip to content

DOM-PFM-DJE-003Upload

Markdown

DOM-PFM-DJE-003

Upload

Markdown
  • DocumentDraft
  • ImplementationObserved

Planning

Specified by
CON-PFM-DJE-003

Design

Owned by
SVC-PFM-DJE-data-jobs

KindDomain objectProduct areaPlatformModuleData Job EngineRevision1

Read atservices-platform ad3f6a65services-crm a8d1364freact-console baf6dae3

Relationships

ToCardinalityOwnershipCrosses a serviceOn archive or delete
DOM-PFM-DJE-001many-to-many: one upload can supply several jobs and a job can name several uploadsJobs retain upload identities and versions; uploads do not retain job references.yes
DOM-PFM-DJE-005many-to-many: runs can reference several uploads and reuse existing uploadsRuns hold upload references, and reset retains the upload records.no

Invariants

InvariantProtectsEnforced atProvenance
INV-DOM-PFM-DJE-003-01
Upload requests carry transfer metadata and signed addresses, while clients send file parts directly to storage.
api, serviceobserved
INV-DOM-PFM-DJE-003-02
Completion accepts the assembled object only when its measured size equals the client declaration; a mismatch marks the session aborted.
serviceobserved
INV-DOM-PFM-DJE-003-03
A checkable declared digest must match; a large object without a supplied storage digest retains only the unverified declaration.
serviceobserved
INV-DOM-PFM-DJE-003-04
Session services refuse to reopen settled transfers or abort a completed upload; another file requires another session.
servicetest
services-platform:modules/data-jobs/tests/integration/services/uploads/upload-sessions.integration.spec.js#refuses to abort a completed session, whose object a job may already be reading
INV-DOM-PFM-DJE-003-05
Upload access uses the caller’s workspace context and conceals both foreign sessions and private storage coordinates.
api, service, databasetest
services-platform:modules/data-jobs/tests/integration/services/uploads/upload-sessions.integration.spec.js#refuses to complete another tenant’s session, and makes no S3 call for it
INV-DOM-PFM-DJE-003-06
Storage effects occur before their database bookkeeping and outside the database transaction.
servicedocumented

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.