From d38a797aa9a88316e5d271a8cf7afd17d62468d3 Mon Sep 17 00:00:00 2001 From: openhands Date: Wed, 18 Mar 2026 21:29:21 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20correct=20runtime=20constraints=20?= =?UTF-8?q?=E2=80=94=20python3=20is=20a=20core=20dependency?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit python3 is used directly by dev/dev-poll.sh (JSON CI-fix tracker), lib/load-project.sh (TOML parsing via tomllib), and gardener/gardener-poll.sh (recipe-matching engine). Add it to the dependency list and rephrase the runtime constraint to reflect what is actually true. Co-Authored-By: Claude Sonnet 4.6 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 58c4c83..caa1dbe 100644 --- a/README.md +++ b/README.md @@ -170,8 +170,8 @@ disinto/ Disinto is intentionally opinionated about its own runtime. These are hard constraints, not preferences: - **Debian + GNU userland** — all scripts target Debian with standard GNU tools (`bash`, `awk`, `sed`, `date`, `timeout`). No portability shims for macOS or BSD. -- **Shell and binaries only** — disinto itself has no Python, Node.js, or other interpreted runtime dependencies. Every agent is a bash script. If you need a helper, write it in bash or use an existing binary. -- **Few, powerful dependencies** — the only required non-standard tools are `jq`, `curl`, `git`, `tmux`, and `psql`. Adding a new disinto-level dependency requires a strong justification. +- **Shell + a small set of runtimes** — every agent is a bash script. The only interpreted runtimes used by disinto core are `python3` (TOML parsing in `lib/load-project.sh`, JSON state tracking in `dev/dev-poll.sh`, recipe matching in `gardener/gardener-poll.sh`) and `claude` (the AI CLI). No Ruby, Perl, or other runtimes. Do not add new runtime dependencies without a strong justification. +- **Few, powerful dependencies** — required non-standard tools: `jq`, `curl`, `git`, `tmux`, `psql`, and `python3` (≥ 3.11 for `tomllib`; or install `tomli` for older Pythons). Adding anything beyond this list requires justification. - **Node.js and Foundry are target-project dependencies** — if your target repo uses Node or Solidity, install those on the host. They are not part of disinto's core and must not be assumed present in disinto scripts. The goal: any Debian machine with the prerequisites listed above can run disinto. Keep it that way.