Skip to content

fix(stovepipe): record broken facts from record DLQ - #946

Merged
mnoah1 merged 3 commits into
mainfrom
mnoah1/stovepipe-unavailable-attribution
Oct 27, 2026
Merged

mnoah1 merged 3 commits into
mainfrom
mnoah1/stovepipe-unavailable-attribution

Conversation

@mnoah1

@mnoah1 mnoah1 commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Why?

Record-stage errors can leave an already failed request without a repository validation fact: project resolution fails before the fact write, and the DLQ previously retained only record_abandoned.

What?

Recover a missing broken repository fact from the record DLQ for requests already in failed, regardless of the original record error. Preserve existing immutable facts, retain fact history, and publish validation.repository.recorded after persistence. Leave project verdicts and project completion unresolved. Share the existing fact-recording helpers and wire the hook registry into the DLQ controller.

Test Plan

  • Regression coverage exercises missing and existing facts, redelivery, hook recovery, durable-state failures, other request states, and malformed queue identities.
  • ./tool/bazel test //stovepipe/controller/record:go_default_test //service/stovepipe/server:go_default_test --test_output=errors
  • make fmt lint check-tidy check-gazelle

@mnoah1
mnoah1 marked this pull request as ready for review October 27, 2026 14:47
@mnoah1
mnoah1 requested review from a team, behinddwalls and sbalabanov as code owners October 27, 2026 14:47
@mnoah1
mnoah1 added this pull request to the merge queue Oct 27, 2026
Merged via the queue into main with commit 6c8ebbe Oct 27, 2026
21 checks passed
@mnoah1
mnoah1 deleted the mnoah1/stovepipe-unavailable-attribution branch October 27, 2026 15:56
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