Package managers & environment repair
Install toolchains and repair broken runtimes with Homebrew, winget, apt, pip/conda.
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
- Typical applications
- Homebrew · winget · apt · conda
- Class GUI-need label
CL· CLI-sufficient
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R01.03.01.02-T01 Install CLI tools with Homebrew and record a Brewfile
Original instruction
Install ripgrep, fd and jq with Homebrew, then write ~/Brewfile with `brew bundle dump` so it lists exactly the formulae and casks now installed. Do not upgrade unrelated packages.
- Platforms
mac· macOS- Applications
- Homebrew
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
brew list includes ripgrep, fd, jq; ~/Brewfile parsed equals `brew bundle dump --file=-` output from grader; versions of seeded formulae unchanged.
Proposed partial credit
45% three tools installed; 40% Brewfile accurate; 15% no unrelated upgrades
R01.03.01.02-T02 Export winget inventory and pin Git
Original instruction
Export the installed packages that winget knows to C:\out\apps.json, then pin Git.Git to its currently installed version so `winget upgrade --all` skips it.
- Platforms
win· Windows- Applications
- winget
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
apps.json is valid winget export schema and package set equals grader's `winget export`; `winget pin list` contains Git.Git with pin type Pinning at installed version; dry-run upgrade --all excludes Git.
Proposed partial credit
50% valid complete export; 50% Git pinned at current version
R01.03.01.02-T03 Downgrade and hold a specific nginx build
Original instruction
On Ubuntu 24.04 install nginx exactly at version 1.24.0-2ubuntu7 from the local mirror (a newer build is available), hold it so upgrades skip it, and make sure the nginx service is running.
- Platforms
lin· Linux- Applications
- apt
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
dpkg-query nginx version exact; apt-mark showhold includes nginx (and nginx-common if required); `apt-get -s upgrade` does not upgrade nginx; systemctl is-active nginx = active.
Proposed partial credit
50% exact version; 30% held; 20% service running
R01.03.01.02-T04 Fix 'conda: command not found' in zsh
Original instruction
Miniconda is installed at ~/miniconda3 but new zsh terminals say 'conda: command not found'. Fix it so a fresh login zsh can run `conda activate base` without auto-activating base on startup.
- Platforms
mac· macOSlin· Linux- Applications
- conda
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Grader starts `zsh -l -i -c 'conda activate base && python -c "import sys;print(sys.prefix)"'` → prefix ~/miniconda3; fresh shell CONDA_DEFAULT_ENV unset; ~/.condarc auto_activate_base false.
Proposed partial credit
60% conda works in a fresh shell; 25% activate works; 15% base not auto-activated
R01.03.01.02-T05 Rebuild a venv broken by a Python upgrade
Original instruction
~/proj/.venv broke after Homebrew upgraded Python (dangling interpreter symlinks). Recreate it with Python 3.12 using the exact versions in requirements.lock and make `pytest -q` pass.
- Platforms
mac· macOS- Applications
- Homebrew · pip · venv
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
~/proj/.venv/bin/python resolves to a 3.12 interpreter; `pip freeze` equals requirements.lock exactly; pytest exit code 0 (grader runs in clean shell).
Proposed partial credit
30% working venv on 3.12; 40% exact package set; 30% tests pass
R01.03.01.02-T06 Resolve a pandas/numpy dependency conflict
Original instruction
In ~/analytics, `pip install -r requirements.txt` fails with a resolver conflict (pandas, numpy, pyarrow, a private wheel needing numpy<2). Edit only requirements.txt with the least loosening needed so install succeeds and `pytest` passes.
- Platforms
mac· macOSlin· Linuxwin· Windows- Applications
- pip
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Fresh venv install from the edited file succeeds; pytest passes; diff of requirements.txt changes ≤3 lines and keeps the private wheel pin; numpy<2 satisfied.
Proposed partial credit
40% install succeeds; 40% tests pass; 20% minimal diff
R01.03.01.02-T07 Make an unsolvable conda environment solve
Original instruction
`conda env create -f environment.yml` fails with strict channel priority. Adjust the file minimally so it solves while keeping python=3.11, pytorch CPU-only from the pytorch channel, and strict priority. Create the env 'proj311'.
- Platforms
mac· macOSlin· Linuxwin· Windows- Applications
- conda · mamba
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
conda env list has proj311; inside it python 3.11.x, torch import works with cuda unavailable and build string cpu; .condarc channel_priority strict; environment.yml diff ≤4 lines.
Proposed partial credit
40% env created; 30% constraints honored; 30% minimal changes
R01.03.01.02-T08 Per-project Node version with a default of 20
Original instruction
Project ~/web-legacy needs Node 18 per its .nvmrc, while the user default must stay Node 20. Install a version manager (fnm or nvm), make Node 18 activate automatically when entering the project, and get `npm ci && npm test` passing there.
- Platforms
mac· macOSlin· Linux- Applications
- fnm · nvm · npm
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Fresh login shell: `node -v` 20.x in ~ and 18.x after `cd ~/web-legacy` (auto-switch hook); npm ci and npm test exit 0 in the project.
Proposed partial credit
30% both versions installed; 30% auto-switch; 40% project install and tests pass
R01.03.01.02-T09 Stop the Store alias hijacking python on Windows
Original instruction
Typing `python` opens the Microsoft Store although Python 3.12 from python.org is installed. Turn off the App execution aliases for python.exe and python3.exe in Settings, fix the user PATH order, and confirm `python --version` and `pip --version` refer to 3.12.
- Platforms
win· Windows- Applications
- Windows Settings · PowerShell
- Interfaces
desk· Desktop GUIterm· Terminal- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickcode· Code & commands- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
WindowsApps alias stubs disabled (AppExecutionAlias state); new PowerShell: `python --version` = 3.12.x, `where python` first hit under the python.org install, pip from same prefix.
Proposed partial credit
40% aliases disabled; 30% PATH order; 30% python and pip resolve to 3.12
R01.03.01.02-T10 Get brew doctor to 'ready to brew'
Original instruction
`brew doctor` reports unlinked kegs, a stale Xcode CLT, wrong ownership under /opt/homebrew, and a broken symlink in /opt/homebrew/bin. Fix every warning without uninstalling Homebrew or any user-installed formula.
- Platforms
mac· macOS- Applications
- Homebrew · xcode-select
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
`brew doctor` exits 0 with 'Your system is ready to brew.'; brew list set equals seed; ownership of /opt/homebrew is the user; CLT version ≥ required.
Proposed partial credit
25% unlinked kegs fixed; 25% Xcode CLT updated; 25% /opt/homebrew ownership fixed; 25% broken symlink fixed
R01.03.01.02-T11 Repair a broken apt state without weakening security
Original instruction
Ubuntu has an interrupted dpkg run, a package with unmet dependencies, and a third-party repo whose GPG key expired. Repair so `apt update` and `apt -s upgrade` succeed. Do not use --allow-unauthenticated, trusted=yes or disable signature checks.
- Platforms
lin· Linux- Applications
- apt · dpkg
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 5 / 5
Proposed verifier
`dpkg --audit` empty; `apt-get check` OK; `apt update` exit 0 with no NO_PUBKEY/EXPKEYSIG; repo key refreshed from fixture keyserver into /etc/apt/keyrings with signed-by; grep for trusted=yes/allow-unauthenticated in sources -> 0.
Proposed partial credit
30% dpkg fixed; 30% dependencies resolved; 30% repo key renewed properly; 10% no insecure flags
R01.03.01.02-T12 Two JDKs with per-project selection
Original instruction
Install Temurin 17 and 21 with Homebrew casks. Make 21 the shell default (JAVA_HOME via /usr/libexec/java_home), and configure ~/proj-a's Gradle build to compile with a Java 17 toolchain. `./gradlew build` must pass there.
- Platforms
mac· macOS- Applications
- Homebrew · Gradle
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
`/usr/libexec/java_home -V` lists 17 and 21; fresh shell `java -version` 21; proj-a build.gradle(.kts) declares toolchain 17; compiled class files major version 61; gradlew build exit 0.
Proposed partial credit
30% both JDKs; 20% default 21; 50% project builds with 17 toolchain
R01.03.01.02-T13 Pinned Rust nightly with a wasm target
Original instruction
In ~/wasm-demo add a rust-toolchain.toml pinning nightly-2026-09-01 with components clippy and rustfmt and target wasm32-unknown-unknown. `cargo build --release --target wasm32-unknown-unknown` and `cargo clippy` must succeed.
- Platforms
mac· macOSlin· Linuxwin· Windows- Applications
- rustup · cargo
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
rust-toolchain.toml content parsed; `rustup show` in the dir reports the pinned toolchain; release .wasm exists; clippy exit 0; global default toolchain unchanged.
Proposed partial credit
30% toolchain file; 20% components/target installed; 40% build+clippy pass; 10% global default unchanged
R01.03.01.02-T14 Upgrade everything but pinned apps and repair 7-Zip
Original instruction
Run winget so all upgradable packages are upgraded except those pinned (Git, Node.js LTS). 7-Zip's install is corrupted (missing 7z.dll); repair it with winget. Record the final versions to C:\out\versions.txt.
- Platforms
win· Windows- Applications
- winget
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
`winget upgrade` (grader) lists only pinned items; Git/Node versions unchanged; 7z.exe runs `7z i` successfully; versions.txt matches grader inventory for the 6 seeded packages.
Proposed partial credit
40% upgrades done respecting pins; 40% 7-Zip repaired; 20% versions.txt
R01.03.01.02-T15 Non-admin tool setup with Scoop
Original instruction
As a standard user without admin rights, install Scoop, add the 'extras' bucket, and install git, neovim and windows-terminal into the user scope. `nvim --version` must work from a new terminal.
- Platforms
win· Windows- Applications
- Scoop · PowerShell
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
~\scoop exists; `scoop bucket list` includes extras; `scoop list` has the three apps; new PowerShell resolves nvim to ~\scoop\shims; no UAC elevation events in the log.
Proposed partial credit
25% Scoop installed; 15% bucket; 45% three apps; 15% no elevation used
R01.03.01.02-T16 Run an x86-only formula beside native Homebrew
Original instruction
On Apple Silicon, legacy tool 'oldtool' only builds for x86_64. Set up an Intel Homebrew under /usr/local run through Rosetta, install oldtool there, and keep /opt/homebrew first in PATH so other tools stay arm64. Add an 'oldtool' shell alias that works in new shells.
- Platforms
mac· macOS- Applications
- Homebrew · Rosetta
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 5 / 5
Proposed verifier
/usr/local/bin/brew exists (x86_64); `file` on oldtool shows x86_64 and it runs; `which brew` in fresh shell = /opt/homebrew/bin/brew; arm64 formula count unchanged; alias resolves in new zsh.
Proposed partial credit
30% Intel Homebrew; 30% oldtool runs; 25% PATH order kept; 15% alias
R01.03.01.02-T17 Install MSVC build tools so a native wheel compiles
Original instruction
`pip install fixtures\fastgeo-0.3.tar.gz` fails because a C++ compiler is missing. Use the Visual Studio Installer GUI to add Build Tools with the 'Desktop development with C++' workload and Windows 11 SDK 10.0.22621, then install the package and import it.
- Platforms
win· Windows- Applications
- Visual Studio Installer · pip
- Interfaces
desk· Desktop GUIterm· Terminal- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clickcode· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
vswhere (grader) shows BuildTools with VCTools workload and SDK 22621 component; fastgeo importable in the venv; vs_buildtools.exe command-line --add switches by agent flagged (GUI step required).
Proposed partial credit
30% workload installed; 20% specific SDK; 50% wheel builds and imports
R01.03.01.02-T18 Install Command Line Tools through the system prompt
Original instruction
On a fresh Mac, running `git --version` shows the 'install command line developer tools' dialog. Install the tools through that dialog, accept the license, and confirm `xcode-select -p` and `git --version` work.
- Platforms
mac· macOS- Applications
- xcode-select · installers
- Interfaces
desk· Desktop GUIterm· Terminal- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clickcode· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
`xcode-select -p` = /Library/Developer/CommandLineTools; `git --version` exits 0; install log shows the softwareupdate GUI install (not a downloaded .pkg via installer -pkg).
Proposed partial credit
60% CLT installed; 20% license accepted; 20% git works
R01.03.01.02-T19 Turn loose requirements into a hashed, reproducible lock
Original instruction
~/svc/requirements.in lists 14 loose dependencies. Produce a lock with uv (or pip-tools) that pins every transitive dependency with sha256 hashes for Python 3.12 on Linux x86_64, and prove it by syncing a clean venv and running `pytest`.
- Platforms
lin· Linuxmac· macOS- Applications
- uv · pip-tools
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Lock file: every package pinned ==, each with ≥1 --hash; grader syncs it in a clean python:3.12 container with --require-hashes and runs pytest (exit 0); two syncs yield identical `pip freeze`.
Proposed partial credit
35% full pins; 25% hashes; 40% clean reproduction passes
R01.03.01.02-T20 Fix a PyTorch install that cannot see the GPU
Original instruction
On the GPU test VM, `torch.cuda.is_available()` is False in env 'train' because a CPU wheel and a mismatched CUDA runtime were mixed. Repair the env to a torch build matching the installed driver (CUDA 12.1 wheels), keeping torchvision/torchaudio compatible and other packages unchanged.
- Platforms
lin· Linux- Applications
- conda · pip · nvidia-smi
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 5 / 5
Proposed verifier
In env: torch.version.cuda startswith '12.1', cuda available, a 1024×1024 matmul runs on GPU; torchvision/torchaudio versions match torch's release matrix; pip freeze of other packages equals seed.
Proposed partial credit
40% GPU visible; 30% companion packages compatible; 30% no collateral package changes
Mapped research references
Existing benchmark-to-class links from the research catalog. They are not record-level annotations, executions or product endorsements.