dev #5

Merged
Latte merged 8 commits from dev into main 2026-01-01 14:04:36 +00:00
8 changed files with 366 additions and 331 deletions
Showing only changes of commit c8f56a1fe5 - Show all commits
+49 -30
View File
@@ -1,42 +1,61 @@
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
name: AI Chat (Bartender)
# WORKFLOW ROUTING:
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
# This workflow handles FREE-FORM questions/chat (no specific command)
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
# Other workflows: ai-issue-triage.yml (@codebot triage), ai-comment-reply.yml (specific commands)
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
# This is the FALLBACK for any @codebot mention that isn't a known command
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
on:
issue_comment:
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
types: [created]
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
issue_comment:
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
types: [created]
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
# CUSTOMIZE YOUR BOT NAME:
# Change '@ai-bot' below to match your config.yml mention_prefix
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
# Change '@codebot' in all conditions below to match your config.yml mention_prefix
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
# Examples: '@bartender', '@uni', '@joey', '@codebot'
jobs:
ai-chat:
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
# Only run if comment mentions the bot
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
if: contains(github.event.comment.body, '@codebot') # <-- Change this to your bot name
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
runs-on: ubuntu-latest
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
steps:
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
- uses: actions/checkout@v4
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
ai-chat:
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
# Only run if comment mentions the bot but NOT a specific command
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
# This prevents duplicate runs with ai-comment-reply.yml and ai-issue-triage.yml
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
# CRITICAL: Ignore bot's own comments to prevent infinite loops (bot username: Bartender)
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
if: |
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
github.event.comment.user.login != 'Bartender' &&
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
contains(github.event.comment.body, '@codebot') &&
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
!contains(github.event.comment.body, '@codebot triage') &&
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
!contains(github.event.comment.body, '@codebot help') &&
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
!contains(github.event.comment.body, '@codebot explain') &&
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
!contains(github.event.comment.body, '@codebot suggest') &&
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
!contains(github.event.comment.body, '@codebot security') &&
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
!contains(github.event.comment.body, '@codebot summarize') &&
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
!contains(github.event.comment.body, '@codebot changelog') &&
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
!contains(github.event.comment.body, '@codebot explain-diff') &&
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
!contains(github.event.comment.body, '@codebot review-again') &&
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
!contains(github.event.comment.body, '@codebot setup-labels')
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
runs-on: ubuntu-latest
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
steps:
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
- uses: actions/checkout@v4
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
- uses: actions/checkout@v4
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
with:
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
repository: Hiddenden/openrabbit
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
path: .ai-review
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
token: ${{ secrets.AI_REVIEW_TOKEN }}
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
- uses: actions/checkout@v4
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
with:
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
repository: Hiddenden/openrabbit
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
path: .ai-review
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
token: ${{ secrets.AI_REVIEW_TOKEN }}
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
- uses: actions/setup-python@v5
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
with:
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
python-version: "3.11"
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
- uses: actions/setup-python@v5
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
with:
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
python-version: "3.11"
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
- run: pip install requests pyyaml
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
- run: pip install requests pyyaml
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
- name: Run AI Chat
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
env:
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
AI_REVIEW_TOKEN: ${{ secrets.AI_REVIEW_TOKEN }}
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
AI_REVIEW_REPO: ${{ gitea.repository }}
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
AI_REVIEW_API_URL: https://git.hiddenden.cafe/api/v1
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
OLLAMA_HOST: ${{ secrets.OLLAMA_HOST }}
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
SEARXNG_URL: ${{ secrets.SEARXNG_URL }}
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
run: |
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
cd .ai-review/tools/ai-review
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
python main.py comment ${{ gitea.repository }} ${{ gitea.event.issue.number }} "${{ gitea.event.comment.body }}"
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
- name: Run AI Chat
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
env:
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
AI_REVIEW_TOKEN: ${{ secrets.AI_REVIEW_TOKEN }}
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
AI_REVIEW_REPO: ${{ gitea.repository }}
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
AI_REVIEW_API_URL: https://git.hiddenden.cafe/api/v1
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
OLLAMA_HOST: ${{ secrets.OLLAMA_HOST }}
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
SEARXNG_URL: ${{ secrets.SEARXNG_URL }}
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
run: |
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
cd .ai-review/tools/ai-review
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
python main.py comment ${{ gitea.repository }} ${{ gitea.event.issue.number }} "${{ gitea.event.comment.body }}"
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
Review

