PROD-WF-003 — Never substitute generated metrics for unavailable monitoring
| Field | Value |
|---|---|
| Status | Open; source-verified |
| Architecture state | Deployed behavior |
| Severity | High |
| Affected surface | Workflow Resources utilization, right-sizing status, and trend charts |
| Components | sparqd/oqullus, sparqd/bff-api, sparqd/workflow-resource-monitoring, sparqd/platform-stacks |
| Associated issue | Not opened |
Where the problem appears
Open Resources while the monitoring service is unreachable and compare the displayed values with recorded telemetry.
Concrete observed case
When the monitoring service cannot be reached, the UI generates deterministic CPU, memory, and disk measurements for real task names. It can also synthesize history when recorded history is insufficient. A label exists, but the screen still presents right-sizing categories derived from invented values.
The modal surfaces the fallback with this warning:
Showing sample data — the resource-monitoring service is not connected yet.
The warning does not contain the risk: the same production modal continues to render plausible utilization values and Right sized, Under provisioned, or Over provisioned conclusions. The history chart can also show a smaller sample trend marker while displaying a synthesized time series.
Expected condition
Production mode shows Unavailable with last successful observation time and recovery guidance. Generated values are available only in an explicit demo environment that cannot be confused with tenant telemetry.
Cause and evidence
- Frontend contains fixed sample metric bodies and generated trend data.
- Service failure invokes the sample builder.
- The values drive utilization and provisioning-status presentation.
- The dedicated backend exists in source, but current KCL does not deploy its
API or configure the BFF URL. See
ARCH-WF-002.
Why it matters
Users can make capacity and cost decisions from fabricated data during an outage.
Existing controls and workarounds
Do not use Resources for decisions whenever any sample indicator appears. Verify metrics in the authoritative monitoring system.
Alternatives considered
- Recommended: unavailable/stale state with last-known real values.
- Explicit demo mode separated by environment and persistent banner.
- Generated fallback in production — rejected even when labelled because it occupies the real decision surface.
Component involvement
- sparqd/oqullus removes production sample fallback.
sparqd/workflow-resource-monitoringsupplies availability and observation time after the deployment path is wired.sparqd/platform-stacksdeploys and capability-gates the complete path.- Product and cost owners define trustworthy right-sizing semantics.
Reproduction and verification
Follow WF-S010.
Resolution conditions
Close when service failure cannot produce invented tenant metrics and no-data, stale, and unavailable states are separately verified.
Validation and blockers
Oqullus, monitoring, product, FinOps, and operations owners must validate.