A training request is a proposal to run training. It's the central object in TReqs, it's where the name TReqs comes from. It works the way a pull request does: you describe what you want to run, hand it off for review, document pre-run analysis, and execute when ready.
The reason for the review step is cost and accountability. A training run can occupy expensive hardware for hours or days. A training request makes the plan legible — the exact code, the exact stages, the exact machine — before anyone spends that.
What a request is made of
A training request ties together four things:
- Project it belongs to, which supplies the repository.
- Code: a source branch and, ultimately, a full immutable commit.
- Workflow file at that commit, the worflow defines the stages or tasks. See Workflows.
- Compute target it will run on. See Compute targets.
When a request is queued it produces a training run, which is the hand-off for execution.
Creating a TR
From the dashboard, open a project and choose New training request. From the CLI:
treqs tr create --title "Baseline run"
treqs tr create --title "Train v2" --workflow-path .treqs/workflows/train.yaml
treqs tr create --title "GPU run" --compute-target gpu-box --status open
Status flow
| Status | Meaning |
|---|---|
| Draft | (Optional) Being written. Not up for review, not runnable. |
| Open | Up for review, and — once approved — queueable. |
| Done | Finished. Its run completed. |
| Cancelled | Abandoned. Closed without completing. |
Opening for review
Opening a request is what puts it in front of reviewers. It requires a compute target — you can't ask someone to approve a run without saying where it will run:
treqs tr open <request-id> --compute-target gpu-box
treqs tr open <request-id> --compute-target gpu-box --reviewer alice
An open request needs at least one assigned reviewer before any approve or reject decision will be accepted. Assign them when you open it, or add them afterwards — --reviewer adds to whoever is already on the request, and can be repeated.
Review
Each assigned reviewer holds one of three states:
| Review state | Meaning |
|---|---|
| Pending | Assigned, hasn't decided yet. |
| Approved | Happy for this to run. |
| Changes Requested | Not yet — something needs to change first. |
Reviewers decide from the request page, or from the CLI:
treqs tr review approve <request-id>
treqs tr review reject <request-id> # ' = "Changes Requested"
treqs tr comment <request-id> --body "Can we pin the dataset version?"
Reviewers are notified when they're assigned and when a request they're reviewing changes. See Notifications.
Who can configure review controls
The admins allowed to configure training request controls for an organization's projects is itself a setting, under Configure → Permissions.
There are two modes:
- All Admins — any admin or owner of the organization can configure TR controls.
- Specific Admins — only the admins you name.
Queueing
Once a request is Open and approved, queue it:
treqs tr queue <request-id>
That creates a job and prints its ID. From there, Training runs takes over.