[LOW] Maintainability

The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions.

Recommendation: Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.

**[LOW] Maintainability** The 'if' condition to filter comments for free-form chat is very long and repetitive, checking for many negated contains() conditions. **Recommendation:** Consider defining a reusable list or pattern for commands to exclude or use a more maintainable approach if supported by the workflow engine, to reduce duplication and improve readability.
+86 -29
View File
@@ -1,41 +1,98 @@
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
name: AI Comment Reply
# WORKFLOW ROUTING:
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
# This workflow handles SPECIFIC commands: help, explain, suggest, security, summarize, changelog, explain-diff, review-again, setup-labels
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
# Other workflows: ai-issue-triage.yml (@codebot triage), ai-chat.yml (free-form questions)
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
on:
issue_comment:
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
types: [created]
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
issue_comment:
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
types: [created]
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
# CUSTOMIZE YOUR BOT NAME:
# Change '@ai-bot' below to match your config.yml mention_prefix
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
# Change '@codebot' in the 'if' condition below to match your config.yml mention_prefix
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
# Examples: '@bartender', '@uni', '@joey', '@codebot'
jobs:
ai-reply:
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
runs-on: ubuntu-latest
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
if: contains(github.event.comment.body, '@codebot') # <-- Change this to your bot name
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
steps:
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
- uses: actions/checkout@v4
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
ai-reply:
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
runs-on: ubuntu-latest
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
# Only run for specific commands (not free-form chat or triage)
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
# This prevents duplicate runs with ai-chat.yml and ai-issue-triage.yml
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
# CRITICAL: Ignore bot's own comments to prevent infinite loops (bot username: Bartender)
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
if: |
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
github.event.comment.user.login != 'Bartender' &&
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
(contains(github.event.comment.body, '@codebot help') ||
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
contains(github.event.comment.body, '@codebot explain') ||
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
contains(github.event.comment.body, '@codebot suggest') ||
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
contains(github.event.comment.body, '@codebot security') ||
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
contains(github.event.comment.body, '@codebot summarize') ||
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
contains(github.event.comment.body, '@codebot changelog') ||
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
contains(github.event.comment.body, '@codebot explain-diff') ||
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
contains(github.event.comment.body, '@codebot review-again') ||
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
contains(github.event.comment.body, '@codebot setup-labels'))
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
steps:
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
- uses: actions/checkout@v4
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
- uses: actions/checkout@v4
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
with:
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
repository: Hiddenden/openrabbit
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
path: .ai-review
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
token: ${{ secrets.AI_REVIEW_TOKEN }}
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
- uses: actions/checkout@v4
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
with:
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
repository: Hiddenden/openrabbit
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
path: .ai-review
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
token: ${{ secrets.AI_REVIEW_TOKEN }}
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
- uses: actions/setup-python@v5
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
with:
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
python-version: "3.11"
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
- uses: actions/setup-python@v5
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
with:
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
python-version: "3.11"
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
- run: pip install requests pyyaml
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
- run: pip install requests pyyaml
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
- name: Run AI Comment Response
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
env:
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
AI_REVIEW_TOKEN: ${{ secrets.AI_REVIEW_TOKEN }}
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
AI_REVIEW_REPO: ${{ gitea.repository }}
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
AI_REVIEW_API_URL: https://git.hiddenden.cafe/api/v1
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
OLLAMA_HOST: ${{ secrets.OLLAMA_HOST }}
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
run: |
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
cd .ai-review/tools/ai-review
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
python main.py comment ${{ gitea.repository }} ${{ gitea.event.issue.number }} \
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
"${{ gitea.event.comment.body }}"
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
- name: Run AI Comment Response
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
env:
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
AI_REVIEW_TOKEN: ${{ secrets.AI_REVIEW_TOKEN }}
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
AI_REVIEW_API_URL: https://git.hiddenden.cafe/api/v1
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
OLLAMA_HOST: ${{ secrets.OLLAMA_HOST }}
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
run: |
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
cd .ai-review/tools/ai-review
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
# Determine if this is a PR or issue comment
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
IS_PR="${{ gitea.event.issue.pull_request != null }}"
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
REPO="${{ gitea.repository }}"
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
ISSUE_NUMBER="${{ gitea.event.issue.number }}"
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
# Validate inputs
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
if [ -z "$REPO" ] || [ -z "$ISSUE_NUMBER" ]; then
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
echo "Error: Missing required parameters"
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
exit 1
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
fi
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
# Validate repository format (owner/repo)
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
if ! echo "$REPO" | grep -qE '^[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+$'; then
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
echo "Error: Invalid repository format: $REPO"
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
exit 1
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
fi
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
if [ "$IS_PR" = "true" ]; then
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
# This is a PR comment - use safe dispatch with minimal event data
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
# Build minimal event payload (does not include sensitive user data)
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
EVENT_DATA=$(cat <<EOF
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
{
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
"action": "created",
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
"issue": {
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
"number": ${{ gitea.event.issue.number }},
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
"pull_request": {}
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
},
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
"comment": {
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
"id": ${{ gitea.event.comment.id }},
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
"body": $(echo '${{ gitea.event.comment.body }}' | jq -Rs .)
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
}
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
}
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
EOF
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
)
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
# Use safe dispatch utility
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
python utils/safe_dispatch.py issue_comment "$REPO" "$EVENT_DATA"
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
else
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
# This is an issue comment - use the comment command
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
COMMENT_BODY='${{ gitea.event.comment.body }}'
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
python main.py comment "$REPO" "$ISSUE_NUMBER" "$COMMENT_BODY"
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
fi
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
Review

