Skip to content

ci: 6 open fix PRs stalled — 3 failing runs on PR #32, fixes ready on PR #33 and #34 #110

@erudenko

Description

@erudenko

CI Maintenance Audit — 2026-04-30

Automated CI maintenance scan found 3 failed workflow runs and a backlog of 6 competing fix PRs, none merged in 18+ days. Fixes are already implemented and passing CI. This issue documents the state and recommends a merge path.


Failed Runs Found

All failures are on PR #32 (fix/ci-workflow-trigger-broadening), head commit 6f38db6, from 2026-04-12:

Run ID Workflow Job Result Root Cause
24298790072 Test Plugins test (20) ❌ FAILED TS6133 unused imports
24298790072 Test Plugins test (22) ⚠️ CANCELLED Upstream job failed
24298790072 Test Plugins marketplace-sync ⏭ SKIPPED Upstream job failed
24298790076 Test Stats Plugin test ❌ FAILED Stale hardcoded dates
24298782547 Test Stats Plugin test ❌ FAILED Stale hardcoded dates

Root Causes

1. TypeScript TS6133 — unused imports

Three imports left behind after refactors, caught by tsc --noEmit under noUnusedLocals:

  • tools/claudeup-core/src/services/conventions-manager.tsexistsSync
  • tools/claudeup-core/src/__tests__/unit/doctor.test.tsvi
  • tools/claudeup-core/src/__tests__/integration/conventions-integration.test.tsremoveGitignoreEntries

2. Stale hardcoded test dates

plugins/stats/tests/integration.test.ts used hardcoded "2026-03-26" for session dates. The stats plugin's time-windowed DB queries (getSessionSummary, getTopTools, getDurationTrend) use 7-day and 14-day rolling windows. By April 12 this date was 17 days old — outside all windows — causing assertions on row counts to fail.

3. browser-use version mismatch

plugins/browser-use/plugin.json was bumped to v1.1.2 but .claude-plugin/marketplace.json was left at v1.1.1. The marketplace-sync integration test catches this drift.

4. PR #32 is a partial fix

PR #32 only added the workflow trigger fix (removed hardcoded branches allowlist from test-plugins.yml and test-stats.yml). It did NOT include the code-level fixes above, so CI ran but the tests themselves failed. PR #32 is superseded by PR #33.


Current State of All Open Fix PRs

PR Branch Base CI Notes
#22 fix/ci-typescript-and-stats-dates fix/ci-type-errors-and-stale-test-date GitGuardian only Test CI never ran (created before trigger fix) — superseded
#23 fix/ci-typescript-and-stats-dates-resolved fix/ci-type-errors-and-stale-test-date GitGuardian only Same as #22 — superseded
#24 fix/ci-24065489776-ts-and-dates fix/ci-type-errors-and-stale-test-date ✅ 7/7 passing Comprehensive fix — base for #33
#28 fix/ci-24276607217-browser-use-version fix/ci-24065489776-ts-and-dates GitGuardian only Stacked on #24; test CI never ran — superseded
#31 fix/ci-main-browser-use-version main GitGuardian only Targets dist-only main — no test workflows there
#32 fix/ci-workflow-trigger-broadening fix/ci-type-errors-and-stale-test-date ❌ 3 failures Partial fix — superseded by #33
#33 fix/ci-consolidated fix/ci-type-errors-and-stale-test-date ✅ 7/7 passing All fixes + trigger broadening — ready to merge
#34 fix/ci-all-fixes-final fix/ci-type-errors-and-stale-test-date ✅ 13/13 passing All fixes including integration.test.ts dates — ready to merge

Recommended Actions

Immediate

  1. Merge PR fix(ci): consolidated — TS imports, stale dates, browser-use version, unrestricted triggers #33 or PR fix(ci): complete all-fixes branch — rolling stats dates in integration.test.ts + browser-use 1.1.2 #34 into fix/ci-type-errors-and-stale-test-date — both are fully green. PR fix(ci): complete all-fixes branch — rolling stats dates in integration.test.ts + browser-use 1.1.2 #34 is more thorough (13 checks vs 7) and also covers integration.test.ts dynamic dates. Prefer fix(ci): complete all-fixes branch — rolling stats dates in integration.test.ts + browser-use 1.1.2 #34 if it doesn't conflict.
  2. Close PRs fix(ci): remove unused TS imports + fix stale stats test dates #22, fix(ci): resolve merge conflict — unused TS imports + stale stats test dates #23, fix(marketplace): bump browser-use version 1.1.1 → 1.1.2 in marketplace.json #28, fix(ci): remove hardcoded branch filters from workflow triggers #32 as superseded (not_planned). They either have no test CI or have failures that are fully covered by fix(ci): consolidated — TS imports, stale dates, browser-use version, unrestricted triggers #33/fix(ci): complete all-fixes branch — rolling stats dates in integration.test.ts + browser-use 1.1.2 #34.
  3. Decide on PR fix(marketplace): bump browser-use version 1.1.1 → 1.1.2 to fix CI #31 — it targets the dist-only main branch with a marketplace.json bump. If the source-code fix (via fix(ci): consolidated — TS imports, stale dates, browser-use version, unrestricted triggers #33/fix(ci): complete all-fixes branch — rolling stats dates in integration.test.ts + browser-use 1.1.2 #34) also updates marketplace.json on the source branch, this PR is only relevant if main is ever re-synced from source.

Longer-term

  • Consider renaming or protecting fix/ci-type-errors-and-stale-test-date as the primary development branch, or establish a clear develop/main branching strategy to avoid future confusion.
  • The test files should continue using dynamic date constants (TODAY, YESTERDAY, etc.) to prevent stale-date failures from recurring.

Generated by automated CI maintenance scan.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingci

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions