---
id: SCR-PFM-OPS-002
title: Rhythm HQ Jobs list
product_area: platform
module: operations
revision: 1
status: draft
design_intent: confirmed
implementation_evidence: partially-observed
inference: []
origin: 'services-platform:docs/hq/rhythm-hq-plan.md#D12 (approved K8)'
route: /hq/jobs
surface: console
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
purpose: Let authorized Rhythm staff inspect recent jobs across customers and navigate to a selected run.
supports:
  - JNY-PFM-OPS-002
  - CAP-PFM-OPS-006
  - CAP-PFM-OPS-007
permission: hq.jobs.read (the page itself admits any Rhythm staff member)
entry_from:
  - Rhythm HQ navigation
  - View All on the Rhythm HQ home recent jobs card
exits_to:
  - Rhythm HQ job page
displays:
  - field: 'Job label linking to its page, with the failure summary of a failed job'
    source: 'listJobsInHq (kind label, failureSummary)'
  - field: Subject or scope
    source: listJobsInHq (subject)
  - field: Status badge
    source: listJobsInHq (status)
  - field: Started (relative)
    source: listJobsInHq (startedAt)
  - field: Requested by
    source: listJobsInHq (requestedBy); the console labels the current staff member’s own jobs
actions:
  - label: Filter by status
    operation_id: listJobsInHq
    permission: hq.jobs.read
    confirm: false
  - label: Load more
    operation_id: listJobsInHq
    permission: hq.jobs.read
    confirm: false
  - label: Open a job
    operation_id: getJobInHq
    permission: hq.jobs.read
    confirm: false
states:
  - loading (skeleton rows)
  - refreshing
  - empty (No Jobs Found)
  - error with retry
  - non-staff redirected to the console start
validation:
  - BR-CAP-PFM-OPS-006-01
  - BR-CAP-PFM-OPS-006-03
  - BR-CAP-PFM-OPS-006-05
patterns:
  - PageLayout with Standard width
  - PageHeader
  - FilterSelect
  - design-system Table with Badge
  - LoadMore keyset paging
  - StaffOnly wrapper
component: components/console/hq/jobs-list.tsx; lib/hq/use-hq-lists.ts
evidence:
  - >-
    react-console at baf6dae: app/(console)/hq/jobs/page.tsx, components/console/hq/jobs-list.tsx,
    staff-only.tsx, lib/hq/use-hq-lists.ts.
  - 'services-platform at ad3f6a6: modules/jobs/aws/api/jobs.routes.ts (InHq declaration).'
  - >-
    codex examination 2026-10-23: checked the pinned source anchors, planning references and enforcement
    boundaries; unresolved limits are recorded in module findings.
controls: [TC-AVL-001, TC-AVL-004, TC-AVL-005, TC-AZ-001, TC-AZ-002, TC-AZ-003, TC-AZ-004, TC-AZ-005, 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-002, TC-IAM-003, TC-IAM-004, TC-IAM-005, 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]
---

# Rhythm HQ Jobs List

## What the Screen Is For

The HQ list supports staff investigation of background work across customer boundaries. It presents recent activity and provides entry to individual run pages.

## What It Shows and Lets People Do

The list orders rows by latest activity and shows label, subject, status, start and requester. Failed rows include the safe summary. Staff can change the status filter and request another page. The console names its current staff member’s own requests; list data does not provide the full requester enrichment of HQ snapshots.

## States and Errors

Shared list components handle skeleton loading, refresh, empty results and retryable read errors. StaffOnly controls page entry, while the operations require jobs-read authority. A staff member admitted to the page without that permission receives a read error. Saved views and richer accepted filters remain absent.

## Patterns It Must Respect

The built list uses Standard PageLayout, PageHeader, FilterSelect, Table, Badge, LoadMore and StaffOnly. Its existing components remain the evidence for these patterns.