[LOW] Security

The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines.

Recommendation: Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.

**[LOW] Security** The workflow uses shell interpolation to build JSON event data for safe_dispatch.py, but the comment body is embedded via shell here-doc with jq escaping. While jq -Rs is used to escape the comment body, there is a risk of injection or malformed JSON if the comment body contains unexpected characters or newlines. **Recommendation:** Consider moving JSON construction fully into Python or use a safer method to pass the comment body to avoid shell injection risks. Validate or sanitize inputs before usage.
Review

[LOW] Correctness

The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters.

Recommendation: Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.

**[LOW] Correctness** The shell script uses environment variables like ${{ gitea.event.issue.number }} inside a multi-line shell script. Depending on the runner's shell and environment, these may not be properly expanded or may cause issues if the variables contain spaces or special characters. **Recommendation:** Ensure that all variables are properly quoted and tested in the shell context. Alternatively, consider passing these parameters as explicit inputs to the Python script rather than embedding them in shell here-documents.
Review

[LOW] Maintainability

The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug.

Recommendation: Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.

**[LOW] Maintainability** The workflow mixes shell scripting and Python calls with inline JSON construction, which can be hard to maintain and debug. **Recommendation:** Consider refactoring the logic to a dedicated script or Python module that receives parameters and handles JSON construction and dispatching internally, improving maintainability and reducing shell complexity.
Review

[LOW] Maintainability

Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive.

Recommendation: Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.

