Skip to content

feat(stovepipe): Add request issue lookups - #1025

Merged
prathshenoy merged 1 commit into
mainfrom
request-issues-api
Nov 9, 2026
Merged

prathshenoy merged 1 commit into
mainfrom
request-issues-api

Conversation

@prathshenoy

@prathshenoy prathshenoy commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Summary

What:

  • Add paginated request-level issue lookups with new, existing, and closed classifications.
  • Report whether results are in progress, complete, incomplete, or unavailable.

Why:

  • Let consumers explain which issues a request introduced, encountered, or closed without reconstructing that history from the queue's current state.
  • Make partial and unavailable results explicit so an empty response is not mistaken for a clean request. Completed request results remain independent of later issue changes.

Test Plan

  • Add unit tests.
  • Verify materialized results, pagination, and completion status through the running service.

Revert Plan

  • Revert this PR. Recording continues independently, and the stored results remain available for a later reader.

Issue Links

Stack

  1. feat(stovepipe): Store request issue summaries #1023
  2. feat(stovepipe): Retain repeat issue reports #1027
  3. feat(stovepipe): Materialize request issue results #1024
  4. feat(stovepipe): Add request issue lookups #1025

Base automatically changed from request-issues-recording to main November 9, 2026 14:14
@prathshenoy
prathshenoy enabled stacked auto-merge November 9, 2026 14:17
@prathshenoy
prathshenoy added this pull request to the merge queue Nov 9, 2026
Merged via the queue into main with commit 694373f Nov 9, 2026
38 of 40 checks passed
@prathshenoy
prathshenoy deleted the request-issues-api branch November 9, 2026 14:50
Tmwakalasya pushed a commit to Tmwakalasya/submitqueue that referenced this pull request Nov 11, 2026
## Summary
**What**:
- Add paginated storage for request-level issue summaries.
- Support conditional updates as a request's issue results advance.

**Why**:
- Provide an efficient way to list what a request introduced,
encountered, or closed. Existing issue history is organized by issue
rather than request, so reconstructing each request's results on every
read would require scanning unrelated history.
- Allow the materializer to retain a closure when an older opening or
report is replayed later. Version-guarded replacements support that
ordering without a transaction.

## Test Plan
- [x] Add unit tests.
- [x] Verify storage and conditional updates against a real database.

## Revert Plan
- Revert dependent readers and materialization first, then this PR. The
unused summary table can remain.

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

## Stack
1. uber#1023
1. uber#1027
1. uber#1024
1. uber#1025
Tmwakalasya pushed a commit to Tmwakalasya/submitqueue that referenced this pull request Nov 11, 2026
## Summary
**What**:
- Extend issue history to retain repeat reports and original opening
references.
- Keep repeat reports from changing lifecycle status or transition
timestamps.

**Why**:
- Retain evidence that later validation builds encountered an
already-open issue. Those reports are needed for request-level existing
results, but must not reopen an issue or move its transition timestamp.
- Preserve the opening in each new event so replay can identify the
occurrence after the issue has closed or reopened. Deploy the additive
history column before updated consumers; existing lifecycle history
remains readable without backfilling it.

## Test Plan
- [x] Add unit tests.
- [x] Verify event retention and queue isolation against a real
database.

## Revert Plan
- Revert dependent reporting and projection changes first, then this PR.
Retained repeat-report events and the additive column can remain unused.

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

## Stack
1. uber#1023
1. uber#1027
1. uber#1024
1. uber#1025
Tmwakalasya pushed a commit to Tmwakalasya/submitqueue that referenced this pull request Nov 11, 2026
## Summary
**What**:
- Generate request-level issue summaries from the shared issue history.
- Record repeat reports during normal processing and dead-letter
recovery.

**Why**:
- Keep request results consistent with accepted issue updates after
failures. Retaining an event and repairing its projections before
advancing the cursor lets normal processing and recovery finish
interrupted writes without inventing reports.
- Distinguish newly covered requests from historical requests whose
issue summaries were never recorded. Recording coverage begins only
after all issue-tracking workers use the updated contract.

## Test Plan
- [x] Add unit tests.
- [x] Verify replay rebuilds missing summaries against a real database.
- [x] Verify stale workers cannot reopen issues or corrupt request
results after recovery and a newer build.

## Revert Plan
- Revert dependent request-result reads and this PR. Operational issue
state and retained issue history remain available; summary rows can
remain unused.

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

## Stack
1. uber#1023
1. uber#1027
1. uber#1024
1. uber#1025
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