Skip to content

JNY-PFM-TNL-005CRM delivers new defaults to existing workspaces

Markdown

JNY-PFM-TNL-005

CRM delivers new defaults to existing workspaces

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationObserved

KindJourneyProduct areaPlatformModuleWorkspace Lifecycle Across ApplicationsRevision2End-to-endNone

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
The current CRM baseline reaches older eligible workspaces without reversing customer customization.

Steps

#SurfaceActionCapabilityExpectedProvenance
1participant seed set (declaration)Declare a new task-type seed with a new key and set version.CAP-PFM-TNL-008The declaration distinguishes the added default from earlier seeds.documented
2build: declaration completeness and manifestsRun CRM’s declaration completeness checks.CAP-PFM-TNL-007Workspace table ownership remains complete and unique.test
3BaselineReconciliationRun (deployment)Deploy the release and reconcile eligible workspaces.CAP-PFM-TNL-009Missing seed applications are recorded and failures identify their workspaces.test
services-crm:modules/tenant-lifecycle/tests/unit/lifecycle/baseline-reconciliation.spec.js#runs the reconciliation on every update, which is every deployment
4baseline reconciliation (one workspace)Reconcile an older uncustomized workspace.CAP-PFM-TNL-009Its seeded configuration and ledger match the current baseline.test
5baseline reconciliation (customized workspace)Reconcile a workspace with a deleted default type.CAP-PFM-TNL-008The ledger keeps the customer’s deletion in place.test
6createTenantProvision a workspace after the baseline addition.CAP-PFM-TNL-002The same declared defaults are applied during construction.test
7initializeTenantInitialize a participant for one workspace on demand.CAP-PFM-TNL-009The participant applies defaults still missing from its ledger.test

Alternate and Failure Paths

PathFrom stepConditionPath takenOutcomeProvenance
alternate3A workspace cannot be reconciled.Record its explanation while continuing with other workspaces.The deployment response reports failure after the collected work.test
services-crm:modules/tenant-lifecycle/tests/unit/lifecycle/baseline-reconciliation.spec.js#fails the deployment when any tenant failed, naming the tenant and its message
failure2A workspace-keyed table lacks a declaration.Fail the completeness check.The declaration gate is not satisfied.test

Assertions

IdStatementProvenance
01Reconciled older CRM fixtures match current seeded configuration and ledger entries.test
services-crm:modules/tenant-lifecycle/tests/integration/services/lifecycle/baseline-reconciliation.integration.spec.js#leaves an old tenant with exactly the seed ledger a tenant provisioned today holds
02Repeating seed application creates no additional defaults.test
03Reconciliation preserves a renamed or removed ledgered default.test
services-crm:modules/tenant-lifecycle/tests/integration/services/participants/provisioning.integration.spec.js#leaves a type the customer renamed after it was seeded exactly as they left it

End-to-end policy: none: Deployment and database boundaries supply the relevant evidence; this flow has no interactive customer screen.

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.