NatLabRockies / NatLabRockies/torc
Simplify and Clarify Job State Model for Improved Consistency and Documentation
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 19
- Forks
- 6
- Avg merge
- 11h 1m
- Merged PRs (30d)
- 1
Description
Summary
This issue proposes simplifying and clarifying the job state model to reduce ambiguity, remove overlapping meanings, and improve both documentation and implementation.
Proposed changes
-
Reduce overlapping terminal states (canceled / terminated)
Both represent jobs that are intentionally stopped before completion. Unless there is a strong requirement to distinguish user-initiated from system-initiated termination, these can likely be collapsed into a single terminal state (for example,canceled). -
Reduce overlapping dependency states (blocked / uninitialized)
Both represent jobs whose dependencies are not yet satisfied. The distinction between “created but not evaluated” and “evaluated but still waiting” may not be necessary. We could merge it into a single state that simply means “created but not runnable due to dependencies.” -
Remove
disabledas a runtime state
Thedisabledstate does not describe an execution phase, but rather a configuration/metadata flag. A disabled job means “do not schedule this job,” which is better modeled as a property (for example,enabled = false) instead of a runtime state in the lifecycle. -
Clarify the distinction between
readyandpendingin the documentation
The intended behavior seems to be:ready: job has satisfied all dependencies and is waiting in the queue to be claimed by a runner.pending: job has been claimed and is waiting for resources to start running.
Example wording forpending: “Job was claimed and is waiting for resources to run.”
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or entry points. First locate the current job-state definitions and their usages, then review how documentation describes each state; the work is done only after the state model is agreed and the implementation and documentation consistently reflect it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100