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