**[LOW] Maintainability** Similar to ai-chat.yml, the 'if' condition for specific commands is long and repetitive. **Recommendation:** Refactor to use a list or pattern matching if possible to improve maintainability and reduce duplication.
+35 -27
View File
@@ -1,36 +1,44 @@
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
name: AI Issue Triage
# WORKFLOW ROUTING:
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
# This workflow handles ONLY the 'triage' command
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
# Other workflows: ai-comment-reply.yml (specific commands), ai-chat.yml (free-form questions)
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
on:
issues:
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
types: [opened, labeled]
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
issue_comment:
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
types: [created]
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
jobs:
ai-triage:
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
runs-on: ubuntu-latest
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
steps:
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
- uses: actions/checkout@v4
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
ai-triage:
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
runs-on: ubuntu-latest
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
# Only run if comment contains @codebot triage
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
# CRITICAL: Ignore bot's own comments to prevent infinite loops (bot username: Bartender)
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
if: |
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
github.event.comment.user.login != 'Bartender' &&
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
contains(github.event.comment.body, '@codebot triage')
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
steps:
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
- uses: actions/checkout@v4
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
- uses: actions/checkout@v4
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
with:
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
repository: Hiddenden/openrabbit
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
path: .ai-review
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
token: ${{ secrets.AI_REVIEW_TOKEN }}
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
- uses: actions/checkout@v4
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
with:
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
repository: Hiddenden/openrabbit
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
path: .ai-review
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
token: ${{ secrets.AI_REVIEW_TOKEN }}
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
- uses: actions/setup-python@v5
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
with:
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
python-version: "3.11"
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
- uses: actions/setup-python@v5
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
with:
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
python-version: "3.11"
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
- run: pip install requests pyyaml
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
- run: pip install requests pyyaml
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
- name: Run AI Issue Triage
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
env:
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
AI_REVIEW_TOKEN: ${{ secrets.AI_REVIEW_TOKEN }}
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
AI_REVIEW_REPO: ${{ gitea.repository }}
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
AI_REVIEW_API_URL: https://git.hiddenden.cafe/api/v1
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
OLLAMA_HOST: ${{ secrets.OLLAMA_HOST }}
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
run: |
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
cd .ai-review/tools/ai-review
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
python main.py issue ${{ gitea.repository }} ${{ gitea.event.issue.number }} \
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
--title "${{ gitea.event.issue.title }}"
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
- name: Run AI Issue Triage
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
env:
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
AI_REVIEW_TOKEN: ${{ secrets.AI_REVIEW_TOKEN }}
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
AI_REVIEW_REPO: ${{ gitea.repository }}
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
AI_REVIEW_API_URL: https://git.hiddenden.cafe/api/v1
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
OLLAMA_HOST: ${{ secrets.OLLAMA_HOST }}
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
run: |
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
cd .ai-review/tools/ai-review
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
python main.py issue ${{ gitea.repository }} ${{ gitea.event.issue.number }}
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
Review

[LOW] Correctness

The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling.

Recommendation: Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.

