PBS support is implemented and removed from v0.2.0 as unverified. It has never been run against a real PBS/Torque scheduler.
What exists, and where
Introduced in 4b2aba5 (2025-06-24). At 299109f:
| Code |
Location |
| Job submission |
clustrix/executor_schedulers.py:218 submit_pbs_job |
| Status polling |
clustrix/executor_scheduler_status.py:489 _check_pbs_status |
| Dispatch |
clustrix/executor_core.py:111,547,571 |
| Script generation |
clustrix/utils.py:2772 _create_pbs_script; dispatch at :2509,2546 |
| Tutorial |
docs/source/notebooks/pbs_tutorial.ipynb |
Known defect found while auditing, never fixed
PBS was the one scheduler that never set up its remote environment -- SLURM and SGE staged and built a venv, PBS did not, so a PBS job ran against whatever interpreter happened to be on the node. That was corrected during the v0.2.0 sweep (all four schedulers now share one staging path), but the fix was itself never exercised against a real PBS queue. So the correction is as unverified as the original.
Why it is being removed rather than fixed
Not because the code is known to be wrong. Because it has never been run against the real thing, and shipping it in the cluster-type dropdown states otherwise. A user who selects it gets a code path no one has ever seen succeed.
v0.2.0 keeps exactly the four backends that have been demonstrated end to end -- local, ssh, slurm, huggingface -- and the documentation now says the rest are planned for a future release rather than currently supported.
Restoring it
Nothing is lost: every line cited above stays reachable in git history at the commits named. Reinstating it means reverting the removal commit and then doing the part that was never done -- running it against real hardware and recording the evidence in this issue.
Definition of done
PBS support is implemented and removed from v0.2.0 as unverified. It has never been run against a real PBS/Torque scheduler.
What exists, and where
Introduced in
4b2aba5(2025-06-24). At299109f:clustrix/executor_schedulers.py:218submit_pbs_jobclustrix/executor_scheduler_status.py:489_check_pbs_statusclustrix/executor_core.py:111,547,571clustrix/utils.py:2772_create_pbs_script; dispatch at:2509,2546docs/source/notebooks/pbs_tutorial.ipynbKnown defect found while auditing, never fixed
PBS was the one scheduler that never set up its remote environment -- SLURM and SGE staged and built a venv, PBS did not, so a PBS job ran against whatever interpreter happened to be on the node. That was corrected during the v0.2.0 sweep (all four schedulers now share one staging path), but the fix was itself never exercised against a real PBS queue. So the correction is as unverified as the original.
Why it is being removed rather than fixed
Not because the code is known to be wrong. Because it has never been run against the real thing, and shipping it in the cluster-type dropdown states otherwise. A user who selects it gets a code path no one has ever seen succeed.
v0.2.0 keeps exactly the four backends that have been demonstrated end to end --
local,ssh,slurm,huggingface-- and the documentation now says the rest are planned for a future release rather than currently supported.Restoring it
Nothing is lost: every line cited above stays reachable in git history at the commits named. Reinstating it means reverting the removal commit and then doing the part that was never done -- running it against real hardware and recording the evidence in this issue.
Definition of done
SUPPORTED_CLUSTER_TYPES, the widget dropdown and the CLI