@biffo/cli 0.278.1 → 0.278.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -997,6 +997,52 @@ export const RACE_THRESHOLD_MINUTES = 10
|
|
|
997
997
|
* just before the window opened is not in `prs` to be counted. The bias is
|
|
998
998
|
* one-directional and toward zero, so a rise is always real.
|
|
999
999
|
*
|
|
1000
|
+
* ## `racedShare` is not portable across repos with different CI speed (#1419)
|
|
1001
|
+
*
|
|
1002
|
+
* `RACE_THRESHOLD_MINUTES` is an **absolute** 10 minutes, the same number for
|
|
1003
|
+
* every repo regardless of how long that repo's own CI takes to reach green.
|
|
1004
|
+
* That makes the threshold a function of pipeline latency as much as of
|
|
1005
|
+
* contention: a repo whose median time-to-green already exceeds 10 minutes
|
|
1006
|
+
* crosses `racedShare`'s numerator condition on wait time alone, before any
|
|
1007
|
+
* question of whether `dev` moved underneath it.
|
|
1008
|
+
*
|
|
1009
|
+
* Measured live 2026-08-12, four repos, 7-day window, `strict: false` on
|
|
1010
|
+
* three of the four (the fourth, `biffo-plugin-idea-scout`, `true`):
|
|
1011
|
+
*
|
|
1012
|
+
* | repo | runner | `greenToMergeP50Minutes` | `repushRate` | `racedShare` | `staleMergeShare` |
|
|
1013
|
+
* | --- | --- | ---: | ---: | ---: | ---: |
|
|
1014
|
+
* | `biffo-template` | hosted | 4.1 | 15.0% | 12.6% | 18.1% |
|
|
1015
|
+
* | `biffo-platform` | hosted | 4.4 | 12.5% | 12.5% | 0% |
|
|
1016
|
+
* | `biffo-plugin-idea-scout` | hosted | 7.3 | 46.2% | 23.1% | 0% |
|
|
1017
|
+
* | `tabsii-platform` | **self-hosted, spot** | **14.7** | **42.7%** | **41.3%** | 7.3% |
|
|
1018
|
+
*
|
|
1019
|
+
* `tabsii-platform` is the only repo of the four on self-hosted (spot) runner
|
|
1020
|
+
* capacity, and its median green-to-merge lag (14.7min) already clears the
|
|
1021
|
+
* fixed 10-minute threshold by itself — consistent with the runner-queueing
|
|
1022
|
+
* cost recorded elsewhere in this estate for that fleet. `racedShare` tracks
|
|
1023
|
+
* `repushRate` far more tightly across this table than it tracks `strict`
|
|
1024
|
+
* (three of the four rows are `strict: false` and still span 12.5%–41.3%),
|
|
1025
|
+
* which reconfirms H4's amendment to H3: *"`racedShare` counts PRs that sat
|
|
1026
|
+
* green over ten minutes and were repushed. It is arithmetically a function of
|
|
1027
|
+
* how many times you push."*
|
|
1028
|
+
*
|
|
1029
|
+
* The clincher against reading `racedShare` as *this repo has more genuine
|
|
1030
|
+
* integration contention*: `staleMergeShare` — the metric that actually
|
|
1031
|
+
* detects whether `dev` moved between a PR's last green run and its merge —
|
|
1032
|
+
* is **lower** at `tabsii-platform` (7.3%) than at `biffo-template` (18.1%).
|
|
1033
|
+
* If `tabsii-platform`'s elevated `racedShare` reflected more real racing
|
|
1034
|
+
* against a moving `dev`, `staleMergeShare` should read higher there too, not
|
|
1035
|
+
* lower. It does not, so the elevated reading is better read as this repo's
|
|
1036
|
+
* own CI/runner latency and repush volume crossing an absolute threshold, not
|
|
1037
|
+
* as more contention.
|
|
1038
|
+
*
|
|
1039
|
+
* **Practical consequence: never read `racedShare` as a bare cross-repo
|
|
1040
|
+
* defect rate.** Read it beside `greenToMergeP50Minutes` (this repo's own
|
|
1041
|
+
* pipeline speed relative to the fixed threshold) and `repushRate` (the
|
|
1042
|
+
* arithmetic driver), and treat `staleMergeShare` as the tie-breaker when the
|
|
1043
|
+
* two disagree about whether a high `racedShare` is genuine contention. The
|
|
1044
|
+
* dashboard's tooltip on this cell carries the same note.
|
|
1045
|
+
*
|
|
1000
1046
|
* @param {Array<{createdAt: string, mergedAt: string | null, headRefName: string, baseRefName?: string}>} prs
|
|
1001
1047
|
* @param {Map<string, Array<Record<string, unknown>>>} runsByBranch
|
|
1002
1048
|
*/
|