dev #5

Merged
Latte merged 8 commits from dev into main 2026-01-01 14:04:36 +00:00
3 changed files with 170 additions and 86 deletions
Showing only changes of commit d8530611a0 - Show all commits
+22 -3
View File
@@ -1,17 +1,36 @@
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:
types: [created]
# 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:
# 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.
# 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
steps:
- 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.
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.
+62 -5
View File
@@ -1,17 +1,34 @@
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:
types: [created]
# 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:
runs-on: ubuntu-latest
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.
# 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:
- uses: actions/checkout@v4
@@ -30,12 +47,52 @@ jobs:
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: Run AI Comment Response
env:
AI_REVIEW_TOKEN: ${{ secrets.AI_REVIEW_TOKEN }}
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
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
OLLAMA_HOST: ${{ secrets.OLLAMA_HOST }}
run: |
cd .ai-review/tools/ai-review
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.
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.
+12 -4
View File
@@ -1,12 +1,21 @@
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:
runs-on: ubuntu-latest
# 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:
- uses: actions/checkout@v4
@@ -32,5 +41,4 @@ jobs:
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.
OLLAMA_HOST: ${{ secrets.OLLAMA_HOST }}
run: |
cd .ai-review/tools/ai-review
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.
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.