Skip to content

CAP-PFM-DJE-018Enable product records to use the shared job engine

Markdown

CAP-PFM-DJE-018

Enable product records to use the shared job engine

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationPartially observed

KindCapabilityProduct areaPlatformModuleData Job EngineRevision1

Read atmacroservice-libraries 54536a44services-platform ad3f6a65services-crm a8d1364fservices-membership 5994c270

The Formal Contract

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

Outcomes
Operation declarations connect domain behavior to shared processing.Platform metadata and custom records use the common engine.Invalid operation contracts fail during initialization.
Surfaces
apijob
Intent sources
services-platform:docs/milestones/plans/PLAT-M19-plan.md#S17services-platform:docs/milestones/plans/PLAT-M19-plan.md#6. Approach

Controls

37 controls apply, from the corpus control catalogue.

TC-AVL-001 TC-AVL-004 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-IAM-006 TC-LOG-001 TC-LOG-004 TC-LOG-005 TC-MON-001 TC-PI-001 TC-PI-002 TC-PI-003 TC-PI-004 TC-PI-005 TC-PRV-004 TC-TEN-001 TC-TEN-002 TC-TEN-003 TC-VEN-001 TC-VEN-002 TC-VEN-003

Permissions

KeyChecked atScope
platform.custom-fields.bulkapitenant
platform.custom-fields.createapitenant
platform.custom-fields.updateapitenant
platform.custom-records.createapitenant
platform.custom-records.updateservicerecord
platform.associations.createapitenant
platform.associations.updateapitenant

Business Rules

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

IdRuleKindEnforced atProvenance
01must prove
Confirmed
An operation declaration identifies accepted input versions, permissions, editable fields, matching keys, dependencies, grouping, suppression choices and domain checks and writes; missing versions or deletes with editable fields or rollback are refused at initialization.
validationservicetest
macroservice-libraries:packages/data-jobs/src/validate-data-job-request.spec.ts#refuses a delete that declares patchable fields, which a delete never sets
02must prove
Confirmed
Consumers host eight base engine tables with fail-closed workspace security; receipt completion allows updates, rejection evidence is insert-and-read only, and queue, submission and mapping rows have their declared deletion grants.
invariantdatabaseobserved
03must prove
Confirmed
Platform field-definition import uses metadata creation, update, archive and restore behavior; insert refuses an existing definition and incoming archived state is applied after its write.
policyservicetest
services-platform:modules/data-jobs/tests/integration/services/jobs/custom-field-data-jobs.integration.spec.js#refuses the same change as an insert, naming the definition rather than writing a second one
04must prove
Confirmed
Supplied field rules replace the definition’s rule set, omitted rules remain intact, references to later definitions refuse the line, and archived definitions carry no rules.
policyservicedocumented
services-platform:docs/data-jobs/platform-data-operations.md#1.1 A definition's rules (the package format)
05must prove
Confirmed
Platform claims and processes queued batches in request handling after submission commits; exhausted transient errors pause work because there is no external queue redelivery.
policyservicedocumented
services-platform:docs/data-jobs/platform-data-operations.md#3. The batches run in the submitting request
06must prove
Confirmed
Platform parses uploaded datasets at submission and refuses more than 500 nonblank record lines with their count.
validationserviceobserved
07must prove
Confirmed
Field-definition jobs require bulk and the appropriate create or update authority; custom-record and association jobs require their domain permissions with object scope checked for each line.
permissionapi, servicetest
08must prove
Confirmed
Custom-record prevalidation includes domain write rules, within-file uniqueness and association limits, with line-specific refusals and unchanged outcomes on repeated input.
policyservicetest
services-platform:modules/data-jobs/tests/integration/services/jobs/custom-object-data-jobs.integration.spec.js#refuses a hull number an earlier line of the same file holds, naming that line
09
Confirmed
Platform operations expose no rollback, leaving workspace reset as the recovery path for an unsuitable initial load.
policyservicedocumented
10
Confirmed
Membership declares organizational structure operations and parent dependencies but has no engine persistence, job routes or worker to execute them.
policyserviceobserved

Scenarios

IdGivenWhenThenProvenance
01A field-definition dataset contains two eligible definitions and one invalid definition.The administrator submits its import.The two valid definitions apply and the invalid line becomes a refusal on a completed-with-rejections job.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.