Skip to content

feat(stovepipe): Save pending issue changes - #943

Draft
prathshenoy wants to merge 1 commit into
codex/stovepipe-issue-statefrom
codex/stovepipe-issuetrack-change
Draft

prathshenoy wants to merge 1 commit into
codex/stovepipe-issue-statefrom
codex/stovepipe-issuetrack-change

Conversation

@prathshenoy

@prathshenoy prathshenoy commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Summary

What:

  • Save the exact issue change a worker must finish alongside the queue’s progress.
  • Add a database upgrade that preserves existing progress.

Why:

  • Save exactly which issue change must finish before moving on to newer work. A scan cursor only tells us how far we have read; it cannot tell a replacement worker whether an issue was updated but its history was never written. Saving the intended change first gives that worker the information needed to finish the same work.
  • Preserve the issue version that the change was originally allowed to update. A retry must not read a newer version and use it to force an old change through. Only one pending change is needed at a time, so recovery does not require saving an entire batch.

Test Plan

  • Add unit tests.
  • Verify saved-change persistence, clearing, guarded updates, and upgrading existing progress rows against MySQL.

Revert Plan

  • Revert dependent controllers first, then this PR. Leave the added columns in place; no runtime consumer is enabled and existing progress is preserved.

Issue Links

Stack

  1. feat(stovepipe): Retain versioned issue state #942
  2. feat(stovepipe): Save pending issue changes #943
  3. feat(stovepipe): Apply saved issue changes #932
  4. feat(stovepipe): Track issues in bounded passes #940
  5. feat(stovepipe): Publish issue-tracking updates #939

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant