Summary
Automated CI maintenance audit — 2026-04-13.
The gh CLI is unavailable in this environment, so failures were identified by examining open PRs and inspecting file contents directly via the GitHub API. The fix/ci-type-errors-and-stale-test-date source branch has 5 confirmed root-cause failures across 3 categories. All fixes already exist in open PRs — no new branches were created. The recommended action is to merge PR #24 or PR #34.
Confirmed Failures on fix/ci-type-errors-and-stale-test-date (base branch, SHA 7e440fb)
1. Stale hardcoded test dates — Test Stats Plugin ❌
File: plugins/stats/tests/integration.test.ts
makeSession() defaults to date = "2026-03-26" (now 18 days old). Three tests insert sessions with this date and then query with rolling time windows — they return zero rows and fail:
| Test |
Window |
Date used |
Days old |
Result |
getSessionSummary returns correct averages and totals |
7 days |
2026-03-26 |
18 |
0 rows → fail |
getTopTools returns tools ranked by call count |
7 days |
2026-03-26 |
18 |
0 rows → fail |
getDurationTrend returns daily data in ASC date order |
14 days |
2026-03-24/25/26 |
18–20 |
0 rows → fail |
Fix: Replace hardcoded date with rolling TODAY/YESTERDAY/TWO_DAYS_AGO constants.
2. Unused TypeScript imports (TS6133) — Test Plugins ❌
Workflow step: Run type check (pnpm typecheck → tsc --noEmit with noUnusedLocals: true)
Three unused imports remain after refactors:
| 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 |
3. browser-use version mismatch — Test Plugins ❌
Workflow step: Run integration tests (marketplace-sync test)
plugins/browser-use/plugin.json is at 1.1.2 but .claude-plugin/marketplace.json still declares 1.1.1. The marketplace-sync.test.ts test asserts all versions match:
AssertionError: Plugin browser-use: version mismatch - plugin.json has 1.1.2, marketplace.json has 1.1.1
4. Workflow trigger branch filters — structural issue ⚠️
Files: .github/workflows/test-plugins.yml, .github/workflows/test-stats.yml
The base branch still has hardcoded branches allowlists ([main, fix/ci-type-errors-and-stale-test-date]) on both push and pull_request triggers. This means CI is silent on any new fix/* or feat/* branch unless the branch name is in the allowlist.
Fix Branch Status (verified by file inspection)
| Branch |
PR |
TS imports |
Stale dates |
browser-use |
Trigger fix |
Status |
fix/ci-all-fixes-final |
#34 |
✅ |
✅ |
✅ |
✅ |
All fixes present |
fix/ci-consolidated |
#33 |
✅ |
✅ |
✅ |
✅ |
All fixes present |
fix/ci-24065489776-ts-and-dates |
#24 |
✅ |
✅ |
✅ |
partial |
All code fixes present |
fix/ci-type-errors-and-stale-test-date |
base |
❌ |
❌ |
❌ |
❌ |
Still broken |
Verification notes:
- Confirmed
conventions-integration.test.ts on fix/ci-all-fixes-final does NOT import removeGitignoreEntries ✅
- Confirmed
doctor.test.ts on fix/ci-all-fixes-final does NOT import vi ✅
- Confirmed
conventions-manager.ts on fix/ci-all-fixes-final does NOT import existsSync ✅
- Confirmed
integration.test.ts on fix/ci-all-fixes-final uses TODAY/YESTERDAY/TWO_DAYS_AGO ✅
- Confirmed
marketplace.json on fix/ci-all-fixes-final has browser-use at 1.1.2 ✅
- Confirmed
test-plugins.yml and test-stats.yml on fix/ci-all-fixes-final have no branch filters ✅
Recommended Action
Merge PR #34 (fix/ci-all-fixes-final → fix/ci-type-errors-and-stale-test-date).
It is directly based on the base branch (smallest diff, no stacking dependency), fixes all 5 issues, and its head commit has been verified to contain every fix.
Alternatively, PR #24 (fix/ci-24065489776-ts-and-dates) is also directly based on the base branch and contains all the same code fixes.
After merging one of those, the following open PRs become redundant and should be closed:
Why No New Branch Was Created
All fixes are already correctly implemented in existing open PRs. Creating another fix branch would increase PR queue noise without adding value. The blocker is PR review/merge velocity, not code availability.
Generated by CI maintenance agent — 2026-04-13
Summary
Automated CI maintenance audit — 2026-04-13.
The
ghCLI is unavailable in this environment, so failures were identified by examining open PRs and inspecting file contents directly via the GitHub API. Thefix/ci-type-errors-and-stale-test-datesource branch has 5 confirmed root-cause failures across 3 categories. All fixes already exist in open PRs — no new branches were created. The recommended action is to merge PR #24 or PR #34.Confirmed Failures on
fix/ci-type-errors-and-stale-test-date(base branch, SHA7e440fb)1. Stale hardcoded test dates —
Test Stats Plugin❌File:
plugins/stats/tests/integration.test.tsmakeSession()defaults todate = "2026-03-26"(now 18 days old). Three tests insert sessions with this date and then query with rolling time windows — they return zero rows and fail:getSessionSummary returns correct averages and totals2026-03-26getTopTools returns tools ranked by call count2026-03-26getDurationTrend returns daily data in ASC date order2026-03-24/25/26Fix: Replace hardcoded date with rolling
TODAY/YESTERDAY/TWO_DAYS_AGOconstants.2. Unused TypeScript imports (TS6133) —
Test Plugins❌Workflow step:
Run type check(pnpm typecheck→tsc --noEmitwithnoUnusedLocals: true)Three unused imports remain after refactors:
tools/claudeup-core/src/__tests__/integration/conventions-integration.test.tsremoveGitignoreEntriestools/claudeup-core/src/__tests__/unit/doctor.test.tsvitools/claudeup-core/src/services/conventions-manager.tsexistsSync3. browser-use version mismatch —
Test Plugins❌Workflow step:
Run integration tests(marketplace-sync test)plugins/browser-use/plugin.jsonis at1.1.2but.claude-plugin/marketplace.jsonstill declares1.1.1. Themarketplace-sync.test.tstest asserts all versions match:4. Workflow trigger branch filters — structural issue⚠️
Files:
.github/workflows/test-plugins.yml,.github/workflows/test-stats.ymlThe base branch still has hardcoded
branchesallowlists ([main, fix/ci-type-errors-and-stale-test-date]) on bothpushandpull_requesttriggers. This means CI is silent on any newfix/*orfeat/*branch unless the branch name is in the allowlist.Fix Branch Status (verified by file inspection)
fix/ci-all-fixes-finalfix/ci-consolidatedfix/ci-24065489776-ts-and-datesfix/ci-type-errors-and-stale-test-dateVerification notes:
conventions-integration.test.tsonfix/ci-all-fixes-finaldoes NOT importremoveGitignoreEntries✅doctor.test.tsonfix/ci-all-fixes-finaldoes NOT importvi✅conventions-manager.tsonfix/ci-all-fixes-finaldoes NOT importexistsSync✅integration.test.tsonfix/ci-all-fixes-finalusesTODAY/YESTERDAY/TWO_DAYS_AGO✅marketplace.jsononfix/ci-all-fixes-finalhasbrowser-useat1.1.2✅test-plugins.ymlandtest-stats.ymlonfix/ci-all-fixes-finalhave no branch filters ✅Recommended Action
Merge PR #34 (
fix/ci-all-fixes-final→fix/ci-type-errors-and-stale-test-date).It is directly based on the base branch (smallest diff, no stacking dependency), fixes all 5 issues, and its head commit has been verified to contain every fix.
Alternatively, PR #24 (
fix/ci-24065489776-ts-and-dates) is also directly based on the base branch and contains all the same code fixes.After merging one of those, the following open PRs become redundant and should be closed:
fix/ci-typescript-and-stats-dates) — subset of fix(ci): remove 3 unused TS imports + fix stale stats dates + re-enable CI triggers #24fix/ci-typescript-and-stats-dates-resolved) — subset of fix(ci): remove 3 unused TS imports + fix stale stats dates + re-enable CI triggers #24fix/ci-24276607217-browser-use-version) — superseded by fix(ci): remove 3 unused TS imports + fix stale stats dates + re-enable CI triggers #24fix/ci-main-browser-use-version) — targets dist-onlymain, no test CI possible therefix/ci-workflow-trigger-broadening) — superseded 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 #34fix/ci-consolidated) — superseded once fix(ci): complete all-fixes branch — rolling stats dates in integration.test.ts + browser-use 1.1.2 #34 or fix(ci): remove 3 unused TS imports + fix stale stats dates + re-enable CI triggers #24 is mergedWhy No New Branch Was Created
All fixes are already correctly implemented in existing open PRs. Creating another fix branch would increase PR queue noise without adding value. The blocker is PR review/merge velocity, not code availability.
Generated by CI maintenance agent — 2026-04-13