You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue was created by the CI/CD maintenance agent after auditing recently failed GitHub Actions runs for MadAppGang/magus. The gh CLI and GitHub Actions REST API were unavailable (unauthenticated rate limit), so analysis was performed via the GitHub MCP server (PR check runs, file contents, commit history).
Failed runs summary (10 most recent)
Run ID
Workflow
Branch
Root cause
24307096245
Test Stats Plugin
fix/ci-all-fixes-final
Stale dates in integration.test.ts (commit 84411b6)
(A fourth, InstalledPluginEntry in doctor.ts, was removed in commit c8561cc0 on the base branch.)
2. Stale hardcoded test dates in plugins/stats
plugins/stats/tests/integration.test.ts uses "2026-03-26" as the default date in makeSession(). As of today (2026-04-13) that date is 18 days old — well outside the 7-day window for getSessionSummary/getTopTools and the 14-day window for getDurationTrend. Those tests assert length > 0 and specific counts, but the DB queries return zero rows.
The companion file db.test.ts was partially fixed on the base branch (commit c8561cc0) but integration.test.ts was missed until PR #34.
3. browser-use version mismatch in marketplace.json
plugins/browser-use/plugin.json is at v1.1.2 but .claude-plugin/marketplace.json still has "version": "1.1.1". The marketplace-sync integration test in test-plugins.yml catches exactly this drift:
AssertionError: Plugin browser-use: version mismatch - plugin.json has 1.1.2, marketplace.json has 1.1.1
Confirmed by reading .claude-plugin/marketplace.json on the base branch (fix/ci-type-errors-and-stale-test-date @ 7e440fb7).
4. Hardcoded branch filters in workflow triggers (structural, now fixed)
Both test-plugins.yml and test-stats.yml had branches: [main, fix/ci-type-errors-and-stale-test-date] allowlists. Any branch not named exactly one of those two was invisible to CI — only GitGuardian fired on those PRs. This is why PRs #22, #23, #28, #31 never got test CI runs.
This was addressed in PRs #32, #33, and #34 by removing the branches: key entirely (path filters still limit CI to relevant file changes).
The base source branch (fix/ci-type-errors-and-stale-test-date) still has all 4 root causes present. All open fix PRs layer their changes on top of it.
Recommended merge path
None of the active fix PRs were created by this maintenance agent — all pre-existed. No new branches or PRs were opened because the fixes are already done and green.
CI Maintenance Report — 2026-04-13
This issue was created by the CI/CD maintenance agent after auditing recently failed GitHub Actions runs for
MadAppGang/magus. TheghCLI and GitHub Actions REST API were unavailable (unauthenticated rate limit), so analysis was performed via the GitHub MCP server (PR check runs, file contents, commit history).Failed runs summary (10 most recent)
integration.test.ts(commit 84411b6)1.1.1vs1.1.2(commit 84411b6)None of the failures are transient (no network timeouts or rate limits). All are deterministic code/config bugs.
Root causes (4 distinct)
1. Unused TypeScript imports (TS6133) —
tsc --noEmitfails undernoUnusedLocalsThree imports left unreferenced after refactors:
tools/claudeup-core/src/__tests__/integration/conventions-integration.test.tsremoveGitignoreEntries— imported but never called in any testtools/claudeup-core/src/__tests__/unit/doctor.test.tsvi— imported but no usage after a refactortools/claudeup-core/src/services/conventions-manager.tsexistsSync— unused since a refactor(A fourth,
InstalledPluginEntryindoctor.ts, was removed in commitc8561cc0on the base branch.)2. Stale hardcoded test dates in
plugins/statsplugins/stats/tests/integration.test.tsuses"2026-03-26"as the defaultdateinmakeSession(). As of today (2026-04-13) that date is 18 days old — well outside the 7-day window forgetSessionSummary/getTopToolsand the 14-day window forgetDurationTrend. Those tests assertlength > 0and specific counts, but the DB queries return zero rows.The companion file
db.test.tswas partially fixed on the base branch (commitc8561cc0) butintegration.test.tswas missed until PR #34.3.
browser-useversion mismatch inmarketplace.jsonplugins/browser-use/plugin.jsonis atv1.1.2but.claude-plugin/marketplace.jsonstill has"version": "1.1.1". Themarketplace-syncintegration test intest-plugins.ymlcatches exactly this drift:Confirmed by reading
.claude-plugin/marketplace.jsonon the base branch (fix/ci-type-errors-and-stale-test-date@7e440fb7).4. Hardcoded branch filters in workflow triggers (structural, now fixed)
Both
test-plugins.ymlandtest-stats.ymlhadbranches: [main, fix/ci-type-errors-and-stale-test-date]allowlists. Any branch not named exactly one of those two was invisible to CI — only GitGuardian fired on those PRs. This is why PRs #22, #23, #28, #31 never got test CI runs.This was addressed in PRs #32, #33, and #34 by removing the
branches:key entirely (path filters still limit CI to relevant file changes).Current PR landscape
main)The base source branch (
fix/ci-type-errors-and-stale-test-date) still has all 4 root causes present. All open fix PRs layer their changes on top of it.Recommended merge path
The cleanest resolution:
Merge PR fix(ci): consolidated — TS imports, stale dates, browser-use version, unrestricted triggers #33 (
fix/ci-consolidated) intofix/ci-type-errors-and-stale-test-date.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(marketplace): bump browser-use version 1.1.1 → 1.1.2 to fix CI #31, fix(ci): remove hardcoded branch filters from workflow triggers #32, fix(ci): complete all-fixes branch — rolling stats dates in integration.test.ts + browser-use 1.1.2 #34 as superseded by fix(ci): consolidated — TS imports, stale dates, browser-use version, unrestricted triggers #33 (they all address overlapping subsets of the same issues).
Alternatively, if fix(ci): complete all-fixes branch — rolling stats dates in integration.test.ts + browser-use 1.1.2 #34 is preferred (it was more recently pushed by @erudenko directly), merge fix(ci): complete all-fixes branch — rolling stats dates in integration.test.ts + browser-use 1.1.2 #34 and close the others. Note fix(ci): complete all-fixes branch — rolling stats dates in integration.test.ts + browser-use 1.1.2 #34 only fixes causes 2 and 3 — cause 1 (TS imports) and cause 4 (trigger broadening) must come from another PR or a separate commit.
After the base branch is green, any future PRs targeting it will start from a clean state.
What this agent did NOT do
ghCLI available in the execution environment)