AI Agents SDE Task Viewer
      • Context
      • Plan
      • Prd
  1. Home
  2. AgentSDE
  3. agent-core-control-center
  4. gh-42
  5. plan
  6. plan.md
plan.md(3.3 KB)· Apr 1, 2026· 2 min read
  • Summary
  • Files
  • Steps
  • Verification
  • Risks

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#

FileActionDescription
lib/constants.tscreateShared E2E_REPO and E2E_REPOS constants (single source of truth)
lib/api/jobs.tsmodifyAdd excludeRepo to JobFilters interface and query builder
lib/api/events.tsmodifyAdd excludeRepo to EventFilters interface and query builder
lib/api/tasks.tsmodifyImport E2E_REPO from shared constants
app/pipeline/page.tsxmodifyImport E2E_REPO / E2E_REPOS from lib/constants.ts, remove local constants
app/pipeline/[taskId]/page.tsxmodifyImport E2E_REPOS from shared constants, remove local copy
app/jobs/page.tsxmodifyPass excludeRepo filter by default, add "Show e2e" toggle
app/events/page.tsxmodifyPass excludeRepo filter by default, add "Show e2e" toggle
app/agents/page.tsxmodifyImport shared constants, filter active/stuck task lists client-side to exclude e2e, add toggle
app/dashboard/page.tsxmodifyPass excludeRepo query param to metrics endpoints if supported, or filter client-side

Steps#

  1. Create lib/constants.ts with E2E_REPO = 'AgentSDE/agent-core-e2e', E2E_REPOS = ['agent-core-e2e'], and VIEWER_BASE constant.
  2. Add excludeRepo?: string to JobFilters in lib/api/jobs.ts; wire it into the query-param builder in getJobs().
  3. Add excludeRepo?: string to EventFilters in lib/api/events.ts; wire it into the query-param builder in getEvents().
  4. Update app/pipeline/page.tsx and app/pipeline/[taskId]/page.tsx to import from lib/constants.ts instead of defining local E2E_REPO / E2E_REPOS / VIEWER_BASE.
  5. Update app/jobs/page.tsx: default excludeRepo: E2E_REPO in the filter, add a "Show e2e" checkbox toggle mirroring the pipeline page pattern.
  6. Update app/events/page.tsx: default excludeRepo: E2E_REPO in the filter, add a "Show e2e" checkbox toggle.
  7. Update app/agents/page.tsx: import shared constants, client-side filter the active/stuck task arrays to exclude E2E_REPO by default, add toggle.
  8. Update app/dashboard/page.tsx: pass excludeRepo to metrics API calls if the backend supports it; otherwise apply client-side filtering to any task-level data rendered.
  9. Verify npm run lint and npm run build pass with zero warnings/errors.

Verification#

  • Navigate every UI surface (pipeline, jobs, events, agents, dashboard) and confirm no agent-core-e2e items appear by default.
  • Toggle "Show e2e" on each page and confirm e2e items reappear.
  • npm run lint && npm run build passes cleanly.

Risks#

  • Backend may not support excludeRepo on 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.
ContextPrd