Skip to content

Tags: uber/submitqueue

Tags

v0.3.0-20260831224046-e37133d2dd9a

Toggle v0.3.0-20260831224046-e37133d2dd9a's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat(stovepipe): Announce validation start events (#652)

## Summary
**What**:
- Announce that validation of a commit has begun as soon as the pipeline
admits it, alongside the existing announcements for validation outcomes.
- Repeat that announcement when an already-admitted request is
redelivered, reusing the original event identity so consumers can
discard the duplicate.

**Why**:
- Let downstream systems track a validation from start to finish,
instead of only learning it happened once a verdict exists.
- Keep the announcement from being lost when the pipeline fails after
durably admitting the request.

## Test Plan
- [x] Add unit tests.

## Revert Plan
- Revert this PR. Nothing consumes the start event yet, so publishing
just stops with no downstream impact.

## Issues
-
[CODEM-466](https://linear.app/uber/issue/CODEM-466/emit-events-when-we-start-a-new-validation-range)

v0.3.0-20260828141710-8dc4fbbd054f

Toggle v0.3.0-20260828141710-8dc4fbbd054f's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat(stovepipe): Announce validation results (#646)

## Summary
**What**:
- Publish an event whenever a commit's validation result becomes
durable, carrying whether the commit is healthy or broken and what it
was measured against.
- Publish a distinct event when validation ends without a verdict, and
fail the work when either event cannot be sent.

**Why**:
- Let subscriber systems act on trunk validation results as they land,
instead of polling for them.
- Keep the event vendor-neutral so each deployment wires its own
subscriber to forward results onward, instead of building any single
environment's delivery path into the pipeline.

## Test Plan
- [x] Add unit tests.

## Revert Plan
- Revert this PR. The events are additive and nothing consumes them yet.

## Issues
-
[CODEM-459](https://linear.app/uber/issue/CODEM-459/record-step-emit-events-internally-on-new-green)

v0.3.0-20260828131707-a6a425d99bca

Toggle v0.3.0-20260828131707-a6a425d99bca's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix(messagequeue): clarify canceled worker polls (#647)

## Summary
Intent:
- Distinguish expected partition-worker teardown from actionable polling
failures.

Changes:
- Log canceled in-flight polls at info only when the worker context is
also canceled.
- Keep active-worker cancellations and other storage failures at error
level.

v0.3.0-20260827170158-f514cfaec218

Toggle v0.3.0-20260827170158-f514cfaec218's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat(errs): classify YARPC status errors (#641)

## Summary
Intent:
- Retry transient YARPC failures instead of dead-lettering them as
unknown errors.
- Preserve dependency attribution while distinguishing caller
cancellation.

Changes:
- Classify typed YARPC statuses by retryability and origin.
- Register the classifier with Stovepipe and document the mapping.

v0.3.0-20260826193049-e2505b0c5277

Toggle v0.3.0-20260826193049-e2505b0c5277's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
build(api): expose RPC proto sources (#639)

## Summary
Intent:
- Allow downstream Bazel repositories to vendor published RPC contracts
directly. This will let us use a rule in our internal repo to keep the
vendored copies up to date on each sync.

Changes:
- Make the Runway, Stovepipe, SubmitQueue gateway, and SubmitQueue
orchestrator service proto sources publicly visible.

v0.3.0-20260825223919-9292e3ce76e1

Toggle v0.3.0-20260825223919-9292e3ce76e1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
refactor(speculation): move the scorer in with the rest of speculation (

#625)

## Summary
### Why?

The Speculator is composed from a generator, an allocator and a scorer,
but only two of the three lived under
`submitqueue/extension/speculation/`. The scorer sat at the top level as
if it were a peer of storage or the change provider, which it is not:
there is no scoring stage, and nothing outside the speculation generator
has ever asked it for a price. The tree implied a seam that does not
exist.

### What?

`submitqueue/extension/scorer/` becomes
`submitqueue/extension/speculation/scorer/`, taking its contract,
`heuristic`, `composite`, `fake` and `mock` with it. Import paths and
BUILD files follow; no code changes.

The `mocks` Makefile target listed the old path explicitly. It is
dropped rather than repointed, because the
`./submitqueue/extension/speculation/...` pattern already on that line
now covers it.

## Test Plan
✅ `bazel test //submitqueue/... //service/...` — 53 tests pass
✅ `make gazelle` — BUILD files regenerated
✅ `make mocks` — unchanged output from the new path

## Issues

v0.3.0-20260824200326-c93310ddce2f

Toggle v0.3.0-20260824200326-c93310ddce2f's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat(stovepipe): Consume hook events (#632)

## Summary
**What**:
- Register the hook stage and its dead-letter stage in Stovepipe's
consumer wiring, on a topic named for the domain, with a resolver that
hands every event to the no-op hook.

**Why**:
- Wire the stage in a second domain, so attaching a real integration to
Stovepipe is a resolver swap rather than new plumbing, and two domains
on one queue backend keep their own hook topics.

## Test Plan
- [x] Add unit tests.

## Revert Plan
- Revert this PR. Nothing publishes hook events yet and the resolver
returns only a no-op hook.

## Issues
-
[CODEM-416](https://linear.app/uber/issue/CODEM-416/hooks-integration-downstream-notificaiton)

## Stack
1. #607
1. #608
1. @ #632

v0.3.0-20260824195328-ac94e2437ed0

Toggle v0.3.0-20260824195328-ac94e2437ed0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat(orch): Consume hook events (#608)

## Summary
**What**:
- Register the orchestrator's hook stage, so lifecycle events are
consumed from the queue and handed to the integrations each event
resolves to. No integration is wired yet, so events are accepted and
discarded.
- Register the matching dead-letter stage, so an event that fails every
retry is recorded and alerted on instead of accumulating unread.

**Why**:
- Prove the delivery path end to end before anything produces an event,
so a later change adds producers to a route that already works.
- Keep a deployment with no integrations configured distinguishable from
one that is silently losing events.

## Test Plan
- [x] Add unit tests.

## Revert Plan
- Revert this PR. Since nothing publishes hook events yet and the
resolver returns only a no-op hook, no side effect is lost.

## Issues
-
[CODEM-416](https://linear.app/uber/issue/CODEM-416/hooks-integration-downstream-notificaiton)

## Stack
1. #607
1. @ #608
1. #632

v0.3.0-20260824193758-fee08f1c5fa7

Toggle v0.3.0-20260824193758-fee08f1c5fa7's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat(hook): Deliver events to integrations (#607)

## Summary
**What**:
- Consume lifecycle events from a durable queue and hand each one to the
integrations it resolves to, running them concurrently and retrying then
dead-lettering the ones that keep failing.
- Record every dead-lettered event with its full payload and failure
reason, and count it on a metric meant to page.

**Why**:
- Keep a slow or broken integration from stalling or failing the work
that triggered it.
- Make a lost notification recoverable and impossible to miss, since
nothing else in the system notices when one goes missing.

## Test Plan
- [x] Add unit tests.

## Revert Plan
- Revert this PR. No service constructs the controller or subscribes to
the hook topic.

## Issues
-
[CODEM-416](https://linear.app/uber/issue/CODEM-416/hooks-integration-downstream-notificaiton)

v0.3.0-20260824173604-9a1825ec27e7

Toggle v0.3.0-20260824173604-9a1825ec27e7's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
docs: align READMEs and RFCs with current code and AGENTS.md conventi…

…ons (#629)

Updates the documentation to match the actual repository layout and
code:

- Replaces all stale CLAUDE.md references with AGENTS.md, the
authoritative conventions file.
- Fixes the project-layout description in README.md and
submitqueue/README.md: shared code lives under platform/, not the
now-removed top-level entity/extension/core/ directories.
- Expands the empty submitqueue/orchestrator/README.md with the pipeline
stages it runs.
- Updates Stovepipe READMEs to reflect Ping + Ingest RPCs and the full
ingest → process → build → buildsignal → record pipeline, plus DLQ
reconcilers.
- Corrects fully-qualified gRPC service names in service/README.md and
TESTING.md to use the uber.* proto packages.
- Corrects Runway topic names in doc/rfc/runway/workflow.md to match the
actual TopicKey constants (merge-conflict-check, runway-merge,
merge-conflict-check-signal, merge-signal).
- Clarifies integration-test Makefile targets in TESTING.md and removes
the non-existent integration-test-{service} placeholder.
- Fixes the stale TODO line-number reference in modular-queue-wiring.md.