NatLabRockies / NatLabRockies/torc

Simplify and Clarify Job State Model for Improved Consistency and Documentation

Open
#29 1 comment 0 reactions 0 assignees View on GitHub

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 disabled as a runtime state
    The disabled state 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 ready and pending in 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 for pending: “Job was claimed and is waiting for resources to run.”

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.