From 55b2e0f5453486b484d1e298f0e16d7827c92579 Mon Sep 17 00:00:00 2001 From: alberto Date: Sun, 31 May 2026 20:21:59 +0200 Subject: [PATCH] Fix: corretti caratteri \n letterali nei commenti di triage - Esempio JSON nel prompt: corretto da \\n a \n (doppio escape ingannava il LLM) - Aggiunto safety net con printf '%b' su COMMENT e MD_CONTENT dopo jq - LINK_MD: sostituiti doppi apici con printf per interpretare correttamente i newline --- triage-issue/action.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/triage-issue/action.yml b/triage-issue/action.yml index 94af72b..1438df2 100644 --- a/triage-issue/action.yml +++ b/triage-issue/action.yml @@ -94,7 +94,7 @@ runs: '- "bug": malfunzionamento, errore, crash, anomalia, comportamento inaspettato' \ '- "richiesta": nuova funzionalità, miglioramento, refactoring, ottimizzazione, o dubbio' \ "Rispondi ESCLUSIVAMENTE con un JSON valido su una SINGOLA riga, senza nessun altro testo:" \ - '{"label":"bug","comment":"**Riassunto**: ...\\n\\n**Gap analisi**: codice mancante...\\n\\n**Domande aperte**:\\n1. ...","md":"# Analisi tecnica\\n\\n## Codice coinvolto\\n..."}' \ + '{"label":"bug","comment":"**Riassunto**: ...\n\n**Gap analisi**: codice mancante...\n\n**Domande aperte**:\n1. ...","md":"# Analisi tecnica\n\n## Codice coinvolto\n..."}' \ "Il campo 'comment' deve contenere: riassunto della issue, gap analisi (cosa manca rispetto al codice), domande aperte. Usa \\n per i newline." \ "Il campo 'md' deve contenere: analisi tecnica completa in formato markdown, file/moduli coinvolti, ipotesi root cause, proposta di fix. Usa \\n per i newline." \ "Titolo" "${{ inputs.issue-title }}" \ @@ -117,8 +117,10 @@ runs: MD_CONTENT="" else LABEL=$(echo "$JSON" | jq -r '.label // "richiesta"') - COMMENT=$(echo "$JSON" | jq -r '.comment // "Classificazione automatica."' | sed 's/\\n/\n/g') - MD_CONTENT=$(echo "$JSON" | jq -r '.md // ""' | sed 's/\\n/\n/g') + COMMENT=$(echo "$JSON" | jq -r '.comment // "Classificazione automatica."') + COMMENT=$(printf '%b' "$COMMENT") + MD_CONTENT=$(echo "$JSON" | jq -r '.md // ""') + MD_CONTENT=$(printf '%b' "$MD_CONTENT") fi case "$LABEL" in @@ -163,10 +165,7 @@ runs: -F "attachment=@${MD_FILE};filename=triage-issue-${ISSUE_NUM}.md" 2>/dev/null) ASSET_URL=$(echo "$ASSET_RESP" | jq -r '.browser_download_url // empty' 2>/dev/null) if [ -n "$ASSET_URL" ] && [ "$ASSET_URL" != "null" ]; then - LINK_MD=" - ---- -📎 **Analisi tecnica completa**: [triage-issue-${ISSUE_NUM}.md](${ASSET_URL})" + printf -v LINK_MD '\n\n---\n📎 **Analisi tecnica completa**: [triage-issue-%s.md](%s)' "$ISSUE_NUM" "$ASSET_URL" echo "Asset MD caricato: $ASSET_URL" else echo "WARN: Impossibile caricare il file MD come asset"