E3SM-Project / E3SM-Project/simboard
[Enhancement]: Add full simulation lifecycle state detection (queued, running, failed)
- 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
Assessment
This issue has not been assessed yet.