Cluster YAMLs hardcode an allocation-assigned, expiring workspace path
- Dominant language
- Python
- Stars
- 1
- Forks
- 4
- Avg merge
- 15h 39m
- Merged PRs (30d)
- 24
Description
`clusters/unity.yaml` hardcodes `/scratch4/workspace/${USER}-mechababs` in three places. Both halves of that path are wrong to hardcode:
- the **`/scratchN` index is allocation-assigned** — another user, or the same user with a different allocation, gets a different number
- the **workspace expires** (30 days), so the path is temporary even for us
Unity provides `ws_find mechababs` to resolve it, which is what a human runs today before every session.
## Candidates
- resolve it in the cluster YAML's `script_preamble` via `ws_find`, so the path is discovered per-job rather than written down
- make it a `{{...}}` substitution, like the existing `{{MECHABABS_VENV}}` placeholder, filled at compose time
Either keeps the cluster axis honest: a cluster config should describe *how to find* the machine's scratch, not one person's current allocation.
Related: the pipeline-vs-cluster config composition question, which this is another instance of; #6 (avoid abspaths).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with clusters/unity.yaml and inspect the three hardcoded workspace paths, the script_preamble, and the existing {{MECHABABS_VENV}} substitution. Compare resolving mechababs with ws_find per job against filling a substitution at compose time. Done means the allocation-assigned, expiring path is no longer hardcoded and the cluster config explains how to find the workspace.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, yaml
- Domain
- devops, infrastructure
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100