Skip to content

Adds merge queue separation analysis#4

Open
willik wants to merge 12 commits intoadd/cross-repo-branch-match-analysisfrom
add/merge-queue-separation-analysis
Open

Adds merge queue separation analysis#4
willik wants to merge 12 commits intoadd/cross-repo-branch-match-analysisfrom
add/merge-queue-separation-analysis

Conversation

@willik
Copy link
Copy Markdown
Contributor

@willik willik commented Feb 18, 2026

Summary

  • Quantifies the impact of splitting the single shipit merge queue into per-repository parallel queues across all 15 mural-web repos
  • Includes Python scripts for data fetching (GitHub GraphQL), queue timeline reconstruction, and FIFO queue simulation
  • Analysis shows median wait drops from 8.2 min → 2.1 min (74% reduction) with separate queues
  • CI processing time estimates validated against independent GitHub Actions data (murally P25 = 9.9 min vs measured median = 10.1 min)

Contents

  • merge-queue-separate-queues-analysis.md — full analysis document
  • merge-queue-analysis/ — scripts, raw data, and simulation output

@willik willik force-pushed the add/merge-queue-separation-analysis branch 3 times, most recently from 24d0e50 to 1159b9c Compare February 18, 2026 19:38
Quantifies the impact of splitting the single shipit merge queue
into per-repository parallel queues across all 15 mural-web repos.
Includes data fetching, timeline reconstruction, and queue simulation.
@willik willik force-pushed the add/merge-queue-separation-analysis branch from 1159b9c to b47b85f Compare February 18, 2026 19:40
Replaces index-based enqueue-to-terminal pairing with chronological
LIFO algorithm. Handles PRs with multiple enqueue events correctly
instead of double-counting or misaligning pairs.
Uses actual observed duration for failed/cancelled events instead of
full CI estimate. These events resolve without completing a full CI
run and should not occupy a full CI slot in the proposed queue model.
For failed/cancelled cross-repo efforts, the observed duration is
split equally across expanded repo entries.
Uses original timeline for current-state baseline metrics instead of
expanded results. Adds attributed wait for per-repo breakdowns so
effort waits are not counted multiple times.
Investigates the 7.8% vs 14.4% effort rate discrepancy by cross-
referencing shipit comment effort links with branch-name matching
data. Explains the gap and confirms it does not change the
queue separation recommendation.
Adds three processing time modes: constant (P25 CI estimate, best-
case), observed (uses actual processing time for front-of-queue
items), and sampled (draws from empirical distribution). Shows the
range of expected improvement under different assumptions.
Drops the verbose shipit-vs-branch-matching reconciliation section.
Replaces inline M/D/1 notation with plain language and adds Appendix D
explaining the queuing theory concepts with references.
Condenses the full analysis into a 1-page RFC following the team
template. Links to the detailed analysis for methodology and data.
Quantifies the impact of modularization PRs on merge queue findings
with reproducible scripts, cached data, and a validated worst-case
analysis showing <1pp change in effort rate.
Fixes YES rule documentation to match code (body keywords require
packages/ co-reference), removes unused LLM-decision workflow from
classifier script, adds validation limitations section acknowledging
temporal and confirmation bias, justifies constant effort events,
and frames the +0.8pp delta with explicit threshold reasoning.
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