Skip to content

[SYMPP-FF99] Make merged PR projection agree with delivery truth - #627

Merged
Pimpmuckl merged 1 commit into
mainfrom
fix/truthful-pr-projection
Aug 18, 2026
Merged

[SYMPP-FF99] Make merged PR projection agree with delivery truth#627
Pimpmuckl merged 1 commit into
mainfrom
fix/truthful-pr-projection

Conversation

@Pimpmuckl

@Pimpmuckl Pimpmuckl commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Context

Terminal pr_merged delivery made the PR signal say merged while nested historical pr.merge_state could still say open or blocked.

TL;DR

Use recorded merged delivery truth when projecting nested PR merge state.

Summary

  • Supersede stale nested merge state only for explicit pr_merged delivery.
  • Preserve provider-derived merge state for non-terminal packages.
  • Cover the contradiction and non-terminal control in the owning projection test.

Alternatives

  • A provider refresh or new stored state was rejected because delivery already provides canonical truth.

Test Plan

  • make -C elixir all
  • make -C elixir ci-full when release/full validation is required
    • Not required for this quick fix.
  • mix test test/symphony_elixir/symphony_plus_plus/dashboard/work_request_delivery_projection_test.exs
  • Review Suite fast rvw_a66bb533

Summary by CodeRabbit

  • Bug Fixes
    • Improved pull request merge-status reporting in work-package and operational views.
    • Recorded merge outcomes now take precedence when determining whether a pull request is merged.
    • Unsupported merge-state inputs are handled safely without producing misleading status data.
    • Blocked and unmerged pull requests now display accurate merge-state information.

Summary:
- supersede stale nested PR merge state from pr_merged delivery
- preserve provider merge state for non-terminal work packages

Rationale:
- the PR signal and nested PR projection must use the same delivery truth
- avoid new persisted state or provider refresh behavior

Tests:
- mix test test/symphony_elixir/symphony_plus_plus/dashboard/work_request_delivery_projection_test.exs
- make -C elixir all

Co-authored-by: Codex <codex@openai.com>
@coderabbitai

coderabbitai Bot commented Aug 18, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: c9c3e140-dce9-4c04-9db4-6e49cf43cfe7

📥 Commits

Reviewing files that changed from the base of the PR and between 472da01 and 487537f.

📒 Files selected for processing (2)
  • elixir/lib/symphony_elixir/symphony_plus_plus/work_requests/delivery_board.ex
  • elixir/test/symphony_elixir/symphony_plus_plus/dashboard/work_request_delivery_projection_test.exs

Included review availability: Your plan includes up to 3 reviews per rolling hour; 2 remain after this review.


📝 Walkthrough

Walkthrough

The delivery board now passes delivery context into pull request summary generation. Recorded pr_merged outcomes determine merged state. Dashboard projection tests cover merged and blocked unmerged pull requests.

Changes

Delivery-aware pull request summaries

Layer / File(s) Summary
Delivery context and merge-state handling
elixir/lib/symphony_elixir/symphony_plus_plus/work_requests/delivery_board.ex
Operational projections pass nil, while full projections pass the associated delivery. Recorded pr_merged outcomes produce normalized merged state. Other supported payloads retain their merge fields.
Projection merge-state coverage
elixir/test/symphony_elixir/symphony_plus_plus/dashboard/work_request_delivery_projection_test.exs
Fixtures and assertions cover merged delivery state and blocked, unmerged pull requests.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 48753

The change aligns nested pull-request merge state with explicit merged delivery truth while preserving provider-derived state for non-terminal deliveries; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description check ✅ Passed The description includes all required sections, explains the problem and solution, lists alternatives, and records completed validation.
Title check ✅ Passed The title clearly identifies the main change: aligning merged PR projection with canonical delivery truth.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/truthful-pr-projection

Comment @coderabbitai help to get the list of available commands.

@Pimpmuckl
Pimpmuckl merged commit ada1780 into main Aug 18, 2026
24 checks passed
@Pimpmuckl
Pimpmuckl deleted the fix/truthful-pr-projection branch August 18, 2026 11:45
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