← Back to task

Commit 507f30f3

commit 507f30f3f07f34f0467bd5e26fe65bff5ace4831
Author: Ben Sima <ben@bensima.com>
Date:   Tue Dec 30 23:24:05 2025

    Fix task comments not being persisted
    
    - addComment was logging the comment but not appending to taskComments
    - Now properly creates Comment record and appends to task
    - Fixed jq path in pi-code.sh (commentedAt -> commentCreatedAt)
    - Added commentAuthor to feedback display
    
    This enables the coder/reviewer feedback loop - reviewer's REQUEST_CHANGES
    comments now appear in the coder's 'Previous Feedback' section on retry.
    
    Task-Id: t-297

diff --git a/Omni/Ide/pi-code.sh b/Omni/Ide/pi-code.sh
index abf36f8b..67a0c628 100755
--- a/Omni/Ide/pi-code.sh
+++ b/Omni/Ide/pi-code.sh
@@ -14,7 +14,7 @@ set -e
 export PATH="/usr/local/bin:$PATH"
 
 # Source API keys if available (for Ava service user)
-if [[ -f /run/secrets/ava.env ]]; then
+if [[ -f /run/secrets/ava.env && -r /run/secrets/ava.env ]]; then
     set -a
     source /run/secrets/ava.env
     set +a
@@ -111,7 +111,7 @@ DESC=$(echo "$TASK_JSON" | jq -r '.taskDescription')
 NAMESPACE=$(echo "$TASK_JSON" | jq -r '.taskNamespace // empty')
 
 # Get any comments (feedback from reviewer)
-COMMENTS=$(echo "$TASK_JSON" | jq -r '.taskComments[]? | "[\(.commentedAt)] \(.commentText)"' 2>/dev/null || echo "")
+COMMENTS=$(echo "$TASK_JSON" | jq -r '.taskComments[]? | "[\(.commentCreatedAt)] \(.commentAuthor): \(.commentText)"' 2>/dev/null || echo "")
 
 # Display task info
 info "Task: ${BOLD}$TITLE${NC}"
diff --git a/Omni/Ide/pi-orchestrate.sh b/Omni/Ide/pi-orchestrate.sh
index c6103bb4..b4569eed 100755
--- a/Omni/Ide/pi-orchestrate.sh
+++ b/Omni/Ide/pi-orchestrate.sh
@@ -13,7 +13,7 @@ set -e
 export PATH="/usr/local/bin:$PATH"
 
 # Source API keys if available (for Ava service user)
-if [[ -f /run/secrets/ava.env ]]; then
+if [[ -f /run/secrets/ava.env && -r /run/secrets/ava.env ]]; then
     set -a
     source /run/secrets/ava.env
     set +a
diff --git a/Omni/Ide/pi-review.sh b/Omni/Ide/pi-review.sh
index eebdd337..fa09bb04 100755
--- a/Omni/Ide/pi-review.sh
+++ b/Omni/Ide/pi-review.sh
@@ -13,7 +13,7 @@ set -e
 export PATH="/usr/local/bin:$PATH"
 
 # Source API keys if available (for Ava service user)
-if [[ -f /run/secrets/ava.env ]]; then
+if [[ -f /run/secrets/ava.env && -r /run/secrets/ava.env ]]; then
     set -a
     source /run/secrets/ava.env
     set +a
diff --git a/Omni/Task/Core.hs b/Omni/Task/Core.hs
index a9ecfa4e..a8880d03 100644
--- a/Omni/Task/Core.hs
+++ b/Omni/Task/Core.hs
@@ -752,7 +752,15 @@ addComment tid commentTextContent author =
         now <- getCurrentTime
         sessionId <- getOrCreateCommentSession tid
         insertAgentEvent tid sessionId "comment" commentTextContent author
-        let updatedTask = task {taskUpdatedAt = now}
+        let newComment = Comment
+              { commentText = commentTextContent,
+                commentAuthor = author,
+                commentCreatedAt = now
+              }
+        let updatedTask = task
+              { taskUpdatedAt = now,
+                taskComments = taskComments task <> [newComment]
+              }
         saveTask updatedTask
         pure updatedTask