Skip to content

feat(stovepipe): add request logs for outcomes and lifecycle events - #666

Open
mnoah1 wants to merge 2 commits into
mnoah1/stovepipe-request-history-processingfrom
mnoah1/stovepipe-request-history-build-outcomes
Open

feat(stovepipe): add request logs for outcomes and lifecycle events#666
mnoah1 wants to merge 2 commits into
mnoah1/stovepipe-request-history-processingfrom
mnoah1/stovepipe-request-history-build-outcomes

Conversation

@mnoah1

@mnoah1 mnoah1 commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR builds on #665, which records Process-owned request states.

Intent:

  • Retain terminal request outcomes and the durable build/fact milestones that explain them.
  • Let queue redelivery repair any missing occurrence before downstream work continues.

Changes:

  • Persist succeeded, failed, and cancelled request states with their build outcome reasons.
  • Record build_triggered, build_finished, and validation_fact_recorded events with stable identities and bounded metadata.
  • Keep each source write ahead of event materialization and materialization ahead of downstream publication or derived work.
  • Wire the shared materializer into Build, BuildSignal, and Record.

Test Plan

  • Run the focused Build, BuildSignal, Record, request-log materializer, and server wiring Bazel tests.

Revert Plan

  • Revert this change to stop recording terminal outcomes and lifecycle events.

Generated by the 🪄 pr-create skill in devexp-agent-marketplace

Issues

Stack

  1. feat(stovepipe): add request logs for process owned states #665
  2. @ feat(stovepipe): add request logs for outcomes and lifecycle events #666
  3. feat(stovepipe): add request logs for dlq outcomes #667

Summary:
This PR builds on #665, which records Process-owned request states.

Intent:
- Retain terminal build outcomes before the request advances to Record.
- Let BuildSignal redelivery repair a missing terminal occurrence from durable state.

Changes:
- Persist succeeded, failed, and cancelled request logs with their build outcome reasons.
- Keep the request CAS and slot release ahead of materialization, and materialization ahead of Record publication.
- Wire the shared materializer into BuildSignal and cover transition and retry failures.

Test Plan:
- Run the BuildSignal controller, server wiring, and request-log materializer Bazel tests.

Revert Plan:
- Revert this change to stop recording BuildSignal terminal outcomes.

---

<sub>Generated by the 🪄 [pr-create](https://sg.uberinternal.com/code.uber.internal/uber-code/devexp-agent-marketplace/-/blob/claude-code/plugins/dev/uber-dev/skills/pr-create/SKILL.md) skill in devexp-agent-marketplace</sub>
@mnoah1 mnoah1 changed the title feat(stovepipe): record build outcome states feat(stovepipe): record request outcomes and lifecycle events Sep 2, 2026
@mnoah1
mnoah1 marked this pull request as ready for review September 2, 2026 22:49
@mnoah1
mnoah1 requested review from a team, behinddwalls and sbalabanov as code owners September 2, 2026 22:49
@mnoah1 mnoah1 changed the title feat(stovepipe): record request outcomes and lifecycle events feat(stovepipe): add request logs for outcomes and lifecycle events Sep 2, 2026
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.

1 participant