From 546890a435405c9bc80c5e467ba3a93fabfa655c Mon Sep 17 00:00:00 2001 From: michele Date: Mon, 10 Aug 2026 00:39:24 +0200 Subject: [PATCH] fix(ops): align run_205_followup_via_agy.sh to production wrapper spec --- .../205_followup_prompt.template.txt | 16 ++++++ .../run_205_followup_via_agy.sh | 53 ++++++++++++++++--- 2 files changed, 63 insertions(+), 6 deletions(-) create mode 100644 scripts/ops/antigravity-cli/205_followup_prompt.template.txt diff --git a/scripts/ops/antigravity-cli/205_followup_prompt.template.txt b/scripts/ops/antigravity-cli/205_followup_prompt.template.txt new file mode 100644 index 0000000..5a4663a --- /dev/null +++ b/scripts/ops/antigravity-cli/205_followup_prompt.template.txt @@ -0,0 +1,16 @@ +Sei l'agent .205 per il progetto NetGescon. +Leggi AGENTS.md e skill-netgescon/control-tower/CURRENT-205.md. + +TASK DA ESEGUIRE: +{TASK_INPUT} + +Al termine dell'esecuzione, produci l'esito finale nel seguente formato obbligatorio: + +ESITO_205: +TASK_ID: +REPOSITORY: +BRANCH: +COMMIT: +TEST_ESEGUITI: +BLOCCO_DATI: +NOTE: diff --git a/scripts/ops/antigravity-cli/run_205_followup_via_agy.sh b/scripts/ops/antigravity-cli/run_205_followup_via_agy.sh index 7a612dd..78f65ce 100755 --- a/scripts/ops/antigravity-cli/run_205_followup_via_agy.sh +++ b/scripts/ops/antigravity-cli/run_205_followup_via_agy.sh @@ -4,6 +4,12 @@ set -euo pipefail export PATH="$HOME/.local/bin:$PATH" unset ANTIGRAVITY_LS_ADDRESS ANTIGRAVITY_CSRF_TOKEN ANTIGRAVITY_AGENT +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +REPO_DIR="$(cd "$SCRIPT_DIR/../../.." && pwd)" +TEMPLATE_FILE="$SCRIPT_DIR/205_followup_prompt.template.txt" +PARSER_SCRIPT="$SCRIPT_DIR/parse_205_runner_output.py" +MODEL="gemini-3.6-flash-high" + if command -v agy-ultra &>/dev/null; then EXEC_BIN="agy-ultra" elif command -v agy &>/dev/null; then @@ -13,13 +19,48 @@ else exit 1 fi -PROMPT_TEXT=$(cat -) - -if [ -n "$PROMPT_TEXT" ]; then - "$EXEC_BIN" -p "$PROMPT_TEXT" --model claude-sonnet-4-6 --add-dir /home/michele/netgescon-day0-backup -else - "$EXEC_BIN" -p "Leggi AGENTS.md e rispondi ACCOUNT_HEADLESS_OK" --model claude-sonnet-4-6 --add-dir /home/michele/netgescon-day0-backup +INPUT_TEXT="" +if [ ! -t 0 ]; then + INPUT_TEXT="$(cat -)" fi +if [ -f "$TEMPLATE_FILE" ]; then + TEMPLATE_CONTENT="$(cat "$TEMPLATE_FILE")" + if [ -n "$INPUT_TEXT" ]; then + if [[ "$TEMPLATE_CONTENT" == *"{TASK_INPUT}"* ]]; then + PROMPT="${TEMPLATE_CONTENT//\{TASK_INPUT\}/$INPUT_TEXT}" + else + PROMPT="${TEMPLATE_CONTENT}"$'\n\n'"${INPUT_TEXT}" + fi + else + PROMPT="${TEMPLATE_CONTENT}" + fi +else + if [ -n "$INPUT_TEXT" ]; then + PROMPT="$INPUT_TEXT" + else + PROMPT="Leggi AGENTS.md e CURRENT-205.md, verifica lo stato del sistema e rispondi con l'esito del task nel formato standard 205." + fi +fi +RAW_OUTPUT="$("$EXEC_BIN" -p "$PROMPT" --model "$MODEL" --add-dir "$REPO_DIR" 2>&1)" || true +REPO_VAL=$(git -C "$REPO_DIR" config --get remote.origin.url 2>/dev/null || echo "ssh://git@git.netgescon.it:2222/michele/netgescon-day0.git") +BRANCH_VAL=$(git -C "$REPO_DIR" rev-parse --abbrev-ref HEAD 2>/dev/null || echo "stabilization/205-zero") +COMMIT_VAL=$(git -C "$REPO_DIR" rev-parse HEAD 2>/dev/null || echo "") + +if ! grep -q "REPOSITORY:" <<< "$RAW_OUTPUT"; then + RAW_OUTPUT="${RAW_OUTPUT}"$'\n'"REPOSITORY: ${REPO_VAL}" +fi +if ! grep -q "BRANCH:" <<< "$RAW_OUTPUT"; then + RAW_OUTPUT="${RAW_OUTPUT}"$'\n'"BRANCH: ${BRANCH_VAL}" +fi +if ! grep -q "COMMIT:" <<< "$RAW_OUTPUT"; then + RAW_OUTPUT="${RAW_OUTPUT}"$'\n'"COMMIT: ${COMMIT_VAL}" +fi + +if [ -f "$PARSER_SCRIPT" ]; then + python3 "$PARSER_SCRIPT" <<< "$RAW_OUTPUT" +else + echo "$RAW_OUTPUT" +fi