What happened
When PR #825 was opened, the post-run-link job posted a comment: "fullsend review is working on this — view logs". The dispatched review agent then crashed (run 25743433407), but the status comment was never updated. The PR showed an optimistic "working on this" message for 2.5 hours until a human closed it, with no indication that the review had failed.
What could go better
The current architecture has a gap: the post-run-link job runs in the source repo and posts a comment before the dispatched agent completes. If the agent fails, there's no callback to update the comment. This creates a confusing UX — contributors see "working on this" and wait for a review that will never arrive. Confidence: HIGH — this is a structural gap in the dispatch-and-forget model.
Proposed change
Add a failure callback mechanism. Options:
-
Post-agent status update: The review workflow in .fullsend should post a comment (or update the existing one) on the target PR when the agent fails. The review token already has write access to the target repo. Add a post-run or always() step in review.yml that posts failure status back to the PR.
-
Polling from the source repo: Add a follow-up job in fullsend.yaml that waits for the dispatched workflow to complete and updates the status comment. This is more complex and less preferred.
Option 1 is simpler — add an if: failure() step in the review workflow's job that posts a comment like "Review agent encountered an error — view logs" to the target PR.
Validation criteria
The next time a review agent fails on a PR, a comment should appear on the PR within 5 minutes indicating the failure and linking to the run logs. The "working on this" comment should not be the last agent communication on a failed review.
Generated by retro agent from #825
What happened
When PR #825 was opened, the
post-run-linkjob posted a comment: "fullsend review is working on this — view logs". The dispatched review agent then crashed (run 25743433407), but the status comment was never updated. The PR showed an optimistic "working on this" message for 2.5 hours until a human closed it, with no indication that the review had failed.What could go better
The current architecture has a gap: the
post-run-linkjob runs in the source repo and posts a comment before the dispatched agent completes. If the agent fails, there's no callback to update the comment. This creates a confusing UX — contributors see "working on this" and wait for a review that will never arrive. Confidence: HIGH — this is a structural gap in the dispatch-and-forget model.Proposed change
Add a failure callback mechanism. Options:
Post-agent status update: The review workflow in
.fullsendshould post a comment (or update the existing one) on the target PR when the agent fails. The review token already has write access to the target repo. Add apost-runoralways()step inreview.ymlthat posts failure status back to the PR.Polling from the source repo: Add a follow-up job in
fullsend.yamlthat waits for the dispatched workflow to complete and updates the status comment. This is more complex and less preferred.Option 1 is simpler — add an
if: failure()step in the review workflow's job that posts a comment like "Review agent encountered an error — view logs" to the target PR.Validation criteria
The next time a review agent fails on a PR, a comment should appear on the PR within 5 minutes indicating the failure and linking to the run logs. The "working on this" comment should not be the last agent communication on a failed review.
Generated by retro agent from #825