Skip to content

[Enhancement]: Require case_hash and remove fallback subgroup behavior (follow up to #195 and #209) #215

Description

@tomvothecoder

Is your feature request related to a problem?

Follow-up to #195 and #209.
After removing the reference model, SimBoard still has two behavior paths:

  • normal subgroup-oriented workflows for runs with case_hash
  • fallback behavior for runs missing case_hash

Long term, that keeps extra branches in ingest, validation, and UI grouping.

Describe the solution you'd like

Require case_hash for all simulations and remove the missing-hash fallback path.

High-level target behavior:

  • every simulation has non-null case_hash
  • every run belongs to exactly one (case_id, case_hash) subgroup
  • ingest and manual create flows reject missing case_hash
  • frontend no longer shows Missing Case Hash fallback grouping
  • subgroup-oriented compare setup can assume case_hash is always present

Describe alternatives you've considered

Keep fallback support indefinitely for missing-case_hash data.

That preserves compatibility with older or incomplete data, but it also preserves extra backend and frontend branches that weaken the long-term case_hash-scoped model.

Additional context

Suggested follow-up scope:

  • audit and remediate existing rows with null case_hash
  • enforce non-null case_hash at the DB level
  • reject missing case_hash in parser, ingest, and manual create flows
  • remove missing-hash fallback UI/backend paths
  • update tests and docs for case_hash-required behavior

This issue assumes #195 lands first so the system already uses case_hash grouping without the old reference simulation model. We also need to remove existing data in the dev build at NERSC (simboard-dev.e3sm.org) before the migration can work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: ui/uxUser interface and user experience task.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions