Skip to main content

UX-ML-003 — Make target and clustering modes explicit

FieldValue
StatusOpen product and UX finding; source-verified
SeverityMedium
Componentssparqd/oqullus, sparqd/agent-based-ml-platform
Associated issuesNot opened pending finding review

Concrete observed case​

Oqullus labels Target Column as optional. Selecting a target starts supervised classification or regression; leaving it empty does not infer a target and instead starts unsupervised clustering. The distinction is visible only as a None (Unsupervised) dropdown option and is not explained as the primary choice of workflow goal.

The backend also retains labeling in the no-target pipeline. On the normal request path, the deterministic YAML generator receives no schema-column list and emits the fallback rule 1 == 1 -> default_label. That scalar condition does not produce the row mask expected by the Labeling agent. The agent records the rule error internally, returns success with zero labels, and passes the data through unchanged. Model Building later selects clustering and model validation writes a separate result containing cluster. Showing Labeling as a successful, meaningful pipeline stage is therefore misleading in this path.

Expected condition​

Ask the user to choose the task before configuration:

  • Predict an outcome requires a target and explains whether the resulting task is classification or regression.
  • Discover groups requires no target, states that only numeric features are used, and explains that clustering creates a cluster result.

The submitted request should carry an explicit task type instead of using a missing target as the mode switch. Pipeline progress should contain only stages that perform work. Labeling should appear only when rules or another real label creation operation are configured.

Why it matters​

Optional normally implies that omitting a field preserves the same operation or allows the system to infer it. Here omission changes the ML problem entirely. Users can unintentionally train a clustering model, misunderstand its metrics, or wait for a Labeling stage that does not create anything.

Existing controls and workarounds​

The target dropdown includes None (Unsupervised), and results identify the eventual learning and problem type. A knowledgeable user can deliberately leave the target empty for clustering. The distinction is not clear before the run, and the displayed stage plan remains inaccurate.

Alternatives considered​

  1. Recommended: explicit Predict an outcome versus Discover groups task selection, with mode-specific fields, validation, help text, and stage plan.
  2. Keep one form but rename the field to Prediction target and add persistent no-target help. This is smaller but still encodes mode through omission.
  3. Automatically infer a target. Rejected because choosing what to predict is a user intent and governance decision, not a safe schema inference.

Component involvement​

  • Oqullus owns task selection, explanation, mode-specific validation, and the visible stage sequence.
  • AutoML backend owns the explicit task contract and conditional workflow plan; it should not schedule Labeling when no labeling operation is configured.

Reproduction and verification​

Follow ML-S015.

Resolution conditions​

Close when users choose prediction or clustering explicitly before starting, the API records that intent, validation matches the chosen task, and every visible pipeline stage performs the operation its label describes.

Validation and blockers​

The frontend request behavior, backend mode selection, clustering candidates, and ineffective default Labeling behavior are source-verified. Backend claims were reverified against sparqd/agent-based-ml-platform@3112ee9f7e721a5ad730073bca26bbb755218dd3; see the backend evidence map. A representative no-target live run remains pending.