Plan: Exclude agent-core-e2e issues from Control Center (global filter)#
Summary#
Extend the existing excludeRepo filtering pattern (already implemented on the pipeline page) to all remaining UI surfaces — jobs, events, agents, and dashboard — so agent-core-e2e items are hidden globally by default. Extract the hardcoded repo constant into a shared module for consistency.
Files#
| File | Action | Description |
|---|---|---|
lib/constants.ts | create | Shared E2E_REPO and E2E_REPOS constants (single source of truth) |
lib/api/jobs.ts | modify | Add excludeRepo to JobFilters interface and query builder |
lib/api/events.ts | modify | Add excludeRepo to EventFilters interface and query builder |
lib/api/tasks.ts | modify | Import E2E_REPO from shared constants |
app/pipeline/page.tsx | modify | Import E2E_REPO / E2E_REPOS from lib/constants.ts, remove local constants |
app/pipeline/[taskId]/page.tsx | modify | Import E2E_REPOS from shared constants, remove local copy |
app/jobs/page.tsx | modify | Pass excludeRepo filter by default, add "Show e2e" toggle |
app/events/page.tsx | modify | Pass excludeRepo filter by default, add "Show e2e" toggle |
app/agents/page.tsx | modify | Import shared constants, filter active/stuck task lists client-side to exclude e2e, add toggle |
app/dashboard/page.tsx | modify | Pass excludeRepo query param to metrics endpoints if supported, or filter client-side |
Steps#
- Create
lib/constants.tswithE2E_REPO = 'AgentSDE/agent-core-e2e',E2E_REPOS = ['agent-core-e2e'], andVIEWER_BASEconstant. - Add
excludeRepo?: stringtoJobFiltersinlib/api/jobs.ts; wire it into the query-param builder ingetJobs(). - Add
excludeRepo?: stringtoEventFiltersinlib/api/events.ts; wire it into the query-param builder ingetEvents(). - Update
app/pipeline/page.tsxandapp/pipeline/[taskId]/page.tsxto import fromlib/constants.tsinstead of defining localE2E_REPO/E2E_REPOS/VIEWER_BASE. - Update
app/jobs/page.tsx: defaultexcludeRepo: E2E_REPOin the filter, add a "Show e2e" checkbox toggle mirroring the pipeline page pattern. - Update
app/events/page.tsx: defaultexcludeRepo: E2E_REPOin the filter, add a "Show e2e" checkbox toggle. - Update
app/agents/page.tsx: import shared constants, client-side filter the active/stuck task arrays to excludeE2E_REPOby default, add toggle. - Update
app/dashboard/page.tsx: passexcludeRepoto metrics API calls if the backend supports it; otherwise apply client-side filtering to any task-level data rendered. - Verify
npm run lintandnpm run buildpass with zero warnings/errors.
Verification#
- Navigate every UI surface (pipeline, jobs, events, agents, dashboard) and confirm no
agent-core-e2eitems appear by default. - Toggle "Show e2e" on each page and confirm e2e items reappear.
npm run lint && npm run buildpasses cleanly.
Risks#
- Backend may not support
excludeRepoon jobs/events/metrics endpoints. Mitigation: fall back to client-side filtering; the API change is additive and backwards-compatible. - Dashboard metrics are pre-aggregated server-side. Mitigation: if the metrics API does not support repo filtering, document this as a known gap and filter only task-level widgets.