**[LOW] Correctness** The workflow was changed from triggering on 'issues' events (opened, labeled) to 'issue_comment' events with a filter for '@codebot triage' command. This changes the trigger semantics and may affect expected behavior if triage was intended to run on issue creation or labeling. **Recommendation:** Confirm that this change aligns with intended behavior. If triage should run on issue creation or labeling, consider adding those triggers back or clarifying the workflow purpose.
-236
View File
@@ -1,236 +0,0 @@
# CLAUDE.MD - AI Assistant Guide
This file provides guidance for Claude Code and other AI assistants when working with the Cozy Den project.
## Project Quick Reference
**Project:** Cozy Den - Personal landing page for hiddenden.cafe
**Owner:** Latte (gay furry developer, values self-hosting and privacy)
**Tech Stack:** Astro 4.x, TypeScript, Vanilla CSS, Docker + Nginx
**Aesthetic:** Warm coffee/cappuccino theme, cozy hidden den vibes
**Deployment:** Docker containers pushed to Gitea registry at git.hiddenden.cafe
## Core Design Principles
1. **Cozy Aesthetic** - Warm colors, coffee/cappuccino theme, hidden den vibes
2. **Self-Hosted** - Everything runs on personal infrastructure (homelab/VPS)
3. **Privacy First** - No tracking, no external dependencies
4. **Lightweight** - Static HTML/CSS, minimal JavaScript
5. **Docker-Ready** - Easy deployment via containers
## File Structure
```
src/
├── layouts/
│ └── BaseLayout.astro # Base HTML layout + global styles + CSS variables
├── pages/
│ └── index.astro # Main landing page (all sections here)
└── components/ # Empty - ready for future components
public/
└── favicon.svg # Coffee emoji favicon
```
**Key Files:**
- `src/layouts/BaseLayout.astro` - CSS variables, global styles, base HTML structure
- `src/pages/index.astro` - All page content and section-specific styles
- `astro.config.mjs` - Astro configuration
- `Dockerfile` - Multi-stage build (Node builder + Nginx server)
- `docker-compose.yml` - Local Docker Compose setup
- `nginx.conf` - Production Nginx configuration
## Color System
All colors use CSS custom properties in `src/layouts/BaseLayout.astro`:
```css
--color-bg: #1a1410 /* Dark background (deep coffee) */
--color-bg-light: #2a1f18 /* Lighter background for cards */
--color-text: #f4e9d8 /* Cream text */
--color-text-dim: #c4b5a0 /* Dimmed text */
--color-accent: #d4a574 /* Warm accent (coffee with cream) */
--color-accent-bright: #e8bf8e /* Brighter accent for highlights */
--color-warm: #8b6f47 /* Warm brown for borders/accents */
```
**To change theme:** Edit these variables. All components update automatically.
## Common Modification Patterns
### Adding a Section
```astro
<section class="section new-section">
<div class="container">
<div class="card fade-in">
<h2>Section Title</h2>
<p>Content</p>
</div>
</div>
</section>
```
### Adding a Service
```astro
<div class="service-item">
<h3><a href="https://service.hiddenden.cafe">🔧 Service Name</a></h3>
<p>Description of the service</p>
</div>
```
### Adding a New Page
Create `src/pages/newpage.astro`:
```astro
---
import BaseLayout from '../layouts/BaseLayout.astro';
---
<BaseLayout title="New Page">
<div class="container">
<h1>New Page</h1>
</div>
</BaseLayout>
```
## Development Workflow
```bash
npm install # Install dependencies
npm run dev # Start dev server (http://localhost:4321)
npm run build # Build for production (output to dist/)
npm run preview # Preview production build
```
## Docker Workflow
```bash
# Build image
docker build -t cozy-den .
# Run locally
docker run -d -p 3000:80 --name cozy-den cozy-den
# Or use Docker Compose
docker-compose up -d
# Tag for Gitea registry
docker tag cozy-den git.hiddenden.cafe/mats/cozy-den:latest
# Push to Gitea
docker login git.hiddenden.cafe
docker push git.hiddenden.cafe/mats/cozy-den:latest
```
## Important Implementation Guidelines
### DO:
- Maintain the cozy, warm aesthetic (coffee theme)
- Keep the site lightweight and fast (static HTML/CSS)
- Use CSS custom properties for all colors
- Add `.fade-in` class for animations
- Test both dev and production builds
- Verify Docker build works after changes
- Use semantic HTML with consistent `.card` class styling
- Ensure responsive design works on mobile
- Be warm and friendly in communication (matches site vibe)
- Focus on practical implementation
- Respect the furry community context
### DON'T:
- Add tracking or external dependencies
- Make the site heavy or complex
- Use JavaScript unless absolutely necessary (site is pure HTML/CSS)
- Create sterile or corporate design elements
- Add features not explicitly requested
- Break the coffee/warm color theme
- Ignore accessibility considerations
## Astro-Specific Notes
- **File Extensions:** `.astro` for components, `.mjs` for config
- **Frontmatter:** Code between `---` runs at build time
- **Styling:** `<style>` tags are scoped by default, use `<style is:global>` for global styles
- **Static Generation:** Astro generates static HTML at build time
- **No Runtime:** This site outputs pure HTML/CSS with no JavaScript runtime needed
## Current Project Status
**Completed:**
- Landing page with hero section
- About Hidden Den section
- About Me section (Latte)
- Services section (Gitea linked)
- Support section
- Docker deployment setup
- Responsive design
**Future Possibilities:**
- Blog section using Astro Content Collections
- More self-hosted services
- Payment/donation links
- Project showcase pulling from Gitea API
- Custom 404 page
- Theme toggle
- Contact form
- RSS feed
## Owner Preferences
Latte typically:
- Works in bursts of creative energy
- Uses Docker for all deployments
- Pushes to personal Gitea at git.hiddenden.cafe
- Values complete control over hosting
- Prefers warm, personal styling over corporate design
- Is learning Astro (normally uses Python/Flask)
## Testing Checklist
Before deploying changes:
- [ ] `npm run dev` - Check locally
- [ ] `npm run build` - Ensure build succeeds
- [ ] `docker build -t cozy-den .` - Verify Docker build
- [ ] Test on mobile viewport
- [ ] Check all links work
- [ ] Verify color contrast for accessibility
## Success Criteria
The site should:
- Load fast (static HTML)
- Feel warm and welcoming
- Accurately represent Latte and Hidden Den
- Work on all screen sizes
- Be easy to deploy via Docker
- Require minimal maintenance
## Troubleshooting Quick Reference
**Build fails:** Check TypeScript config, ensure Node 18+
**Styles not applying:** Check if you need `is:global`, verify CSS variables are in BaseLayout
**Docker build fails:** Ensure package.json and package-lock.json are present
**Changes not showing:** Hard refresh (Ctrl+Shift+R), restart dev server, or clear `.astro` cache
## Documentation Files
- **CLAUDE.MD** (this file) - AI assistant guide
- **PROJECT_CONTEXT.md** - Project context and design principles
- **DEVELOPMENT.md** - Developer documentation and architecture
- **TODO.md** - Current tasks and future features
- **README.md** - User-facing documentation
## Communication Style
When working with this project:
- Be warm and friendly (matches the site vibe)
- Use clear, direct language
- Respect the furry community context
- Focus on practical implementation
- Acknowledge this is a learning project with Astro
- Personal and authentic over polished and corporate
---
**Last Updated:** 2025-12-23
**Project Version:** Initial release
**Astro Version:** 4.x
**Node Version:** 18+
+169
View File
@@ -0,0 +1,169 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Quick Reference
**Project:** Cozy Den - Personal landing page for hiddenden.cafe
**Owner:** Latte (gay furry developer, values self-hosting and privacy)
**Tech Stack:** Astro 4.x, TypeScript, Vanilla CSS, Docker + Nginx
**Aesthetic:** Warm coffee/cappuccino theme, cozy hidden den vibes
**Deployment:** Docker containers pushed to Gitea registry at git.hiddenden.cafe
## Core Design Principles
1. **Cozy Aesthetic** - Warm colors, coffee/cappuccino theme, hidden den vibes
2. **Self-Hosted** - Everything runs on personal infrastructure (homelab/VPS)
3. **Privacy First** - No tracking, no external dependencies
4. **Lightweight** - Static HTML/CSS, minimal JavaScript
5. **Docker-Ready** - Easy deployment via containers
## File Structure
```
cozy-den/
├── src/
│ ├── layouts/
│ │ └── BaseLayout.astro # Base layout + global styles
│ └── pages/
│ ├── index.astro # Main landing page
│ └── 404.astro # Custom 404 page
├── public/
│ ├── favicon.svg # Coffee emoji favicon
│ └── robots.txt # Search engine directives
├── astro.config.mjs # Astro config with sitemap
├── package.json # Dependencies (Astro 4.x, @astrojs/sitemap)
├── Dockerfile # Multi-stage: Node builder + Nginx
├── docker-compose.yml # Local container orchestration
└── nginx.conf # Production web server config
```
## Architecture Notes
This is a simple static site following standard Astro conventions:
- Layouts in `src/layouts/` for reusable page templates
- Pages in `src/pages/` (routes automatically based on filename)
- All content is on a single page (`index.astro`) with multiple sections
- Custom 404 page with cozy theming
- No client-side JavaScript - pure static HTML/CSS output
- CSS custom properties centralized in `BaseLayout.astro` for theming
- Accessibility improvements with ARIA labels and semantic HTML
## Commands
```bash
# Development
npm install # Install dependencies
npm run dev # Start dev server at http://localhost:4321
npm run build # Build for production (runs astro check + astro build)
npm run preview # Preview production build
# Docker
docker build -t cozy-den .
docker run -d -p 3000:80 --name cozy-den cozy-den
docker-compose up -d
# Deployment to Gitea registry
docker tag cozy-den git.hiddenden.cafe/mats/cozy-den:latest
docker login git.hiddenden.cafe
docker push git.hiddenden.cafe/mats/cozy-den:latest
```
## Color System
All colors use CSS custom properties in `BaseLayout.astro`:
```css
--color-bg: #1a1410 /* Dark background (deep coffee) */
--color-bg-light: #2a1f18 /* Lighter background for cards */
--color-text: #f4e9d8 /* Cream text */
--color-text-dim: #c4b5a0 /* Dimmed text */
--color-accent: #d4a574 /* Warm accent (coffee with cream) */
--color-accent-bright: #e8bf8e /* Brighter accent for highlights */
--color-warm: #8b6f47 /* Warm brown for borders/accents */
```
**To change theme:** Edit these variables. All components update automatically.
## Common Modification Patterns
### Adding a Section
```astro
<section class="section new-section">
<div class="container">
<div class="card fade-in">
<h2>Section Title</h2>
<p>Content</p>
</div>
</div>
</section>
```
### Adding a Service
```astro
<div class="service-item">
<h3><a href="https://service.hiddenden.cafe">🔧 Service Name</a></h3>
<p>Description of the service</p>
</div>
```
### Adding a New Page
Create new `.astro` file in `src/pages/`:
```astro
---
import BaseLayout from '../layouts/BaseLayout.astro';
---
<BaseLayout title="New Page">
<div class="container">
<h1>New Page</h1>
</div>
</BaseLayout>
```
Note: Pages route based on filename (e.g., `about.astro``/about`)
## Implementation Guidelines
**DO:**
- Maintain cozy, warm aesthetic (coffee/cappuccino theme)
- Keep site lightweight - static HTML/CSS only, no JavaScript runtime
- Use CSS custom properties for all colors (defined in `src/layouts/BaseLayout.astro`)
- Use `.fade-in` class for animations, `.card` class for consistent card styling
- Test production builds and Docker builds after changes
- Ensure responsive design works on mobile
- Follow standard Astro structure (layouts in `src/layouts/`, pages in `src/pages/`)
**DON'T:**
- Add tracking or external dependencies (privacy-first approach)
- Add client-side JavaScript unless absolutely necessary
- Break the coffee/warm color theme
- Create sterile or corporate design elements
## Astro-Specific Notes
- Frontmatter (code between `---`) runs at build time only
- `<style>` tags are scoped by default; use `<style is:global>` for global styles (see `src/layouts/BaseLayout.astro`)
- Site generates static HTML at build time - no JavaScript runtime
- Sitemap integration configured in `astro.config.mjs` via `@astrojs/sitemap`
- Custom 404 page at `src/pages/404.astro` with warm, themed styling
## Context & Preferences
- **Owner:** Latte (gay furry developer who values self-hosting, privacy, and open-source)
- **Deployment:** All deployments via Docker to personal Gitea registry (git.hiddenden.cafe)
- **Design Philosophy:** Warm, personal, cozy aesthetic over corporate/sterile design
- **Technical Background:** Owner typically uses Python/Flask, learning Astro with this project
## Troubleshooting
**Build fails:** Check TypeScript config, ensure Node 18+, run `astro check`
**Styles not applying:** Verify CSS variables are in `BaseLayout.astro`, check if you need `is:global`
**Docker build fails:** Ensure `package.json` and `package-lock.json` exist
**Changes not showing:** Hard refresh browser, restart dev server, or clear `.astro` cache
## Related Documentation
- **PROJECT_CONTEXT.md** - Design principles and project philosophy
- **DEVELOPMENT.md** - Detailed developer documentation
- **TODO.md** - Current tasks and future feature ideas
- **README.md** - User-facing setup and deployment guide
+13 -3
View File
@@ -19,11 +19,13 @@ cozy-den/
│ ├── layouts/
│ │ └── BaseLayout.astro # Base HTML layout with global styles
│ ├── pages/
│ │ ── index.astro # Main landing page
│ │ ── index.astro # Main landing page
│ │ └── 404.astro # Custom 404 error page
│ └── components/ # (Empty - ready for future components)
├── public/
── favicon.svg # Site favicon (coffee emoji)
├── astro.config.mjs # Astro configuration
── favicon.svg # Site favicon (coffee emoji)
│ └── robots.txt # Search engine directives
├── astro.config.mjs # Astro configuration with sitemap
├── package.json # Node dependencies
├── tsconfig.json # TypeScript configuration
├── Dockerfile # Multi-stage Docker build
@@ -67,6 +69,14 @@ The main page includes these sections:
5. **Support** - Ways to help/contribute
6. **Footer** - Links and credits
### 404.astro
Custom error page with:
- Themed styling matching the cozy aesthetic
- Clear error message ("Lost in the Den?")
- Action buttons to return home or visit Gitea
- Responsive design for all devices
## Development Workflow
### Local Development
+6 -2
View File
@@ -29,6 +29,10 @@ The site currently has:
- ✅ Support section
- ✅ Docker deployment setup
- ✅ Responsive design
- ✅ Custom 404 page with themed styling
- ✅ Sitemap integration for SEO
- ✅ robots.txt for search engines
- ✅ Accessibility improvements (ARIA labels, semantic HTML)
## What Might Be Added Later
@@ -55,9 +59,9 @@ Main content is in `src/pages/index.astro`. Each section is wrapped in semantic
### File Organization
- `src/layouts/` - Reusable layouts (currently just BaseLayout)
- `src/pages/` - Routes (index.astro = homepage)
- `src/pages/` - Routes (index.astro = homepage, 404.astro = error page)
- `src/components/` - Reusable components (empty, ready for future use)
- `public/` - Static assets (favicon, images)
- `public/` - Static assets (favicon.svg, robots.txt)
## Communication Style
+8 -4
View File
@@ -1,10 +1,14 @@
# Cozy Den - Tasks & TODO
## Current Status
✅ Initial project structure created
✅ Initial project structure created (proper src/ directory)
✅ Landing page with all main sections
✅ Docker deployment setup
✅ Responsive design
✅ Custom 404 page
✅ Sitemap integration
✅ robots.txt
✅ Accessibility improvements (ARIA labels, semantic HTML)
## Immediate Next Steps
@@ -17,7 +21,7 @@
### Optional Enhancements
#### Short Term
- [ ] Add a custom 404 page
- [x] Add a custom 404 page
- [ ] Add favicon variants for different platforms (apple-touch-icon, etc.)
- [ ] Add Open Graph meta tags for social media sharing
- [ ] Add animation on scroll for sections
@@ -90,9 +94,9 @@ Pull repository data from Gitea API and display:
- [ ] Consider breaking large components into smaller ones
- [ ] Add comments for complex CSS
- [ ] Set up automated testing if site grows
- [ ] Add accessibility audit
- [x] Add accessibility audit
- [ ] Optimize images if any are added
- [ ] Consider adding a sitemap.xml
- [x] Consider adding a sitemap.xml
## Performance Optimization