as of 2026-10-31; complete months 2025-11 to 2026-10 ## legacy suite (frozen: harper-legacy-api-jobs.csv, legacy-waits.csv) legacy-test-step-before-1091 median 7.5 min, p90 7.7 min, n=778 (successful 'Run API Tests' steps, 2026-05-05 to #1091) legacy-test-step-after-1091 median 5.6 min, p90 5.8 min, n=262 (after #1091 replaced fixed sleeps with polls) legacy-job median 8.2 min, p90 8.5 min, n=2336 (whole Linux job incl. setup) legacy-waits-timing-window 387.7 s (6.5 min) (67 waits at 8780c52: timers 201.7 s, restarts 186.0 s) legacy-waits-before-pr-27 324.4 s (5.4 min) (59 waits at fb098c0: timers 200.4 s, restarts 124.0 s) legacy-main-failure-rate 9.3% (42 of 450 main push runs, first attempt, Linux Node.js legacy jobs; 10 more failed in setup before any test ran) legacy-main-failure Node.js v20 5.5% (21 of 384 jobs) legacy-main-failure Node.js v22 4.0% (18 of 450 jobs) legacy-main-failure Node.js v24 2.7% (12 of 450 jobs) legacy-same-commit-split 61% (77 of 126 failing attempts had another Node version pass) legacy-job-sample 452 main push, 396 pull_request, 4 workflow_dispatch (runs in harper-legacy-api-jobs.csv) legacy-suite-size 974 to 993 test cases (Nov 2025 to Jun 2026) ## test growth (harper main, counted from source) date framework files framework cases legacy cases 2025-11-05 0 0 974 2025-12-04 2 7 985 2026-01-01 2 7 985 2026-02-01 5 28 985 2026-03-01 7 59 985 2026-04-01 8 60 985 2026-05-01 13 117 993 2026-05-15 14 122 993 2026-06-01 39 372 993 2026-06-09 45 1096 0 2026-07-01 89 1378 0 2026-08-01 148 1699 0 2026-09-01 189 2007 0 2026-10-01 242 2304 0 2026-10-31 310 2777 0 growth-since-port 1681 (test cases added Jun 9 to 2026-10-31) ## green main run 41250415997 tests-per-run 3237 (Linux Node.js 24, 6 shards: pass 3217, fail 0, skipped 18, todo 2) harper-instances-per-run 539 summed-suite-time 95.2 min slowest-shard 7.0 min (ratio 13.7x) windows-tests 1079 shard-jobs-in-run 30 (bun 6, linux-node24 6, linux-node26 6, uws 6, windows 6) ## harper integration-tests.yml runs runs-total 9894 (2025-11-04 to 2026-10-31) month runs main pushes main failed linux shard failed re-run then succeeded PR branches (not renovate) 2025-11 25 0 - - 0.0% 2 2025-12 68 13 0% 0% 1.5% 14 2026-01 132 13 8% 0% 0.0% 21 2026-02 213 30 7% 0% 0.9% 39 2026-03 446 109 16% 4% 2.5% 105 2026-04 493 74 19% 0% 2.8% 104 2026-05 1042 160 41% 12% 3.6% 196 2026-06 1356 245 66% 40% 7.4% 297 2026-07 1374 225 52% 30% 12.9% 265 2026-08 1186 154 62% 34% 12.6% 190 2026-09 1622 244 19% 10% 4.3% 311 2026-10 1936 363 25% 10% 5.8% 433 last 30 days 1886 353 24% 10% 5.9% 418 node26-failed-main-runs 2026-06 44, 2026-07 37, 2026-08 17, 2026-09 15, 2026-10 24 (main runs with a failed Linux Node.js 26 job) main-failure-rate-last30 24% (86 of 353 main pushes, final attempt) linux-failure-rate-last30 10% (36 of 353) failed-without-linux-node-last30 50 of 86 (46 failed only in Windows, Bun, or uWS jobs) failed-one-configuration-last30 67 of 86 (uws 30, windows 10, linux-node24 9, bun 9, linux-node26 8, linux-node22 1) failed-every-linux-node-only-last30 12 of 86 (failed on Linux Node.js 22, 24, and 26, and in no other configuration) main-failure-rate-without-experimental-last30 13% (47 of 353 main pushes failed in a job other than Bun or uWS, final attempt) main-failure-rate-attempt1-last30 23% (353 main pushes, first attempt) linux-failure-rate-attempt1-last30 10% (35 of 353, first attempt) pr-failure-rate-attempt1-last30 19% (56 of 290 sampled PR runs, first attempt) main-failure-rate-without-experimental-attempt1-last30 12% (43 of 353, first attempt, ignoring Bun and uWS) pr-failure-rate-without-experimental-attempt1-last30 10% (29 of 290 sampled PR runs, first attempt, ignoring Bun and uWS) ## time to a full result (first job start to last job end, first attempt) wall-main-last30 median 12.3 min, p90 13.4 min, n=267 (every successful first-attempt main push in the window) wall-pr-last30 median 11.9 min, p90 13.0 min, n=230 (25% hash sample of successful first-attempt PR runs) month main median (min) n 2025-12 8.6 13 2026-01 8.7 12 2026-02 9.0 28 2026-03 10.3 26 2026-04 9.7 27 2026-05 10.0 15 2026-06 15.9 9 2026-07 14.1 12 2026-08 11.3 9 2026-09 9.2 26 2026-10 12.1 24 ## merged PRs to harper main (harper-prs.csv) month merged PRs touching int. tests share code PRs code PRs with int. test share file lists truncated 2025-11 12 0 0% 5 0 0% 0 2025-12 14 3 21% 7 1 14% 0 2026-01 13 3 23% 8 2 25% 1 2026-02 30 5 17% 23 3 13% 1 2026-03 96 10 10% 60 2 3% 0 2026-04 67 8 12% 42 2 5% 0 2026-05 151 29 19% 97 15 15% 1 2026-06 229 59 26% 151 26 17% 0 2026-07 215 54 25% 161 35 22% 1 2026-08 148 48 32% 102 33 32% 0 2026-09 238 74 31% 144 47 33% 0 2026-10 359 128 36% 272 108 40% 1 ## harper-pro cluster-test-files 1 (2026-03-01) to 118 (2026-10-31) integration-test-files 4 to 137 (346 test cases) node-counts NODE_COUNT 2 in 11, NODE_COUNT 3 in 3, NODE_COUNT 4 in 2 integration-runs-per-month 2026-06 579, 2026-07 427, 2026-08 409, 2026-09 428, 2026-10 524 ## Next.js plugin and downstream check nextjs-suite 10 fixtures, 12 spec files, 53 tests (commit 561530a) downstream-runs 4073 (2026-07-15 to 2026-10-31) downstream-sample 309 sampled: 257 ran (83%), 44 skipped, 8 without adapter jobs downstream-failure-rate 5% (12 of 257 suite runs had a Node.js version fail) ## adoption and npm repos-importing 34 (29 public, 5 private or internal) harper-pro 146 files (public) (private) 38 files (private) (private) 7 files (private) oauth 6 files (public) agent-memory 5 files (public) letsencrypt-cert-generator-fabric 4 files (public) npm 23 versions, 78,614 downloads 2026-10-02 to 2026-10-31 ## static (facts about history, not re-measured) legacy-active-tests ~930: 974 it() calls minus 45 static skips (19 it.skip, 26 in describe.skip('S3 Operations')), counted by hand at fb098c0 port 14 PRs, May 15 to Jun 9, 2026 (#555 #597 #627 #634 #645 #646 #647 #648 #730 #731 #732 #759 #761 #778) port-files 17 files in integrationTests/apiTests/ at b4f83887f, when the legacy suite was removed port-cleanup 19,977 lines deleted in harper PR #1173 node26-pin Node.js 26 pinned to 26.5.0 from 2026-08-03 to 2026-09-01