Repository navigation
feat(stovepipe): Maintain open issue lookups - #986
Merged
Conversation
prathshenoy
requested review from
a team,
behinddwalls and
sbalabanov
as code owners
October 29, 2026 04:44
This was referenced Oct 29, 2026
prathshenoy
marked this pull request as draft
October 29, 2026 05:00
1 task done
prathshenoy
force-pushed
the
prath.shenoy/feat/stovepipe-open-issue-materializer
branch
from
October 29, 2026 19:48
e512432 to
cd5bb1f
Compare
prathshenoy
force-pushed
the
prath.shenoy/feat/stovepipe-open-issue-materializer
branch
from
October 29, 2026 19:56
cd5bb1f to
1f07acf
Compare
prathshenoy
marked this pull request as ready for review
October 29, 2026 20:03
prathshenoy
force-pushed
the
prath.shenoy/feat/stovepipe-open-issue-materializer
branch
from
October 29, 2026 20:05
1f07acf to
1d0b4ad
Compare
This was referenced Oct 29, 2026
mnoah1
approved these changes
Oct 30, 2026
github-merge-queue
Bot
removed this pull request from the merge queue because a pull request earlier in the stack was removed
Oct 30, 2026
prathshenoy
force-pushed
the
prath.shenoy/feat/stovepipe-open-issue-materializer
branch
from
October 30, 2026 18:09
1d0b4ad to
9568d8b
Compare
prathshenoy
deleted the
prath.shenoy/feat/stovepipe-open-issue-materializer
branch
October 30, 2026 18:51
DivyanshGarg380
pushed a commit
to DivyanshGarg380/submitqueue
that referenced
this pull request
Oct 31, 2026
## Summary **What**: - Add queue-scoped storage for open and closed issue summaries with version-checked writes. **Why**: - Establish a separate read model for the upcoming open-issues view. The current issue records support operational tracking; this adds the storage foundation for a user-facing projection without changing issue processing or enabling a new writer. - Retain closed summaries so a later materializer can distinguish an old opening from a newer close. Deleting a closed summary would lose that ordering information and let a replay look like a newly discovered issue. ## Test Plan - [x] Add unit tests. - [x] Verify persistence, closure, reopening, and conditional updates against a real MySQL database. ## Revert Plan - Revert this PR. No runtime writer uses the new table, which can remain unused after rollback. ## Issue Links - [CODEM-607](https://linear.app/uber/issue/CODEM-607/build-analysis) ## Stack 1. uber#982 1. uber#983 1. uber#984 1. uber#986 1. uber#988 1. uber#990 1. uber#993
DivyanshGarg380
pushed a commit
to DivyanshGarg380/submitqueue
that referenced
this pull request
Oct 31, 2026
## Summary **What**: - Update issue summaries when normal processing or recovery records an opening or closing. - Preserve newer summaries when older transitions are replayed. **Why**: - Populate the read model introduced by the preceding storage PR. Recording issue history alone leaves those summaries empty; connecting accepted changes to the summary prepares the user-facing view without adding open-only mappings or an API yet. - Repair partial writes without letting delayed workers undo newer changes. History can be retained before a summary write fails, so retries must update the summary even when the history already exists. Source request order and conditional writes keep an older opening from replacing a newer close or reopening. ## Test Plan - [x] Add unit tests. ## Revert Plan - Revert this PR before its storage dependency. Operational issue state and history remain intact; summaries stop updating. ## Issue Links - [CODEM-607](https://linear.app/uber/issue/CODEM-607/build-analysis) ## Stack 1. uber#982 1. uber#983 1. uber#984 1. uber#986 1. uber#988 1. uber#990 1. uber#993
DivyanshGarg380
pushed a commit
to DivyanshGarg380/submitqueue
that referenced
this pull request
Oct 31, 2026
## Summary **What**: - Add queue-scoped storage for open-issue references with bounded listing and conditional replacement or deletion. **Why**: - Avoid scanning retained closed summaries to find open issues. Summaries intentionally keep closed records for ordering, so a separate lookup provides the access path for the upcoming open-issues view. Populating that lookup and exposing it through an API remain follow-up work. - Protect a newer opening from an old close. The same issue key can close and reopen, so replacement and deletion must check which opening they are changing. Reuse the existing table without adding columns or changing operational issue tracking. ## Test Plan - [x] Add unit tests. - [x] Verify conditional writes and bounded listing against a real MySQL database. ## Revert Plan - Revert this PR. No runtime writer uses the lookup, and the existing table layout is unchanged. ## Issue Links - [CODEM-607](https://linear.app/uber/issue/CODEM-607/build-analysis) ## Stack 1. uber#982 1. uber#983 1. uber#984 1. uber#986 1. uber#988 1. uber#990 1. uber#993
DivyanshGarg380
pushed a commit
to DivyanshGarg380/submitqueue
that referenced
this pull request
Oct 31, 2026
## Summary **What**: - Add bounded listing of current open issues within a queue. **Why**: - Establish the read behavior needed by the upcoming open-issues API. Storage already lists open-issue rows, but those rows can temporarily refer to closed issues or an earlier opening; callers must check the summaries before returning results. - Fill pages with valid issues instead of stopping at stale lookup entries. Cap the work done by each request so a long stretch of stale references cannot cause unbounded reads, and let callers continue from the last inspected entry. ## Test Plan - [x] Add unit tests. ## Revert Plan - Revert this PR. Listing is not exposed through the service yet, and no persisted data changes. ## Issue Links - [CODEM-607](https://linear.app/uber/issue/CODEM-607/build-analysis) ## Stack 1. uber#982 1. uber#983 1. uber#984 1. uber#986 1. uber#988 1. uber#990 1. uber#993
DivyanshGarg380
pushed a commit
to DivyanshGarg380/submitqueue
that referenced
this pull request
Oct 31, 2026
## Summary **What**: - Expose current open issues through the service API with bounded pagination. **Why**: - Make recorded issues available to clients. The listing logic already reads and validates current issue summaries, but clients cannot use it until the service exposes the endpoint. This connects that behavior to the upcoming open-issues view. ## Test Plan - [x] Add unit tests. - [x] Verify pagination and stale-reference filtering through the running reference service with MySQL. ## Revert Plan - Revert this PR. The endpoint is read-only, with no schema changes or persisted state changes. ## Issue Links - [CODEM-607](https://linear.app/uber/issue/CODEM-607/build-analysis) ## Stack 1. uber#982 1. uber#983 1. uber#984 1. uber#986 1. uber#988 1. uber#990 1. uber#993
DivyanshGarg380
pushed a commit
to DivyanshGarg380/submitqueue
that referenced
this pull request
Oct 31, 2026
## Summary **What**: - Show current queue issues grouped by task, with task-wide failures first within each task. - Add continuation loading, opening-request links, and refresh behavior that preserves the last successful display when reads fail. **Why**: - Make recorded failures visible to users. The backend already maintains and lists open issues, but the web UI currently exposes only requests and project results. - Keep long issue lists readable while new results arrive. Polling must not discard the pages a user has loaded, and a failed refresh must not erase the last successful display. <img width="1509" height="860" alt="Screenshot 2026-10-30 at 11 04 53" src="https://github.com/user-attachments/assets/c5a82164-26df-4568-977b-142420c32604" /> ## Test Plan - [x] Add unit tests. - [x] Verify grouped listing, pagination, refresh, and accessibility in a browser against the running service and MySQL. ## Revert Plan - Revert this PR. The view is read-only, and the backend APIs and stored issue data are unchanged. ## Issue Links - [CODEM-607](https://linear.app/uber/issue/CODEM-607/build-analysis) ## Stack 1. uber#982 1. uber#983 1. uber#984 1. uber#986 1. uber#988 1. uber#990 1. uber#993
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
What:
Why:
Test Plan
Revert Plan
Issue Links
Stack