Skip to content

CAP-PFM-OPS-006Investigate platform jobs in Rhythm HQ

Markdown

CAP-PFM-OPS-006

Investigate platform jobs in Rhythm HQ

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationPartially observed

KindCapabilityProduct areaPlatformModuleOperational RecordsRevision1

Read atservices-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
Staff can investigate work across customers through the HQ boundary.Missing related names do not prevent inspection of surviving job records.
Surfaces
consoleapi
Preconditions
The staff caller holds HQ jobs-read authority at platform scope.
Postconditions
HQ job inspection performs no job write.
Intent sources
services-platform:docs/hq/rhythm-hq-plan.md#D12 (approved K8, 2026-10-11)services-platform:docs/hq/rhythm-hq-plan.md#D1 (rule S1)

Controls

27 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-005 TC-IAM-001 TC-IAM-003 TC-IAM-006 TC-LOG-001 TC-LOG-002 TC-LOG-003 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-TEN-001 TC-TEN-002 TC-TEN-003 TC-VEN-001 TC-VEN-002 TC-VEN-003

Permissions

KeyChecked atScope
hq.jobs.readapiglobal

Business Rules

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

IdRuleKindEnforced atProvenance
01must prove
Confirmed
HQ job routes require staff jobs-read authority and cover Platform jobs across customers; customer console callers cannot use those routes.
permissionapitest
services-platform:modules/jobs/tests/e2e/jobs.e2e.spec.js#refuses a console caller of the job’s own customer the HQ route as 403
02
Confirmed
HQ reads can restrict jobs to a customer or workspace and retain access to jobs naming a workspace already removed.
policyserviceobserved
03must prove
Confirmed
HQ snapshots resolve the workspace subject before the customer subject and name the requester when readable; missing related records retain an unnamed subject rather than preventing the job read.
calculationservicetest
services-platform:modules/jobs/tests/integration/services/subjects/job-subject.integration.spec.js#names the subject null, and still answers it, for a tenant that no longer reads
04
Confirmed
Customer snapshots omit the named subject and requester enrichment supplied on HQ snapshots.
policyservicetest
services-platform:modules/jobs/tests/e2e/jobs.e2e.spec.js#carries neither on the customer's own snapshot, which has nothing to say
05
Confirmed
The HQ list orders jobs by recent activity, displays label, subject, status, start and requester, and provides status filtering and failed-job summaries.
policyconsoleobserved
06
Confirmed
The HQ detail page displays progress, steps, attempts, failure information and history and polls active jobs every five seconds.
policyconsoletest
react-console:e2e/mock/hq-ops.mock.spec.ts#shows a running job's step, its timeline and its event log
07must prove
Confirmed
An unstarted job is labeled Queued, and opening a missing job displays Job Not Found.
calculationconsoletest
react-console:e2e/mock/hq-ops.mock.spec.ts#calls a job that has not started Queued, never Cancelled
08must prove
Confirmed
The product should supply a stalled-job warning and a refresh action; the current page depends on a staleness signal absent from the backend response.
policyconsoleunknown
09
Confirmed
Completing the workspace provisioning wizard opens the detail page for its submitted job.
policyconsoletest
react-console:e2e/mock/hq-ops.mock.spec.ts#walks every step and lands on the job it started

Scenarios

IdGivenWhenThenProvenance
01A support operator has HQ jobs-read authority and a customer job to investigate.The operator opens the HQ job page.Readable subject and requester references appear as names.inferred
services-platform:modules/jobs/tests/e2e/jobs.e2e.spec.js#names the person who asked for the job
02A customer administrator knows one of their job identities.The administrator requests the HQ snapshot.The staff-only route refuses the request.inferred
services-platform:modules/jobs/tests/e2e/jobs.e2e.spec.js#refuses a console caller of the job’s own customer the HQ route as 403

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.