diff --git a/packaging/mother/MOTHER-SETUP.md b/packaging/mother/MOTHER-SETUP.md index e2bc9c4..630a4a4 100644 --- a/packaging/mother/MOTHER-SETUP.md +++ b/packaging/mother/MOTHER-SETUP.md @@ -20,9 +20,10 @@ infrastructure. ## Prerequisites -- **`python3` on PATH** — `geodesic-dome-mcp` is a python3 script (standard - library only, no `pip install`). `setup-mother.sh` preflights this and aborts - if it is missing. Install with `pkg install python3`. +- **`python3` with `numpy` + `Pillow`** — `geodesic-dome-mcp` imports both at + module load (not stdlib-only). `setup-mother.sh` preflights that python3 exists + *and* that `numpy`/`PIL` actually import, aborting if either is missing. Install + with `pkg install python3 py311-numpy py311-pillow`. - **`COLIBRI_AUTOSPAWN_RPC_PROMPT` (a decision, not a dependency)** — the daemon reads this on boot (`crates/colibri-daemon/src/socket.rs`). Set it to have the daemon auto-spawn an agent with that opening prompt on boot; leave it unset for diff --git a/packaging/mother/setup-mother.sh b/packaging/mother/setup-mother.sh index 98c8c34..05f427c 100755 --- a/packaging/mother/setup-mother.sh +++ b/packaging/mother/setup-mother.sh @@ -74,7 +74,16 @@ if ! command -v python3 >/dev/null 2>&1; then echo " Install it first: pkg install python3" exit 1 fi -echo " python3: $(command -v python3) OK" +# geodesic-dome-mcp imports numpy + PIL at module load, so a present python3 +# is not enough — verify the modules actually import, or the tool fails only +# when the MCP host first calls it. +if ! python3 -c "import numpy, PIL" >/dev/null 2>&1; then + echo " ERROR: python3 present but numpy/Pillow are not importable." + echo " geodesic-dome-mcp needs both (imported at module load)." + echo " Install them: pkg install py311-numpy py311-pillow" + exit 1 +fi +echo " python3: $(command -v python3) (numpy + PIL OK)" echo "" # ── 1. colibri binaries ───────────────────────────────────────────────