E3SM-Project / E3SM-Project/simboard

[Enhancement]: Add full simulation lifecycle state detection (queued, running, failed)

Open
#100 0 comments 0 reactions 0 assignees View on GitHub
type: ui/ux
Dominant language
Python
Stars
1
Forks
2
Avg merge
25m
Merged PRs (30d)
14

Description

### Is your feature request related to a problem?

This is a post–Phase 1 (MVP) enhancement.

The current MVP supports manual browser uploads and cron-based detection of completed runs only. It does not track intermediate lifecycle states such as when a run is queued, actively running, or failed. This was intentionally deferred to keep MVP scope focused and deliverable.

### Describe the solution you'd like

Enhance simulation lifecycle management to support detection and persistence of full run states, including:

- Queued
- Running
- Failed
- Completed

This should include:

- Clear and enforced state transition rules
- Automatic updates based on job submission, execution start, completion, or failure
- Timestamp tracking for key lifecycle events
- Failure metadata (e.g., error message or reason)
- Consistent exposure of status via the API
- Clear status indicators in the UI

The goal is to make SimBoard the authoritative system of record for simulation execution state.

### Describe alternatives you've considered

- Continuing to detect only completed runs via cron
- Inferring state indirectly from logs or filesystem artifacts
- Relying solely on external schedulers for lifecycle visibility

These approaches limit observability and weaken SimBoard’s role as the central source of truth.

### Additional context

This enhancement enables:

- HPC scheduler integration
- Diagnostics workflow orchestration
- Improved operational monitoring
- Greater transparency for users and administrators

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.