Skip to content

CI triage (2026-04-30): 18-day failure chain — PR #33 is the complete fix, ready to merge #109

@erudenko

Description

@erudenko

CI Failure Triage — 2026-04-30

Automated CI/CD maintenance scan. gh CLI is unavailable in this environment so workflow run logs were accessed via GitHub API check-run data on each open PR.


Current CI State

PR Branch CI Status Last check run
#22 fix/ci-typescript-and-stats-dates GitGuardian only (trigger never fired) Apr 10
#23 fix/ci-typescript-and-stats-dates-resolved GitGuardian only (trigger never fired) Apr 10
#24 fix/ci-24065489776-ts-and-dates ✅ ALL 7 CHECKS PASS Apr 11
#28 fix/ci-24276607217-browser-use-version GitGuardian only (trigger never fired) Apr 11
#31 fix/ci-main-browser-use-version GitGuardian only (targets dist-only main) Apr 12
#32 fix/ci-workflow-trigger-broadening FAILING (test(20) + test-stats) Apr 12
#33 fix/ci-consolidated ALL 7 CHECKS PASS Apr 12
#34 fix/ci-all-fixes-final ✅ ALL 13 CHECKS PASS Apr 12

CI has been failing for 18+ days (since ~April 6). No fix has been merged.


Root Causes (affecting PR #32 and the unpatched base branch)

1. Unused TypeScript imports — tsc --noEmit fails with TS6133

Three imports flagged by noUnusedLocals:

File Unused import
tools/claudeup-core/src/__tests__/integration/conventions-integration.test.ts removeGitignoreEntries
tools/claudeup-core/src/__tests__/unit/doctor.test.ts vi
tools/claudeup-core/src/services/conventions-manager.ts existsSync

2. Stale hardcoded test dates — time-windowed queries return zero rows

plugins/stats/tests/db.test.ts and integration.test.ts used "2026-03-26" which is now 35 days old — well outside the 7-day and 14-day rolling query windows in getSessionSummary, getTopTools, and getDurationTrend.

3. browser-use version mismatch

plugins/browser-use/plugin.json was bumped to v1.1.2 but .claude-plugin/marketplace.json was never updated (still v1.1.1). The marketplace-sync integration test catches this.

4. Workflow trigger branch allowlist (fixed in #32/#33, not yet merged)

Both test-plugins.yml and test-stats.yml had branches: [main, fix/ci-type-errors-and-stale-test-date] — any other branch name is invisible to CI. This is why PRs #22, #23, #28 never got test coverage.


Why PR #32 is still failing

PR #32 only removes the trigger branch allowlist. It is based on fix/ci-type-errors-and-stale-test-date (HEAD 7e440fb) which still contains issues #1, #2, and #3 above. CI now runs on #32 (the trigger fix worked) but the tests themselves fail because the underlying code was never patched.


Recommended action: merge PR #33

PR #33 (fix/ci-consolidated, commit c0f9c52) addresses all four root causes in a single, self-contained PR:

  • Removes 3 unused TS imports (fixes TS6133 / tsc --noEmit)
  • Replaces hardcoded dates with dynamic TODAY/YESTERDAY/TWO_DAYS_AGO constants
  • Bumps browser-use in marketplace.json to 1.1.2
  • Removes branches allowlist from both workflow trigger definitions

All 7 CI checks passed as of April 12. The date fixes are dynamic so they will not go stale.

Superseded PRs (can be closed after merging #33)

PR Reason
#22 Partial subset of #33; trigger never fired — CI never validated it
#23 Partial subset of #33; trigger never fired
#28 Subset (browser-use version only); CI never fired on its branch
#31 Targets dist-only main; no workflows exist there; can never be tested
#32 Trigger fix only; code issues still present; superseded by #33
#34 Equivalent to #33 on a different branch; redundant if #33 merges

Also worth doing: branch cleanup

There are 30+ fix/ci-* branches accumulating. Most are stale fix attempts. A cleanup pass (git push origin --delete <branch>) would reduce confusion.


Conclusion

No new fix branch is warranted — PR #33 is the correct, fully-validated solution. The only action needed is a human review and merge of PR #33 into fix/ci-type-errors-and-stale-test-date.

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