---
title: "comark-ui on GitHub"
meta:
  description: "400 pull requests from 12 Oct to 11 Nov 2026, and the last 1,000 workflow runs"
---

<dl>

<dt>Pull requests</dt>
<dd>400</dd>

<dt>Changes merged</dt>
<dd>97%</dd>

<dt>Releases shipped</dt>
<dd>29</dd>

<dt>Median time to merge</dt>
<dd>0.9 h</dd>

<dt>Changes by onmax</dt>
<dd>356 of 357</dd>

<dt>Workflow runs failing</dt>
<dd>11%</dd>

</dl>

## What stands out

[#Section titled "What stands out"](#what-stands-out)

1. **Features opened fell from 87 a week to 16** between the weeks of 19 Oct and 2 Nov, while fixes held near 30, so fixes overtook features. See [Pace](#pace).
2. **29 of 43 release PRs** merged in a month; the others were closed when a newer release PR replaced them. See [Pace](#pace).
3. **Fixes and docs merge in a median 0.6 h**; features take 1.6 h, and the slowest tenth of features waits 22 h or more. See [Time to merge](#time-to-merge).
4. **51 merged features change 1,000 lines or more**, against 3 fixes. See [Change size](#change-size).
5. **Preview Package fails 20% of its runs**, almost all on pull request branches. Pullfrog's **14 failures** all came on 9 and 10 Nov. See [Workflow runs](#workflow-runs).

## Pace

[#Section titled "Pace"](#pace)

Release PRs are the ones uppt opens, titled with the version; every other pull request is a change.

*Pull requests opened per week, by kind*

The week of 19 Oct opened 202; each week since opened about half the one before.

Oct 12Oct 19Oct 26Nov 2Nov 9

87384319383017162922021146121

feat

fix

docs

other

release

<details>

<summary>Data</summary>



| week | feat | fix | docs | other | release |
| --- | --- | --- | --- | --- | --- |
| 2026-10-12 | 0 | 0 | 0 | 0 | 2 |
| 2026-10-19 | 87 | 38 | 43 | 15 | 19 |
| 2026-10-26 | 38 | 30 | 17 | 15 | 14 |
| 2026-11-02 | 16 | 29 | 3 | 7 | 6 |
| 2026-11-09 | 8 | 7 | 0 | 4 | 2 |

</details>

| Kind | Opened | Merged | Share of changes |
| --- | --- | --- | --- |
| feat | 149 | 143 | 42% |
| fix | 104 | 101 | 29% |
| docs | 63 | 63 | 18% |
| other | 41 | 39 | 11% |
| release | 43 | 29 | |

## Where the work goes

[#Section titled "Where the work goes"](#where-the-work-goes)

The scope in a title names the package or area it changes. 82 merged changes have no scope and are left out.

*Merged changes per scope, by kind*

The docs site takes the most; the 54 other scopes hold 139 changes between them.

docsannotateuichartschipslintbadgeother scopes

7189814138865813813734231614131312139

feat

fix

docs

other

<details>

<summary>Data</summary>



| scope | feat | fix | docs | other |
| --- | --- | --- | --- | --- |
| docs | 7 | 18 | 0 | 9 |
| annotate | 8 | 14 | 1 | 0 |
| ui | 13 | 0 | 0 | 3 |
| charts | 8 | 4 | 2 | 0 |
| chips | 3 | 8 | 2 | 0 |
| lint | 6 | 4 | 1 | 2 |
| badge | 5 | 2 | 2 | 3 |
| other scopes | 81 | 38 | 13 | 7 |

</details>

## Time to merge

[#Section titled "Time to merge"](#time-to-merge)

Each line runs from the median to the 90th percentile: half of a kind's changes merge before its left dot, and a tenth wait past its right one.

*Hours from opening a change to merging it, per kind*

Fixes and docs merge in under an hour; the slowest tenth of features waits 22 h or more.

0 h2.5 h5 h7.5 h10 h12.5 h15 h17.5 h20 h22.5 h

featfixdocsother

1.6 h0.6 h0.6 h0.5 h22.2 h4.3 h2.8 h21.4 h

median

p90

<details>

<summary>Data</summary>



| kind | median | p90 |
| --- | --- | --- |
| feat | 1.6 | 22.2 |
| fix | 0.6 | 4.3 |
| docs | 0.6 | 2.8 |
| other | 0.5 | 21.4 |

</details>

## Change size

[#Section titled "Change size"](#change-size)

Lines changed are additions plus deletions.

*Merged changes per lines changed, by kind*

Most fixes change under 100 lines; most features change 500 or more.

under 1010 to 99100 to 499500 to 9991,000 and up

14124914154935191331511023901164770

feat

fix

docs

other

<details>

<summary>Data</summary>



| lines changed | feat | fix | docs | other |
| --- | --- | --- | --- | --- |
| under 10 | 0 | 6 | 14 | 3 |
| 10 to 99 | 12 | 49 | 14 | 15 |
| 100 to 499 | 49 | 35 | 19 | 13 |
| 500 to 999 | 31 | 8 | 6 | 2 |
| 1,000 and up | 51 | 3 | 10 | 6 |

</details>

## Workflow runs

[#Section titled "Workflow runs"](#workflow-runs)

The Release workflow skips itself on pull requests by design, so skipped runs are not problems.

*Runs per workflow, by conclusion*

Preview Package holds 72 of the 90 failures.

Preview PackagePullfrogRelease

2922872288164127401304295

success

cancelled

skipped

other

failure

<details>

<summary>Data</summary>



| workflow | success | cancelled | skipped | other | failure |
| --- | --- | --- | --- | --- | --- |
| Preview Package | 292 | 28 | 0 | 9 | 72 |
| Pullfrog | 288 | 0 | 0 | 2 | 14 |
| Release | 164 | 0 | 127 | 0 | 4 |

</details>

| Workflow | Triggered by | Runs | Failure rate | Median successful run |
| --- | --- | --- | --- | --- |
| Preview Package | pull\_request, push | 401 | 20% | 9.3 min |
| Pullfrog | workflow\_dispatch | 304 | 5% | 5.2 min |
| Release | push, pull\_request, workflow\_dispatch | 295 | 2% | 0.5 min |

*Failed runs per day, by workflow*

Preview Package fails a few times most days; Pullfrog failed only on 9 and 10 Nov.

Oct 27Oct 29Oct 31Nov 2Nov 4Nov 6Nov 8Nov 10Nov 11

85141671361331649156865683613461366

Preview Package

Pullfrog

Release

<details>

<summary>Data</summary>



| day | Preview Package | Pullfrog | Release |
| --- | --- | --- | --- |
| 2026-10-27 | 0 | 0 | 0 |
| 2026-10-28 | 8 | 0 | 0 |
| 2026-10-29 | 5 | 0 | 1 |
| 2026-10-30 | 4 | 0 | 1 |
| 2026-10-31 | 6 | 0 | 0 |
| 2026-11-01 | 7 | 0 | 1 |
| 2026-11-02 | 3 | 0 | 0 |
| 2026-11-03 | 0 | 0 | 0 |
| 2026-11-04 | 6 | 0 | 0 |
| 2026-11-05 | 13 | 0 | 0 |
| 2026-11-06 | 0 | 0 | 0 |
| 2026-11-07 | 3 | 0 | 1 |
| 2026-11-08 | 6 | 0 | 0 |
| 2026-11-09 | 4 | 9 | 0 |
| 2026-11-10 | 1 | 5 | 0 |
| 2026-11-11 | 6 | 0 | 0 |

</details>

## Method

[#Section titled "Method"](#method)

<details>

<summary>How the numbers were computed</summary>



There are two exports. In <code>prs.json</code> one row is one pull request: all 400, opened from 12 Oct to 11 Nov 2026. In <code>runs.json</code> one row is one GitHub Actions run: the last 1,000, which reach back only to 27 Oct, so the workflow charts cover 16 days and the pull request charts a month.

A release PR is one titled with a version, such as <code>v0.11.0</code>, which uppt opens; the other 357 pull requests are changes. A change's kind is the conventional-commit type in its title: <code>feat</code>, <code>fix</code>, and <code>docs</code> stand alone, and <code>ci</code>, <code>perf</code>, <code>test</code>, <code>refactor</code>, <code>chore</code>, <code>build</code>, <code>style</code>, and one untyped title are <code>other</code>. Its scope is the word in brackets after the type, and the first one when a title names two.

Time to merge is the hours from <code>createdAt</code> to <code>mergedAt</code>, for merged changes only; p90 is the time the slowest tenth wait at least. Lines changed are <code>additions</code> plus <code>deletions</code>. A run's failure rate is its failures over its successes plus failures; cancelled, skipped, waiting for approval (<code>other</code>, 7 runs), and still running (<code>other</code>, 4 runs) are left out of it. A run's length is <code>updatedAt</code> minus <code>createdAt</code>, which includes time in the queue. Weeks start on Monday, in UTC, and the week of 9 Nov holds three days.

Every number on this page comes from <code>analyze.py</code> over the two exports, and nothing was typed by hand.

</details>