Skip to content

CAP-PFM-DJE-015Reconcile loaded records using the producer’s keys

Markdown

CAP-PFM-DJE-015

Reconcile loaded records using the producer’s keys

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationObserved

KindCapabilityProduct areaPlatformModuleData Job EngineRevision2

Read atservices-crm a8d1364fservices-platform ad3f6a65react-console baf6dae3

The Formal Contract

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

Outcomes
Known producer keys return current record representations.Unresolved keys are reported explicitly.Reconciliation remains available during workspace loading.
Surfaces
api
Intent sources
services-platform:docs/milestones/plans/PLAT-M19-plan.md#S24

Controls

37 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-CRY-001 TC-CRY-002 TC-CRY-003 TC-CRY-004 TC-DAT-001 TC-DAT-002 TC-DAT-003 TC-DAT-006 TC-IAM-001 TC-IAM-002 TC-IAM-004 TC-IAM-005 TC-LOG-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

Permissions

KeyChecked atScope
crm.contacts.bulkapitenant
crm.organizations.bulkapitenant
crm.contact-types.bulkapitenant
crm.regions.bulkapitenant
platform.custom-fields.bulkapitenant

Business Rules

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

IdRuleKindEnforced atProvenance
01must prove
Confirmed
A resolved producer key returns its record identity and ordinary-read representation, including owned details and custom fields, with results ordered by the requested keys.
policyservicetest
02must prove
Confirmed
An unknown key or a key whose mapped record is unavailable appears in the missing list, and repeated keys produce only one result.
policyserviceobserved
03must prove
Confirmed
A lookup accepts at most one hundred keys and rejects an oversized request with the limit identified.
validationapi, servicetest
04must prove
Confirmed
Lookup routes remain available during loading and require the authority needed to read jobs of the same record kind; ordinary record-reading authority alone is insufficient.
permissionapidocumented
services-crm:docs/data-jobs.md#Reading a load back by source key
05must prove
Confirmed
Lookup resolves keys within the requested record kind and workspace, without returning another workspace’s records.
invariantservice, databasetest
services-crm:modules/data-jobs/tests/integration/services/jobs/records-by-source-key.integration.spec.js#looks a key up under its own object type only: a contact key is not an organization
06
Confirmed
Producer-key lookup does not alter records and returns their current saved values, including changes made after import.
invariantserviceobserved
07
Confirmed
CRM provides lookups for contacts, organizations, five configuration catalogues, regions, activity types and activities; Platform provides a custom-field definition lookup, while custom records and associations have no corresponding route.
policyapiobserved

Scenarios

IdGivenWhenThenProvenance
01A loading workspace contains two imported contacts and an imported organization.Reconciliation requests their producer keys together with a key that was never loaded.Known keys return ordinary-read record representations in request order, and the unknown key appears as missing.test

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.