Skip to content

feat(stovepipe): Wire issue tracking consumers - #962

Merged
mnoah1 merged 1 commit into
codex/stovepipe-issuetrack-dlqfrom
codex/stovepipe-issuetrack-wiring
Oct 28, 2026
Merged

mnoah1 merged 1 commit into
codex/stovepipe-issuetrack-dlqfrom
codex/stovepipe-issuetrack-wiring

Conversation

@prathshenoy

@prathshenoy prathshenoy commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Summary

What:

  • Enable normal issue tracking and dead-letter recovery in the reference service.

Why:

  • Consume the issue notifications that build analysis already publishes. Until now they accumulated on the queue without updating current issues or their history. Registering both consumers makes that path operational, while deployments can still supply their own build-issue detector.
  • Keep failed tracking from blocking later builds indefinitely. Normal processing uses bounded retries, and recovery stops incomplete work safely instead of repeating the same failed pass forever.

Test Plan

  • Add unit tests.
  • Verify analysis handoff and dead-letter recovery through the running service and MySQL.

Revert Plan

  • Revert this PR to disable both consumers without deleting persisted issue state, history, or progress.

Issue Links

Stack

  1. feat(stovepipe): Retain versioned issue state #942
  2. feat(stovepipe): Store applied issue state #948
  3. feat(stovepipe): Apply issue cursor updates #949
  4. feat(stovepipe): Track issues in bounded passes #950
  5. feat(stovepipe): Publish issue-tracking updates #951
  6. fix(stovepipe): Keep issues on task-wide failures #958
  7. feat(stovepipe): Recover failed issue tracking #961
  8. feat(stovepipe): Wire issue tracking consumers #962

@prathshenoy
prathshenoy force-pushed the codex/stovepipe-issuetrack-wiring branch from 3659e10 to ffcbaf4 Compare October 27, 2026 23:00
@prathshenoy
prathshenoy marked this pull request as ready for review October 27, 2026 23:18
@mnoah1
mnoah1 added this pull request to the merge queue Oct 28, 2026
Merged via the queue into main with commit a158dfb Oct 28, 2026
57 checks passed
@mnoah1
mnoah1 deleted the codex/stovepipe-issuetrack-wiring branch October 28, 2026 02:43
DivyanshGarg380 pushed a commit to DivyanshGarg380/submitqueue that referenced this pull request Oct 28, 2026
## Summary

**What**:
- Add dead-letter recovery that stops failed issue-tracking passes while
keeping completed issue changes.
- Record incomplete issue tracking without changing the build's
validation outcome.

**Why**:
- Unblock later builds when issue tracking exhausts normal retries.
Today the unfinished pass remains saved, so later notifications try to
resume the same failed work. Recovery needs to stop that pass without
throwing away issue changes that already succeeded.
- Keep delayed workers from changing issue state after recovery. Simply
clearing progress would let a paused worker write an old opening or
closing after a newer build has run. Recovery protects the current issue
and retains its history before allowing newer work through.

## Test Plan

- [x] Add unit tests.
- [x] Verify recovery progress persists against a real MySQL database.

## Revert Plan

- Revert this PR before enabling consumption. If already enabled, stop
consumers and reconcile recovery progress before rolling back so an
older consumer does not resume abandoned work.

## Issue Links

- [CODEM-607](https://linear.app/uber/issue/CODEM-607/build-analysis)

## Stack

1. uber#942
1. uber#948
1. uber#949
1. uber#950
1. uber#951
1. uber#958
1. uber#961
1. uber#962
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.

2 participants