Skip to main content

Workflow Resource Monitoring

Resource Monitoring is a Workflow subfeature that presents per-task CPU, memory, and disk allocation, usage, wastage, and provisioning status. It is an observation and capacity-planning surface; it must never invent production measurements or grant broader access than the underlying workflow.

Assessment scope​

FieldValue
ActorsWorkflow viewer, editor, platform operator, security reviewer, and monitoring services
Parent capabilityWorkflow
Assessed environmentRealm gj76anadpsc; workspace w-t5e2kcxjd
Source baselineOqullus 8c9f240410b2; BFF 9b2fd45a4da1; workflow-resource-monitoring 8665dd6efe13; platform-stacks a71390d12463
Last verified3 September 2026

This assessment covers metric collection, classification, storage, current and historical reads, browser presentation, authorization, deployment, failure states, recovery, scale, retention, and ownership. It does not assess the Spark Recommendation text-generation or recommendation-approval journey.

Current capability boundary​

LayerSource-backed stateCurrent KCL/deployment evidence
OqullusResources action and modal are implementedFailure can display generated values in the production surface
BFFLatest/history proxy routes are implementedRESOURCE_MONITORING_URL is not supplied by current KCL
Dedicated backendCollector, Delta writer, latest API, and history API existCurrent KCL does not deploy the API or collector
Current producerspark-recommendation job receives the Workflow resource tableKCL-defined; live table-write evidence pending
Current readerDedicated API source expects Trino and the monitoring tableImplemented but inactive in current KCL
AuthorizationBFF validates a JWTNo managed-workflow resolution or backend caller authentication
HistoryAPI returns complete matching history; UI windows itServer-side range, pagination, and size limits absent

The feature is therefore implemented in pieces but not integrated as a supported deployment path. A visible sample-data warning is not evidence that the backend is absent; it is evidence that Oqullus entered its fallback path.

User-visible states​

StateRequired presentationCurrent behavior
LoadingProgress without stale conclusionsImplemented
Real dataSnapshot age, task, metrics, and provenanceImplemented in UI; deployed backend evidence pending
No dataExplain that the workflow has not produced observationsStructured API 404 is treated as no data
Stale dataShow last successful observation and ageNo complete stale-data contract
UnavailableDependency and retry guidance; no measurementsNon-404 failure enters generated sample fallback
DemoPersistent environment-level indicationBrowser fallback and backend sample mode are separate and can be confused

Findings​

IDFindingComponentsEvidenceImpact
ARCH-WF-002Wire one canonical Resource Monitoring backend through KCLOqullus, BFF, monitoring, recommendation, platform-stacksBackend source exists; current KCL wiring absentHigh
DATA-WF-002Bind Resource Monitoring to task executions, not workflowsMonitoring, recommendation, workflow-backend, BFF, Oqullus, Airflow, SparkSource-verifiedHigh
DATA-WF-003Replace periodic snapshots with execution-lifecycle metricsMonitoring, recommendation, platform-stacks, Prometheus, Kubernetes, SparkSource-verified; collector not KCL-deployedHigh
PROD-WF-003Never substitute generated metrics for unavailable monitoringOqullus, BFF, monitoring, platform-stacksSource-verifiedHigh
SEC-WF-003Protect monitoring now and add resource scoping before multi-project rolloutBFF, workflow-backend, monitoring, platform-stacks, OpenFGASource-verified; deployed role evidence pendingHigh

Interim guidance​

  • Do not use values carrying Showing sample data or sample trend for capacity, reliability, or cost decisions.
  • Treat Resources as unavailable until a captured request proves that the BFF reached the authoritative backend and returned a real observation timestamp.
  • Do not activate the dedicated API without internal authentication and a managed-workflow authorization boundary.
  • Do not deploy both monitoring collectors against the same table until one producer, schema, merge key, and retention owner are explicitly selected.
  • Treat existing rows as coarse daily task snapshots, not measurements of a specific workflow run or task attempt.
  • Treat each collected value as a point-in-time sample with mixed source windows, not a complete execution profile.
  • Query the authoritative monitoring table only through an approved service identity when operational evidence is required before product integration.