Skip to content

CAP-PFM-TNL-008Apply defaults without undoing customer choices

Markdown

CAP-PFM-TNL-008

Apply defaults without undoing customer choices

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationObserved

KindCapabilityProduct areaPlatformModuleWorkspace Lifecycle Across ApplicationsRevision2

Read atservices-platform ad3f6a65services-crm a8d1364fservices-commerce c8b66a98services-committees 36129c24services-membership 5994c270

The Formal Contract

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

Outcomes
Applied defaults have one workspace ledger entry.Matching customer-created records are adopted rather than replaced.Renamed, inactive and deleted seeded records retain the customer’s decision.
Surfaces
job
Intent sources
services-platform:docs/tenants/tenant-lifecycle-plan.md#§6.3services-platform:docs/standards/baseline-configuration.md#§2services-platform:docs/standards/baseline-configuration.md#§3

Controls

31 controls apply, from the corpus control catalogue.

TC-AVL-001 TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-CHG-001 TC-CHG-002 TC-CHG-003 TC-CHG-004 TC-CHG-005 TC-CHG-006 TC-CHG-007 TC-DAT-001 TC-DAT-003 TC-DAT-004 TC-IAM-001 TC-IAM-002 TC-IAM-004 TC-IAM-005 TC-MON-001 TC-PI-001 TC-PI-003 TC-PI-005 TC-PRV-001 TC-PRV-002 TC-TEN-001 TC-TEN-002 TC-TEN-003 TC-VEN-001 TC-VEN-002 TC-VEN-003

Business Rules

8 rules, 6 to be proved before approval. A rule's product intent is derived from its origin: 8 confirmed by a product decision, the rest inheriting this capability's confirmed.

IdRuleKindEnforced atProvenance
01must prove
Confirmed
A seed ledger records each applied default once for its workspace and associates it with the applying run.
no proof recorded yet
invariantservice, databasetest
02must prove
Confirmed
An existing seed entry prevents reapplication even when the customer renamed, deactivated or removed the default record.
no proof recorded yet
invariantservicetest
03must prove
Confirmed
A pre-existing record with a default’s natural key is adopted and ledgered without replacement or duplication.
no proof recorded yet
invariantservice, databasetest
services-crm:modules/tenant-lifecycle/tests/integration/services/participants/provisioning.integration.spec.js#adopts a role the customer made first with a seed’s id, rather than duplicating it
04must prove
Confirmed
Applying a database default and recording its seed entry share a transaction.
no proof recorded yet
invariantservice, databasedocumented
services-platform:docs/tenants/tenant-lifecycle-plan.md#§4.4 Database seeds commit their rows and their ledger entry in the same transaction
05must prove
Confirmed
Readiness requires all seeds in the participant’s current sets to be ledgered and identifies missing seeds.
origin: services-platform:docs/tenants/tenant-lifecycle-plan.md#§4.3 verifyProvisioned (approved)
no proof recorded yet
validationservicetest
06must prove
Confirmed
Workspace isolation prevents another workspace from reading or changing its seed ledger.
origin: services-platform:docs/tenants/tenant-lifecycle-plan.md#§6.3 RLS on tenant_id (approved)
no proof recorded yet
invariantdatabasetest
07
Confirmed
The baseline contains CRM’s two contact roles, address and phone types, three affiliation types and mappings, five task types, seven activity types and three duplicate rules; Commerce’s two audiences and five placements; Committees’ six types and eight positions; Membership’s four relationship types; and Platform’s requested first-administrator invitation.
policyservicetest
08
Confirmed
Workspace configuration defaults belong to participant seeds rather than migration inserts.
policyservicedocumented

Scenarios

IdGivenWhenThenProvenance
01The customer removed a seeded Fax phone type.Provisioning is repeated.The ledger prevents Fax from being recreated.test
02A customer-created committee position uses a starter’s natural key.Committees applies its baseline.The existing position is preserved and recorded as adopted.test
services-committees:modules/tenant-lifecycle/tests/integration/services/starter-types.integration.spec.ts#adopts the position the customer made under a starter’s id instead of overwriting it

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.