Skip to content

CAP-PFM-OPS-007Inspect jobs across Rhythm services

Markdown

CAP-PFM-OPS-007

Inspect jobs across Rhythm services

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationObserved

KindCapabilityProduct areaPlatformModuleOperational RecordsRevision1

Read atservices-platform ad3f6a65macroservice-libraries 54536a44

The Formal Contract

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

Outcomes
Published services’ jobs participate in shared monitoring.Subjects retain wording supplied by the owning service.
Surfaces
apijob
Preconditions
The publishing service exposes all three compatible views and required columns.
Postconditions
Published jobs remain readable and pageable in Platform without Platform changing them.
Constraints
Published views execute with the caller’s database privileges and remain subject to their row policies.

Controls

30 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-AZ-006 TC-CHG-001 TC-CHG-002 TC-CHG-003 TC-CHG-004 TC-CHG-005 TC-CHG-006 TC-CHG-007 TC-IAM-001 TC-IAM-006 TC-LOG-002 TC-LOG-003 TC-LOG-005 TC-MON-001 TC-PI-001 TC-PI-002 TC-PI-004 TC-PI-005 TC-TEN-001 TC-TEN-002 TC-TEN-003 TC-VEN-001 TC-VEN-002 TC-VEN-003

Business Rules

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

IdRuleKindEnforced atProvenance
01must prove
Proposed
Services publish compatible job, step and event views that Platform combines into shared list, count, snapshot and pagination results.
policydatabase, servicetest
services-platform:modules/jobs/tests/integration/services/snapshots/cross-service-jobs.integration.spec.js#pages across the two macroservices, the cursor of one continuing into the other
02must prove
Proposed
Schema discovery excludes a service missing any required view or contract column.
validationservicetest
03must prove
Proposed
Platform reads another service’s jobs without changing them and applies the same caller scope and published step-definition rules.
policyservicetest
04must prove
Proposed
Job subjects use wording published by the owning service, and monthly snapshot subjects include the month inside a workspace but omit it across workspaces.
calculationservice, databasetest
services-platform:modules/jobs/tests/e2e/jobs-tenant-runs.e2e.spec.js#names the snapshot run by its snapshot alone when the list is read across tenants
05must prove
Proposed
A shared catalog supplies job labels and application names, with an unknown kind receiving a readable fallback based on its identifier and service schema.
calculationservicetest
services-platform:modules/jobs/tests/unit/job-kind-labels.spec.js#humanises an unknown kind and attributes it to the application of its schema
06must prove
Proposed
Registered Platform kinds must be represented in current job views and labeling coverage, with tests checking the view definition against its latest migration.
invariantservice, databasetest
services-platform:modules/jobs/tests/unit/cross-job-query.view.spec.js#registers exactly the Platform job kinds, so none is invisible to the reconciler
07
Proposed
A process caches discovery of publishing services, so newly published views become visible when a fresh Platform process discovers them.
policyservicedocumented
services-platform:docs/jobs.md#Every macroservice's jobs in one list (the cross-service contract, 2026-10-12)

Scenarios

IdGivenWhenThenProvenance
01A service publishes a merge job while Platform publishes another run for the same workspace.The workspace’s jobs are listed.Both jobs appear together with the merge subject supplied by its owning service.inferred
services-platform:modules/jobs/tests/integration/services/snapshots/cross-service-jobs.integration.spec.js#names the job in the owning macroservice’s own words, which is its subject

Edge Cases

IdGivenWhenThenProvenance
02A published kind has no entry in the label catalog.Platform includes it in a job list.Its readable fallback name and service application are returned.inferred
services-platform:modules/jobs/tests/unit/job-kind-labels.spec.js#humanises an unknown kind and attributes it to the application of its schema

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.