Context
install.sh was developed on macOS and exercised under WSL. CI now mechanizes the installer-centric checks on Ubuntu (see the install.sh smoke (ubuntu) job in .github/workflows/test.yml, added for this issue): it runs install.sh --help, a real install into a scratch target, the --target override (Codex layout), and python3 work_plan.py --help, asserting each lands. The Python suite already runs on ubuntu-latest across 3.9–3.12.
What CI cannot prove — and what this issue now tracks — is the package-manager one-liners and non-Ubuntu distros. CI installs the yq binary directly rather than going through the README's apt/pacman/dnf instructions, so those paths (and the mikefarah-vs-kislyuk yq distinction they produce) are still unverified by a human on real distros.
Remaining acceptance criteria (manual)
Already covered by CI (no manual action needed)
Run ./install.sh → install.sh smoke (ubuntu) job
Run ./install.sh --target=$HOME/.agents → smoke job (Codex-layout override)
Run ./install.sh --help → smoke job
Run python3 work_plan.py --help → smoke job
Python suite on Linux → unittest matrix (ubuntu-latest, 3.9–3.12)
Pointers
- README "Requirements" section has the per-distro install one-liners — flag any that are wrong/outdated
install.sh is POSIX-ish bash with set -euo pipefail
Effort
~15-30 minutes per distro (one-liner verification only — the installer mechanics are now CI-covered).
Context
install.shwas developed on macOS and exercised under WSL. CI now mechanizes the installer-centric checks on Ubuntu (see theinstall.sh smoke (ubuntu)job in.github/workflows/test.yml, added for this issue): it runsinstall.sh --help, a real install into a scratch target, the--targetoverride (Codex layout), andpython3 work_plan.py --help, asserting each lands. The Python suite already runs onubuntu-latestacross 3.9–3.12.What CI cannot prove — and what this issue now tracks — is the package-manager one-liners and non-Ubuntu distros. CI installs the
yqbinary directly rather than going through the README'sapt/pacman/dnfinstructions, so those paths (and the mikefarah-vs-kislyukyqdistinction they produce) are still unverified by a human on real distros.Remaining acceptance criteria (manual)
gh,git,yq,python3) using the README one-liners — confirm they work as writtenpacman— confirm the one-liner is correctdnfyqthe README one-liner installs ismikefarah/yq(Go binary), NOTkislyuk/yq(Python jq wrapper) — see CONTRIBUTING.md. This is the highest-risk item: distro repos sometimes ship the wrongyq.yqpackaging or Python version skew), and flag any README one-liner that's wrong/outdatedAlready covered by CI (no manual action needed)
Run→./install.shinstall.sh smoke (ubuntu)jobRun→ smoke job (Codex-layout override)./install.sh --target=$HOME/.agentsRun→ smoke job./install.sh --helpRun→ smoke jobpython3 work_plan.py --helpPython suite on Linux→unittestmatrix (ubuntu-latest, 3.9–3.12)Pointers
install.shis POSIX-ish bash withset -euo pipefailEffort
~15-30 minutes per distro (one-liner verification only — the installer mechanics are now CI-covered).