diff --git a/diagnostics/contributor_profile_api.py b/diagnostics/contributor_profile_api.py index 9cd05fa..4b76b82 100644 --- a/diagnostics/contributor_profile_api.py +++ b/diagnostics/contributor_profile_api.py @@ -8,6 +8,7 @@ import subprocess from datetime import datetime DB_PATH = os.environ.get("PIPELINE_DB", "/opt/teleo-eval/pipeline/pipeline.db") +SYSTEM_ACCOUNTS = {"pipeline", "unknown", "teleo-agents", "teleo pipeline"} CODEX_PATH = "/opt/teleo-eval/workspaces/main" CI_WEIGHTS = { @@ -263,6 +264,7 @@ def get_contributor_profile(handle): "display_name": data.get("display_name"), "ci_score": ci_score, "action_ci": action_ci, + "primary_ci": action_ci["total"] if action_ci else ci_score, "hero_badge": hero_badge, "badges": [{"name": b, **BADGE_DEFS.get(b, {})} for b in badges], "joined": data.get("first_contribution"), @@ -333,11 +335,17 @@ async def handle_contributors_list(request): contributors = [] for r in rows: data = dict(r) + if data["handle"].lower() in SYSTEM_ACCOUNTS: + continue ci = _compute_ci(data) + action_ci = _get_action_ci(data["handle"], conn) + action_total = action_ci["total"] if action_ci else 0.0 contributors.append({ "handle": data["handle"], "display_name": data["display_name"], "ci_score": ci, + "action_ci": action_total, + "primary_ci": action_total if action_total > 0 else ci, "claims_merged": data["claims_merged"], "first_contribution": data["first_contribution"], "last_contribution": data["last_contribution"],