Fix heartbeat runner failure copy#82848
Conversation
|
Codex review: found issues before merge. Summary Reproducibility: yes. at source level: current main can convert an unclassified heartbeat runner error into the generic foreground failure payload, and the linked issue includes a live Discord report. I did not execute the repro in this read-only review. Real behavior proof Next step before merge Security Review findings
Review detailsBest possible solution: Keep the PR focused on the heartbeat failure-copy fix, but classify both stale generic rewrites and direct heartbeat-specific runner-failure payloads as failed heartbeat events before merge. Do we have a high-confidence way to reproduce the issue? Yes, at source level: current main can convert an unclassified heartbeat runner error into the generic foreground failure payload, and the linked issue includes a live Discord report. I did not execute the repro in this read-only review. Is this the best way to solve the issue? No, not quite: the copy split is in the right area, but the delivery-side failure classification only handles stale generic rewrites and misses the new direct heartbeat-specific failure path. Full review comments:
Overall correctness: patch is incorrect Acceptance criteria:
What I checked:
Likely related people:
Remaining risk / open question:
Codex review notes: model gpt-5.5, reasoning high; reviewed against d887eb8dc2cc. |
* fix: scope heartbeat runner failures * chore: add heartbeat failure changelog
* fix: scope heartbeat runner failures * chore: add heartbeat failure changelog
* fix: scope heartbeat runner failures * chore: add heartbeat failure changelog
* fix: scope heartbeat runner failures * chore: add heartbeat failure changelog
* fix: scope heartbeat runner failures * chore: add heartbeat failure changelog
* fix: scope heartbeat runner failures * chore: add heartbeat failure changelog
* fix: scope heartbeat runner failures * chore: add heartbeat failure changelog
* fix: scope heartbeat runner failures * chore: add heartbeat failure changelog
* fix: scope heartbeat runner failures * chore: add heartbeat failure changelog
* fix: scope heartbeat runner failures * chore: add heartbeat failure changelog
* fix: scope heartbeat runner failures * chore: add heartbeat failure changelog
* fix: scope heartbeat runner failures * chore: add heartbeat failure changelog
Summary
Verification
Behavior addressed: heartbeat/background runner failures could surface the foreground generic failure text, including /new guidance, into the channel.
Real environment tested: Crabbox on AWS, provider aws, lease cbx_a7790d85a34e, run run_c01ca3c5129b.
Exact steps or command run after this patch: reran the original live heartbeat repro shape against the dirty branch synced into Crabbox.
Evidence after fix: fixed=true, leakedGeneric=false, delivered Discord message used the heartbeat-specific failure copy.
Observed result after fix: the heartbeat send completed with "Heartbeat check failed before it could produce an update. The main chat session remains available." and did not include /new.
What was not tested: broad GitHub CI is pending on this PR.
Fixes #82708