Repository navigation
fix(stovepipe): report completed project results - #928
Merged
Merged
Conversation
Summary: Intent: - Let callers distinguish a finished project result set from results that are still being recorded. Changes: - Read the durable project_facts_recorded event before loading project facts, expose completion through both status lookups, and include its timestamp in updated_at_ms. - Record completion for successfully resolved empty result sets before publishing the terminal hook. - Cover completion, missing markers, storage failures, pagination, index repair on retry, and the real pipeline in unit, integration, and end-to-end tests. Revert Plan: Revert the application change. Existing facts and request events remain compatible; no schema migration is required.
mnoah1
marked this pull request as ready for review
October 23, 2026 16:17
mnoah1
requested review from
a team,
behinddwalls and
sbalabanov
as code owners
October 23, 2026 16:17
prathshenoy
approved these changes
Oct 23, 2026
mnoah1
enabled auto-merge
October 23, 2026 17:58
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Non-empty project result sets already persisted a
project_facts_recordedcompletion event, but the project-status API never read that event, soprojectResultsCompleteremained false. This change adds the missing completion projection into the request summary and reads it during status lookup. Empty result sets previously returned early without persisting the event; they now record completion with a count of zero after successful resolution.Intent:
Changes:
project_facts_recordedtimestamp intoRequestSummary.ProjectResultsCompletedAtMs, expose completion through both status lookups from the summary, and include its timestamp inupdated_at_ms. The summary is read before facts, without an additional event lookup.Test Plan
Passed locally:
Unit tests cover completion projection, missing completion, empty results, storage failures, original completion timestamps, concurrent lifecycle updates, summary-before-facts ordering, and index repair on retry. Integration tests cover both status APIs and pagination. The end-to-end test verifies completion through the real pipeline for an empty result set. The real-stack Web E2E test verifies that pagination fixtures load against the current schema and the browser can read request and project results.
Revert Plan
Revert the application change; leave the additive column in place. Existing facts and request events remain compatible.
Issue Links
None — no tracking issue is associated with this fix.