pixi Rich Platform Specifiers
Make pixi platforms carry rich specifiers such as architecture and OS version so environments resolve against the right variants.
Results
Each square represents one run. Score is the percentage of runs that pass: 0, 25, 50, 75, or 100 for four runs.
| # | Model | Rollouts | Pass@1 | Score | Time |
|---|---|---|---|---|---|
| 1 | GPT-6 Astra xhigh | 4/4 | 2.2h | ||
| 2 | Claude Opus 5.5 max | 4/4 | 2.3h | ||
| 3 | Qwen3.8 Max xhigh | 4/4 | 4.8h | ||
| 4 | Claude Sonnet 5.5 max | 3/4 | 5.5h | ||
| 5 | GPT-5.6 Sol max | 1/4 | 4.8h | ||
| 6 | Muse Spark 1.3 max | 1/4 | 2.3h | ||
| 7 | Kimi K3 max | 1/4 | 6.7h | ||
| 8 | GPT-6.1 Sol max | 1/4 | 4.2h | ||
| 9 | Gemini 3.8 Flash high | 0/4 | 2.2h | ||
| 10 | GLM 5.3 Flash max | 0/4 | 7.9h | ||
| 11 | Grok 4.7 xhigh | 0/4 | 1.4h |
Background
pixi is a Rust package manager from prefix.dev on the conda ecosystem. A workspace lists target platforms as conda subdirs (such as linux-64) and describes machines separately as system requirements telling the solver which virtual packages to assume. That model cannot express the most common GPU setup: the same subdir locked twice, once with CUDA and once without. The agent adds rich platforms, matching the upstream change. Each platform now carries its own virtual packages, which reaches manifest parsing, environment resolution, the lock file's platform records, host selection at install time and a new command. Bare-platform workspaces and existing lock files behave as before.
Task
Each platform entry may now be an inline table with a subdir, an optional name, and virtual-package keys layered over the subdir's defaults. Features select platforms by name, each environment is solved and locked once per platform, and the lock file stays fresh across renames but not across a changed subdir or virtual package. Old system requirements keep working but cannot mix with rich entries, and install picks the first platform the host can run. A new pixi workspace platform command (add, edit, list, remove) manages entries and keeps the lock in sync. Existing commands accept platform names, synthesized names are pinned, and existing tests must still pass.
Workspace
The offline sandbox (4 CPUs, 8 GB, 8 hours) holds a full-history pixi checkout, Rust 1.94.0 with every crate cached offline, a prebuilt debug binary with compiled unit tests, and Python 3.12 with integration-test dependencies. Example workspaces demonstrate the feature. Generated workspaces and reference build are held out.
Verification
The committed HEAD is built in a separate environment; existing integration tests and test data may not be edited. Unit tests and offline Python integration tests passing on both starter and upstream builds must still pass. The binary runs on workspaces over a local channel whose packages depend on virtual packages, so locked versions reveal what each solve assumed. Cases include upstream feature tests plus five generated families: duplicate-subdir solving, system-requirements compatibility, lock staleness, CLI sequences and host selection, each compared against the upstream build. Every family must reach 90%.
Environment
- Toolchain
- Rust
- Compute
- 4 CPUs · 8 GB RAM
- Network
- Offline
- Time limit
- 8 hours
References
- pixi: The package manager the agent extends; the landed upstream rich-platforms change is the grading reference.
- conda virtual packages: The governing model for __cuda, __glibc, __osx and the other virtual packages, and their override variables.