Skip to content

JNY-PFM-DJE-004Prepare, reconcile and reopen a workspace after its initial migration

Markdown

JNY-PFM-DJE-004

Prepare, reconcile and reopen a workspace after its initial migration

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationPartially observed

KindJourneyProduct areaPlatformModuleData Job EngineRevision2End-to-endOptional

Read atservices-platform ad3f6a65services-crm a8d1364f

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Goal
Give an association a reconciled migration before its staff begin using the workspace.

Steps

#SurfaceActionCapabilityExpectedProvenance
1enterHqTenantLoadingPlace the implementation workspace into loading state.CAP-PFM-DJE-017Ordinary customer activity is unavailable while the data-job routes remain accessible.documented
2openDataJobUpload … completeDataJobUploadUpload the package manifest and its datasets, supplying file digests.CAP-PFM-DJE-011Uploads retain their measured sizes and measured or declared digests, with hashing limited to declared files within the verification size limit.observed
3registerDataRunSubmit the package for registration.CAP-PFM-DJE-016A run and its ordered dataset steps are recorded before any dataset job starts.test
services-platform:modules/data-jobs/tests/e2e/data-runs.e2e.spec.js#orders the three datasets by the dependsOn edges the manifest declared
4startDataRun, getDataRunStart the load and poll its progress through completion.CAP-PFM-DJE-016Dependent datasets proceed in order and the summary reports each application’s counts.test
5readContactsBySourceKey and the other lookupsCompare the loaded records with the extract using producer-key lookups.CAP-PFM-DJE-015Known keys return their current records in the demonstrated reconciliation fixture.test
6resetHqTenantReset the loading workspace after identifying a mapping problem.CAP-PFM-DJE-017The tested CRM load is removed.test
services-crm:modules/data-jobs/tests/integration/services/jobs/initial-import-guarantees.integration.spec.js#removes everything the load wrote: no contact, organization, imported type or crosswalk row is left
7registerDataRun, startDataRunRegister the corrected package and repeat the load.CAP-PFM-DJE-016The reset-and-reload fixture reproduces the expected records.test
services-crm:modules/data-jobs/tests/integration/services/jobs/initial-import-guarantees.integration.spec.js#reloads the same records as the load before the reset, numbers included
8activateHqTenantHave an operator with activation authority open the workspace.CAP-PFM-DJE-017Customer staff regain access to the workspace.documented
services-platform:docs/data-jobs/data-runs.md#7. The summary and the readiness verdict

Alternate and Failure Paths

PathFrom stepConditionPath takenOutcomeProvenance
alternate4A finished dataset still has blocked records.The driver gives the dataset one further submission after its dependencies finish.Persistent blocked records remain in the readiness assessment.test
failure3A dataset declaration and its upload have different digests.Registration rejects the package.The refused package creates no run.test
services-platform:modules/data-jobs/tests/integration/services/runs/register-run.integration.spec.js#writes nothing at all when a digest does not match: a refused package leaves no run behind
failure8Rejections remain unresolved when activation is requested.The product should refuse activation until the blockers are resolved.The intended result retains loading state; the gate is currently absent.unknown

Assertions

IdStatementProvenance
01The reset-and-reload fixture reproduces the original record projections and table counts.test
02Reset preserves every row of the other loading workspace in the tested fixture.test
services-crm:modules/data-jobs/tests/integration/services/jobs/initial-import-guarantees.integration.spec.js#leaves every row of the other loading tenant as it was, by a checksum of each table
03The product should prevent activation while the migration has unresolved readiness blockers.unknown

End-to-end policy: optional: Andrew accepts the staff-only API actions through guided verification; browser coverage applies to the customer-facing inspection of the loaded records.

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.