fix: settle and announce the jobs a restart drops #911
No reviewers
Labels
No labels
move-to-repo
coilyco-bridge-deploy
move-to-repo
coilyco-flight-deck-agent-compose
move-to-repo
coilyco-gaming-eco-app
move-to-repo
coilysiren-inbox
move-to-repo
unknown
🔒⚠️📦⚠️🔒 SANDBOXED 🔒⚠️📦⚠️🔒
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!911
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-878-settle-dropped-jobs"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Settles the jobs a restart drops, and announces every job restart recovery settles.
What changed
SettleDroppedJobsandDroppedJobIDsmove thequeuedgroup tofailedunderdropped by a restart.RecoverStrandedJobskeeps itsrunningandcancellingscope and both now share onesettleInterruptedhelper.Agent.recoverJobsruns two passes and notifies each settled job. Correcting the record tells nobody, because a Discord requester never reads one, and the stranded jobs were being settled silently for the same reason.The decisions the issue asked for
JobStorequery by state. Both durable stores already exposeAll() []JobandrecoverJobsalready asserts for it, so a fourth interface methodPostgresJobStorewould have to answer buys nothing. Option 1 stays open behind this.Effectsto become load-bearing, and #430 may replace it outright. Settling is the honest record and does not block it.Tests
jobrestart_test.go. A dropped job settles and its requester is told, a stranded job's requester is told, a terminal job is neither rewritten nor announced, and the two groups list apart.TestARestartDropsWhatWasQueuedfrom #824 is untouched and still passes: it pinsStartrequeueing nothing, and this lives inrecoverJobs.Mutation: removing the dropped pass fails
TestARestartSettlesAndAnnouncesWhatWasQueued. Verified.just gatePASS.closes #878