Skip to content

acq create fails for every OpenCode sandbox after #608 unless an exact-pinned validator Python exists; Homebrew installs can't provide one #618

Closed

Description

@basiliskus

What happened?

Since #608 (bd11c77), acq create validates every selected provider-role kit on the host before backend creation. The built-in usai-provider kit at PATTERNS_KIT_REF d2674db ships provider-input.json, so every OpenCode create now needs a Python with exactly PyYAML 6.0.3 and jsonschema 4.26.0. Without one, it stops:

acq: provider-input validation requires PyYAML 6.0.3 and jsonschema 4.26.0; found PyYAML=missing, jsonschema=missing
     Run: scripts/setup-provider-input-validator --apply
acq(msb): error: provider input projection failed for 'pi-repro'.

The suggested remedy doesn't work on common hosts:

  • Unsupported Python: scripts/setup-provider-input-validator --apply accepts only Python 3.12 on macOS arm64. Homebrew's current python3 is 3.14, so it exits with unsupported Python for provider-input validator on this host: Python 3.14.
  • Homebrew installs: the formula installs only acq and acq.backends into libexec. Tap users get neither the setup script nor a writable $ACQ_SCRIPT_DIR/.acq-tools. Once 4.2.0 (chore(main): release 4.2.0 #617) reaches the tap, their only path is a hand-built venv plus ACQ_PROVIDER_INPUT_PYTHON.

What did you expect?

acq create opencode works on a supported host after a normal install (Homebrew or the official installer), or the setup step that acq asks for succeeds there.

Steps to reproduce

On macOS arm64 with Homebrew Python 3.14 and no validator runtime:

acq --backend msb create opencode "$(mktemp -d)" --name pi-repro
# fails as above

scripts/setup-provider-input-validator --apply
# unsupported Python for provider-input validator on this host: Python 3.14

Workaround

A uv venv on Python 3.14 with the two pinned versions validates the usai-provider bundle, and a full create succeeds:

uv venv -p 3.14 ~/.local/share/acq/provider-input-venv
uv pip install -p ~/.local/share/acq/provider-input-venv/bin/python PyYAML==6.0.3 jsonschema==4.26.0
export ACQ_PROVIDER_INPUT_PYTHON=~/.local/share/acq/provider-input-venv/bin/python

Environment

  • macOS arm64, Homebrew python3 3.14
  • acq at bd11c77 (git checkout), msb 0.7.9
  • PATTERNS_KIT_REF d2674db

Possible directions

  • Have the Homebrew formula ship the validator runtime ([email protected] plus resources).
  • Relax the Python-minor gate; both packages are pure Python except PyYAML's optional C extension.
  • Use uv run --with when uv is present.
  • Hold chore(main): release 4.2.0 #617 until the setup path works for Homebrew installs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions