CI Maintenance Audit — 2026-05-01
This issue was filed by the CI maintenance agent after auditing the 10 most recently failed workflow runs.
Summary
There are 65 cumulative failed runs in the repository. The 10 most recent failures all occurred on 2026-04-12. Every root cause has already been fixed in open PRs — but none of those PRs have been merged (19+ days open). In addition, the base branch fix/ci-type-errors-and-stale-test-date still contains stale hardcoded dates in integration.test.ts that will cause immediate test failures if CI is triggered there.
Root Causes (all from April 12 era)
| # |
Root cause |
Affected files |
Status |
| 1 |
Stale hardcoded date "2026-03-26" in stats integration tests — outside 7/14-day rolling query windows |
plugins/stats/tests/integration.test.ts |
❌ Still present on base branch |
| 2 |
Unused TypeScript imports (TS6133) under noUnusedLocals |
tools/claudeup-core/src/services/conventions-manager.ts, doctor.test.ts, conventions-integration.test.ts |
Fixed in fix PRs, not merged |
| 3 |
browser-use version mismatch — plugin.json at 1.1.2, marketplace.json still at 1.1.1 |
.claude-plugin/marketplace.json |
Fixed in fix PRs, not merged |
| 4 |
Hardcoded branches allowlist in workflow triggers — any branch other than main or fix/ci-type-errors-and-stale-test-date is invisible to CI |
.github/workflows/test-plugins.yml, .github/workflows/test-stats.yml |
Fixed in fix PRs, not merged |
Active Test Failures on Base Branch (fix/ci-type-errors-and-stale-test-date @ 7e440fb)
plugins/stats/tests/integration.test.ts still has "2026-03-26" as the hardcoded session date. Today (2026-05-01) that is 36 days ago, which is outside the 7-day and 14-day rolling windows used by these three tests:
| Test |
Query window |
Result today |
getSessionSummary returns correct averages and totals |
7 days |
0 rows → session_count assertion fails |
getTopTools returns tools ranked by call count |
7 days |
0 rows → topTools.length > 0 fails |
getDurationTrend returns daily data in ASC date order |
14 days |
0 rows → trend.length > 0 fails |
A push to this branch or a new PR targeting it would trigger test-stats.yml and fail immediately on these three tests.
Note: db.test.ts on the base branch has already been partially fixed (getSessionSummary uses dynamic today), but integration.test.ts was not updated alongside it.
Open Fix PRs — Status at Time of Audit
| PR |
Branch |
Last CI |
Checks |
What it fixes |
| #24 |
fix/ci-24065489776-ts-and-dates |
2026-04-11 |
✅ 7/7 green |
TS imports + dates + browser-use + partial trigger fix |
| #28 |
fix/ci-24276607217-browser-use-version |
2026-04-11 |
GitGuardian only |
browser-use version only (trigger filter blocked CI) |
| #31 |
fix/ci-main-browser-use-version |
2026-04-12 |
GitGuardian only |
targets dist-only main; test CI cannot run here |
| #32 |
fix/ci-workflow-trigger-broadening |
2026-04-12 |
❌ 3 failures |
trigger broadening only — lacked code fixes, so tests failed once CI started running |
| #33 |
fix/ci-consolidated |
2026-04-12 |
✅ 7/7 green |
All 4 root causes — TS imports + dates + browser-use + unrestricted triggers |
| #34 |
fix/ci-all-fixes-final |
2026-04-12 |
✅ 13/13 green |
integration.test.ts dates + browser-use (narrower scope than #33) |
Recommended Action
Merge PR #33 (fix/ci-consolidated). It is the most comprehensive fix:
After merging #33, the base branch fix/ci-type-errors-and-stale-test-date will have the rolling-date fix in integration.test.ts and the unrestricted workflow triggers, so future fix/feature branches will automatically get CI coverage without any further intervention.
PRs That Can Be Closed After #33 Merges
CI Maintenance Audit — 2026-05-01
This issue was filed by the CI maintenance agent after auditing the 10 most recently failed workflow runs.
Summary
There are 65 cumulative failed runs in the repository. The 10 most recent failures all occurred on 2026-04-12. Every root cause has already been fixed in open PRs — but none of those PRs have been merged (19+ days open). In addition, the base branch
fix/ci-type-errors-and-stale-test-datestill contains stale hardcoded dates inintegration.test.tsthat will cause immediate test failures if CI is triggered there.Root Causes (all from April 12 era)
"2026-03-26"in stats integration tests — outside 7/14-day rolling query windowsplugins/stats/tests/integration.test.tsTS6133) undernoUnusedLocalstools/claudeup-core/src/services/conventions-manager.ts,doctor.test.ts,conventions-integration.test.tsbrowser-useversion mismatch —plugin.jsonat1.1.2,marketplace.jsonstill at1.1.1.claude-plugin/marketplace.jsonbranchesallowlist in workflow triggers — any branch other thanmainorfix/ci-type-errors-and-stale-test-dateis invisible to CI.github/workflows/test-plugins.yml,.github/workflows/test-stats.ymlActive Test Failures on Base Branch (
fix/ci-type-errors-and-stale-test-date@7e440fb)plugins/stats/tests/integration.test.tsstill has"2026-03-26"as the hardcoded session date. Today (2026-05-01) that is 36 days ago, which is outside the 7-day and 14-day rolling windows used by these three tests:getSessionSummary returns correct averages and totalssession_countassertion failsgetTopTools returns tools ranked by call counttopTools.length > 0failsgetDurationTrend returns daily data in ASC date ordertrend.length > 0failsA push to this branch or a new PR targeting it would trigger
test-stats.ymland fail immediately on these three tests.Note:
db.test.tson the base branch has already been partially fixed (getSessionSummaryuses dynamictoday), butintegration.test.tswas not updated alongside it.Open Fix PRs — Status at Time of Audit
fix/ci-24065489776-ts-and-datesfix/ci-24276607217-browser-use-versionfix/ci-main-browser-use-versionmain; test CI cannot run herefix/ci-workflow-trigger-broadeningfix/ci-consolidatedfix/ci-all-fixes-finalRecommended Action
Merge PR #33 (
fix/ci-consolidated). It is the most comprehensive fix:After merging #33, the base branch
fix/ci-type-errors-and-stale-test-datewill have the rolling-date fix inintegration.test.tsand the unrestricted workflow triggers, so future fix/feature branches will automatically get CI coverage without any further intervention.PRs That Can Be Closed After #33 Merges
main(dist-only orphan); test CI can never run there; superseded