Skip to content

feat(stovepipe): Record incomplete build analysis - #915

Merged
prathshenoy merged 1 commit into
codex/stovepipe-buildanalysis-controllerfrom
codex/stovepipe-buildanalysis-recovery
Oct 22, 2026
Merged

prathshenoy merged 1 commit into
codex/stovepipe-buildanalysis-controllerfrom
codex/stovepipe-buildanalysis-recovery

Conversation

@prathshenoy

@prathshenoy prathshenoy commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Summary

What:

  • Record one history event per build when analysis cannot complete, without rerunning detection or changing validation results.
  • Retry history recovery failures while acknowledging messages that cannot identify a valid build and request.

Why:

  • Make potentially incomplete failure information visible without blocking validation or repeatedly querying the build provider.

Test Plan

  • Add unit tests.

Revert Plan

  • Revert this PR. No runtime wiring or schema changes are introduced, so existing validation behavior is unchanged.

Issue Links

Stack

  1. feat(stovepipe): Persist build issue observations #902
  2. feat(stovepipe): Add build analysis polling #907
  3. feat(stovepipe): Record incomplete build analysis #915
  4. feat(stovepipe): Wire build analysis pipeline #909
  5. feat(stovepipe): Store currently open issues #916

@prathshenoy
prathshenoy force-pushed the codex/stovepipe-buildanalysis-recovery branch from c39488c to 78eb9d4 Compare October 22, 2026 14:50
@prathshenoy
prathshenoy enabled stacked auto-merge October 22, 2026 15:03
@prathshenoy
prathshenoy added this pull request to the merge queue Oct 22, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue because a pull request earlier in the stack was removed Oct 22, 2026
@prathshenoy
prathshenoy force-pushed the codex/stovepipe-buildanalysis-recovery branch from 78eb9d4 to 8394d14 Compare October 22, 2026 15:21
@prathshenoy
prathshenoy added this pull request to the merge queue Oct 22, 2026
Merged via the queue into main with commit c91d921 Oct 22, 2026
21 checks passed
@prathshenoy
prathshenoy deleted the codex/stovepipe-buildanalysis-recovery branch October 22, 2026 15:57
DivyanshGarg380 pushed a commit to DivyanshGarg380/submitqueue that referenced this pull request Oct 24, 2026
## Summary

**What**:

- Persist individual validation issue observations per build and queue,
with duplicate detection.

**Why**:

- Retain observed failures across polls and restarts without replacing
earlier observations or rewriting serialized collections.

## Test Plan

- [x] Add unit tests.
- [x] Verify persistence against a real MySQL database.

## Revert Plan

- Revert this PR. No runtime consumer is enabled; the additive table can
remain unused without affecting validation.

## Issue Links

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

## Stack

1. uber#902
1. uber#907
1. uber#915
1. uber#909
1. uber#916
DivyanshGarg380 pushed a commit to DivyanshGarg380/submitqueue that referenced this pull request Oct 24, 2026
## Summary

**What**:

- Add periodic issue detection and durable observation recording, with a
final pass after observing build completion.
- Stop polling validations that end without a recorded build result and
use normal queue retry handling for analysis failures.

**Why**:

- Accumulate validation failures before build completion and retry
partial persistence without duplicating observations.

## Test Plan

- [x] Add unit tests.

## Revert Plan

- Revert this PR. No runtime wiring or schema changes are introduced,
and existing build processing is unchanged.

## Issue Links

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

## Stack

1. uber#902
1. uber#907
1. uber#915
1. uber#909
1. uber#916
DivyanshGarg380 pushed a commit to DivyanshGarg380/submitqueue that referenced this pull request Oct 24, 2026
## Summary

**What**:

- Connect build analysis to build-start and completion notifications,
using a no-op detector in the reference service while keeping result
recording independent.
- Configure bounded analysis retries and connect dead-letter recovery
that records incomplete analysis without rerunning detection.

**Why**:

- Keep result recording independent of issue detection while allowing
deployments to provide real detection.

## Test Plan

- [x] Add unit tests.
- [x] Verify the reference service integration with its default
detector.

## Revert Plan

- Revert this PR. No schema changes need reversal, and existing
observations can remain stored without affecting prior build processing.

## Issue Links

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

## Stack

1. uber#902
1. uber#907
1. uber#915
1. uber#909
1. uber#916
DivyanshGarg380 pushed a commit to DivyanshGarg380/submitqueue that referenced this pull request Oct 24, 2026
## Summary

**What**:

- Add queue-scoped storage for currently open issues, retaining the
build that opened each occurrence.
- Make deletion safe to repeat without removing a later opening of the
same issue.

**Why**:

- Separate current issue state from immutable per-build observations and
prepare for issue lifecycle history without enabling reconciliation yet.

## Test Plan

- [x] Add unit tests.
- [x] Verify open, remove, reopen, and concurrent creation against
MySQL.

## Revert Plan

- Revert this PR. No runtime writer is enabled; the additive table can
remain unused without affecting validation.

## Issue Links

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

## Stack

1. uber#902
1. uber#907
1. uber#915
1. uber#909
1. uber#916
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