Skip to main content

PROD-WF-001 — Expose backend task types and semantic validation coherently

FieldValue
StatusOpen; source-verified
Architecture stateDeployed UI limitation; backend capability not exposed
SeverityHigh
Affected surfaceWorkflow authoring, task palette, dependency graph, Save validation, and warnings
Componentssparqd/oqullus, sparqd/workflow-backend, Airflow operators
Associated issueNot opened

Where the problem appears​

Compare the backend task-type catalog and validation response with the authoring controls and Save behavior.

Concrete observed case​

Workflow-backend supports Spark, Condition, Empty, and Workflow Trigger tasks and emits branch-convergence warnings. The UI hard-codes a disabled Spark task type and performs only its local validator; it does not request the task-type catalog or semantic validation endpoint.

Expected condition​

The UI derives supported types from the backend catalog, provides type-specific forms, and calls semantic validation before Save. Blocking errors prevent persistence; warnings remain visible and require informed continuation.

Cause and evidence​

  • Backend task-type metadata and discriminated schemas exist.
  • The UI task selector contains only spark_kubernetes and is disabled.
  • No current authoring path calls the backend validation endpoint.

Why it matters​

Backend capabilities are discoverable only through API, and users miss warnings about branch behavior before publishing a workflow.

Existing controls and workarounds​

Author only Spark Kubernetes tasks in the current UI. Validate more advanced definitions through approved backend tooling before publication.

Alternatives considered​

  1. Recommended: capability-driven task palette and backend semantic validation.
  2. Keep UI intentionally Spark-only and hide other types from public backend metadata.
  3. Allow raw JSON/YAML advanced mode — only with the same schema, validation, secret, and permission contract.

Component involvement​

  • sparqd/workflow-backend owns type catalog and semantic rules.
  • sparqd/oqullus owns type forms and warning presentation.
  • Product declares which backend capabilities are released in the UI.

Reproduction and verification​

Follow WF-S004.

Resolution conditions​

Close when exposed task types match the declared product set and every saved definition passes backend validation with warnings reviewed.

Validation and blockers​

Oqullus, workflow-backend, product, and Airflow operator owners must validate.