From d5e1cf3696b2a9dcfd7ee286ed9a130f7da39c8a Mon Sep 17 00:00:00 2001 From: claudecode0 Date: Sun, 26 Apr 2026 15:00:37 -0600 Subject: [PATCH] fix: forzar PYTHONIOENCODING=utf-8 en scripts con python -c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit En Windows el stdout de Python defaultea a cp1252 y crashea con UnicodeEncodeError al imprimir literales no-ASCII (e.g. el ✓ del print de éxito de pr-create.sh). El sintoma era que el PR se creaba OK pero el script terminaba con exit 1 por el crash del print posterior. Agrego export PYTHONIOENCODING=utf-8 después de set -euo pipefail en los 10 scripts que invocan python (todos menos query.sh). Cubre tanto las invocaciones inline como futuras sin tener que acordarse caso por caso. Mantiene los literales unicode existentes (✓, →, ─, ⚠️). --- scripts/actions-list-runs.sh | 4 ++++ scripts/actions-logs.sh | 4 ++++ scripts/actions-view.sh | 4 ++++ scripts/pr-comments.sh | 4 ++++ scripts/pr-create.sh | 5 +++++ scripts/pr-list.sh | 4 ++++ scripts/pr-view.sh | 4 ++++ scripts/repo-create.sh | 4 ++++ scripts/repo-list.sh | 4 ++++ scripts/setup.sh | 4 ++++ 10 files changed, 41 insertions(+) diff --git a/scripts/actions-list-runs.sh b/scripts/actions-list-runs.sh index a09267c..7b26879 100644 --- a/scripts/actions-list-runs.sh +++ b/scripts/actions-list-runs.sh @@ -13,6 +13,10 @@ set -euo pipefail +# Forzar UTF-8 en stdout de Python (Windows defaultea a cp1252 y crashea con +# literales no-ASCII). Ver memoria feedback_api_utf8_encoding.md. +export PYTHONIOENCODING=utf-8 + SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" QUERY="$SKILL_DIR/scripts/query.sh" diff --git a/scripts/actions-logs.sh b/scripts/actions-logs.sh index c423868..e0b31c1 100644 --- a/scripts/actions-logs.sh +++ b/scripts/actions-logs.sh @@ -20,6 +20,10 @@ set -euo pipefail +# Forzar UTF-8 en stdout de Python (Windows defaultea a cp1252 y crashea con +# literales no-ASCII). Ver memoria feedback_api_utf8_encoding.md. +export PYTHONIOENCODING=utf-8 + SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" QUERY="$SKILL_DIR/scripts/query.sh" diff --git a/scripts/actions-view.sh b/scripts/actions-view.sh index a596304..cbff1e2 100644 --- a/scripts/actions-view.sh +++ b/scripts/actions-view.sh @@ -14,6 +14,10 @@ set -euo pipefail +# Forzar UTF-8 en stdout de Python (Windows defaultea a cp1252 y crashea con +# literales no-ASCII). Ver memoria feedback_api_utf8_encoding.md. +export PYTHONIOENCODING=utf-8 + SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" QUERY="$SKILL_DIR/scripts/query.sh" diff --git a/scripts/pr-comments.sh b/scripts/pr-comments.sh index 30d7ee9..e2c6301 100644 --- a/scripts/pr-comments.sh +++ b/scripts/pr-comments.sh @@ -11,6 +11,10 @@ set -euo pipefail +# Forzar UTF-8 en stdout de Python (Windows defaultea a cp1252 y crashea con +# literales no-ASCII). Ver memoria feedback_api_utf8_encoding.md. +export PYTHONIOENCODING=utf-8 + SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" QUERY="$SKILL_DIR/scripts/query.sh" diff --git a/scripts/pr-create.sh b/scripts/pr-create.sh index a085503..055ee57 100644 --- a/scripts/pr-create.sh +++ b/scripts/pr-create.sh @@ -14,6 +14,11 @@ set -euo pipefail +# Forzar UTF-8 en stdout de Python. Windows defaultea a cp1252 y crashea +# con literales no-ASCII (e.g. el `OK`/`->` aquí abajo o un PR title con ñ). +# Ver memoria feedback_api_utf8_encoding.md. +export PYTHONIOENCODING=utf-8 + SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" QUERY="$SKILL_DIR/scripts/query.sh" diff --git a/scripts/pr-list.sh b/scripts/pr-list.sh index 2d80d1f..3b5fa16 100644 --- a/scripts/pr-list.sh +++ b/scripts/pr-list.sh @@ -9,6 +9,10 @@ set -euo pipefail +# Forzar UTF-8 en stdout de Python (Windows defaultea a cp1252 y crashea con +# literales no-ASCII). Ver memoria feedback_api_utf8_encoding.md. +export PYTHONIOENCODING=utf-8 + SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" QUERY="$SKILL_DIR/scripts/query.sh" diff --git a/scripts/pr-view.sh b/scripts/pr-view.sh index d1324f4..b709262 100644 --- a/scripts/pr-view.sh +++ b/scripts/pr-view.sh @@ -7,6 +7,10 @@ set -euo pipefail +# Forzar UTF-8 en stdout de Python (Windows defaultea a cp1252 y crashea con +# literales no-ASCII). Ver memoria feedback_api_utf8_encoding.md. +export PYTHONIOENCODING=utf-8 + SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" QUERY="$SKILL_DIR/scripts/query.sh" diff --git a/scripts/repo-create.sh b/scripts/repo-create.sh index 66013cc..7b2b482 100644 --- a/scripts/repo-create.sh +++ b/scripts/repo-create.sh @@ -21,6 +21,10 @@ set -euo pipefail +# Forzar UTF-8 en stdout de Python (Windows defaultea a cp1252 y crashea con +# literales no-ASCII). Ver memoria feedback_api_utf8_encoding.md. +export PYTHONIOENCODING=utf-8 + SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" QUERY="$SKILL_DIR/scripts/query.sh" ENV_FILE="$SKILL_DIR/.env" diff --git a/scripts/repo-list.sh b/scripts/repo-list.sh index 069ac92..f123b08 100644 --- a/scripts/repo-list.sh +++ b/scripts/repo-list.sh @@ -15,6 +15,10 @@ set -euo pipefail +# Forzar UTF-8 en stdout de Python (Windows defaultea a cp1252 y crashea con +# literales no-ASCII). Ver memoria feedback_api_utf8_encoding.md. +export PYTHONIOENCODING=utf-8 + SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" QUERY="$SKILL_DIR/scripts/query.sh" ENV_FILE="$SKILL_DIR/.env" diff --git a/scripts/setup.sh b/scripts/setup.sh index 6d481c8..e3e96aa 100644 --- a/scripts/setup.sh +++ b/scripts/setup.sh @@ -12,6 +12,10 @@ set -euo pipefail +# Forzar UTF-8 en stdout de Python (Windows defaultea a cp1252 y crashea con +# literales no-ASCII). Ver memoria feedback_api_utf8_encoding.md. +export PYTHONIOENCODING=utf-8 + SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" ENV_FILE="$SKILL_DIR/.env" ENV_EXAMPLE="$SKILL_DIR/.env.example"