diff --git a/src/app/(home)/contributors/contributor-card.tsx b/src/app/(home)/contributors/contributor-card.tsx new file mode 100644 index 0000000..143f016 --- /dev/null +++ b/src/app/(home)/contributors/contributor-card.tsx @@ -0,0 +1,37 @@ +import Link from "next/link"; +import { + Card, + CardHeader, + CardTitle, + CardDescription, +} from "@/components/ui/card"; + +interface ContributorCardProps { + name: string; + githubHandle: string; + role: string; +} + +export function ContributorCard({ name, githubHandle, role }: ContributorCardProps) { + const hasName = name && name !== githubHandle; + + return ( + + + + + {hasName ? name : `@${githubHandle}`} + + + {hasName ? `@${githubHandle} · ${role}` : role} + + + + + ); +} diff --git a/src/app/(home)/contributors/layout.tsx b/src/app/(home)/contributors/layout.tsx new file mode 100644 index 0000000..878e242 --- /dev/null +++ b/src/app/(home)/contributors/layout.tsx @@ -0,0 +1,11 @@ +export default function ContributorsLayout({ + children, +}: { + children: React.ReactNode; +}) { + return ( +
+
{children}
+
+ ); +} diff --git a/src/app/(home)/contributors/page.tsx b/src/app/(home)/contributors/page.tsx new file mode 100644 index 0000000..23aa6c7 --- /dev/null +++ b/src/app/(home)/contributors/page.tsx @@ -0,0 +1,129 @@ +import contributionData from "../../../../utils/contributors/data/harbor_contribution.json"; +import { ContributorCard } from "./contributor-card"; +import Link from "next/link"; + +interface Contributor { + github_handle: string; + email: string; + name: string; + affiliation: string; + role: string; + rank: number; + adapter_rank: number; + pr_count: number; + adapter_pr_count: number; + non_adapter_pr_count: number; + total_additions: number; + total_deletions: number; + pr_list: { pr_url: string; pr_title: string; pr_type: string }[]; +} + +function lastName(c: Contributor): string { + const parts = c.name.trim().split(/\s+/); + return (parts[parts.length - 1] ?? c.github_handle).toLowerCase(); +} + +function partitionContributors(data: Contributor[]) { + const harborContributors: Contributor[] = []; + const adapterContributors: Contributor[] = []; + + for (const c of data) { + if (c.non_adapter_pr_count > 0 || c.rank !== 0) { + harborContributors.push(c); + } + if (c.adapter_pr_count > 0 || c.adapter_rank !== 0) { + adapterContributors.push(c); + } + } + + // Rank first takes priority (descending), then PR count, then last name + harborContributors.sort( + (a, b) => b.rank - a.rank || b.non_adapter_pr_count - a.non_adapter_pr_count || lastName(a).localeCompare(lastName(b)), + ); + adapterContributors.sort( + (a, b) => b.adapter_rank - a.adapter_rank || b.adapter_pr_count - a.adapter_pr_count || lastName(a).localeCompare(lastName(b)), + ); + + return { harborContributors, adapterContributors }; +} + +export default function ContributorsPage() { + const data = contributionData as Contributor[]; + const { harborContributors, adapterContributors } = + partitionContributors(data); + + return ( + <> +
+

+ Contributors +

+

+ Harbor is built by an open community of contributors. Interested in + contributing?{" "} + + Learn how to get started + + . +

+
+ +
+

+ Harbor Contributors +

+
+
+ {harborContributors.map((c) => ( + + ))} +
+
+
+ +
+

+ Harbor Adapter Contributors +

+
+
+ {adapterContributors.map((c) => ( + + ))} +
+
+
+ +
+

+ Acknowledgments +

+
+

+ API inference compute for parity experiments is generously supported + by{" "} + + 2077AI + + . +

+
+
+ + ); +} diff --git a/src/lib/layout.shared.tsx b/src/lib/layout.shared.tsx index 3d9f30c..e66a5d9 100644 --- a/src/lib/layout.shared.tsx +++ b/src/lib/layout.shared.tsx @@ -21,6 +21,11 @@ export function baseOptions(): BaseLayoutProps { text: "Registry", active: "nested-url", }, + { + url: "/contributors", + text: "Contributors", + active: "nested-url", + }, { url: "https://discord.gg/6xWPKhGDbA", text: "Discord", diff --git a/utils/contributors/README.md b/utils/contributors/README.md new file mode 100644 index 0000000..65799f1 --- /dev/null +++ b/utils/contributors/README.md @@ -0,0 +1,112 @@ +# Contributors Data Pipeline + +Scripts to collect and aggregate contributor data from the [laude-institute/harbor](https://github.com/laude-institute/harbor) repository. The output is consumed by the `/contributors` page. + +## Prerequisites + +- Python 3.10+ +- [GitHub CLI (`gh`)](https://cli.github.com/) authenticated with access to the harbor repo (only needed for `refresh`, `refresh-prdata`, `refresh-userdata`) + +## Usage + +Use `ctbcli` to run the pipeline: + +```bash +# Full refresh: collect PR data + user data from GitHub, then regenerate +./utils/contributors/ctbcli refresh + +# PR data only: re-collect PR data from GitHub and regenerate +./utils/contributors/ctbcli refresh-prdata + +# User data only: re-collect user profiles from GitHub and regenerate +./utils/contributors/ctbcli refresh-userdata + +# Regenerate from existing data (no API calls — use after editing verified data) +./utils/contributors/ctbcli generate +``` + +## Directory Structure + +``` +utils/contributors/ +├── ctbcli # CLI entrypoint +├── README.md +├── src/ # Python scripts +│ ├── collect_pr_data.py +│ ├── collect_user_data.py +│ └── generate_contributions.py +└── data/ # Data files + ├── verified_github_users_data.json # Manually curated (source of truth) + ├── raw_pr_data.json # Auto-generated from GitHub API + ├── raw_github_users_data.json # Auto-generated from GitHub API + └── harbor_contribution.json # Final output for the web page +``` + +## How It Works + +### Data flow + +``` +GitHub API ──► raw_pr_data.json ──────────────────────┐ +GitHub API ──► raw_github_users_data.json ──┐ │ + ▼ ▼ + verified_github_users_data.json ──► generate_contributions.py + │ + ▼ + harbor_contribution.json + │ + ▼ + /contributors page +``` + +### Scripts (`src/`) + +| Script | What it does | API calls | +|--------|-------------|-----------| +| `collect_pr_data.py` | Fetches all merged PRs from `laude-institute/harbor`, classifies each by type (`adapter`, `task`, `engineering`, `other`), and writes `raw_pr_data.json` | Yes (slowest) | +| `collect_user_data.py` | Reads unique author handles from `raw_pr_data.json`, fetches GitHub profiles, and writes `raw_github_users_data.json` | Yes | +| `generate_contributions.py` | Merges PR data with user data, ranks contributors, and writes `harbor_contribution.json` | No | + +### Data files (`data/`) + +| File | Source | Editable? | Description | +|------|--------|-----------|-------------| +| `verified_github_users_data.json` | Manual | **Yes** | Curated contributor info with verified names, affiliations, roles, and ranks. Takes precedence over raw GitHub data when a handle matches. | +| `raw_pr_data.json` | `collect_pr_data.py` | No | All merged PRs with author, additions/deletions, title, and type classification | +| `raw_github_users_data.json` | `collect_user_data.py` | No | GitHub profile data (name, email, company) for each PR author. Used as fallback when a handle is not in the verified data. | +| `harbor_contribution.json` | `generate_contributions.py` | No | Final aggregated output consumed by the `/contributors` page | + +### Verified user data fields + +The `verified_github_users_data.json` file supports these fields: + +| Field | Required | Description | +|-------|----------|-------------| +| `github_handle` | Yes | GitHub username | +| `name` | Yes | Display name | +| `affiliation` | Yes | Organization or university | +| `email` | Yes | Contact email | +| `role` | No | Displayed on card (e.g. `"Co-lead"`, `"Adapter Lead"`, `"Advisor"`). Defaults to `"Contributor"` | +| `rank` | No | Sort priority for Harbor Contributors section (higher = listed first). Defaults to `0` | +| `adapter_rank` | No | Sort priority for Adapter Contributors section (higher = listed first). Defaults to `0` | + +### Ranking logic + +- **Harbor Contributors**: sorted by `rank` (desc) → non-adapter PR count (desc) → last name (asc) +- **Adapter Contributors**: sorted by `adapter_rank` (desc) → adapter PR count (desc) → last name (asc) + +## Common Tasks + +**New PRs merged — update the page:** +```bash +./utils/contributors/ctbcli refresh +``` + +**Edited verified user data (name, role, rank, etc.):** +```bash +./utils/contributors/ctbcli generate +``` + +**New contributor needs verified info:** +1. Add an entry to `data/verified_github_users_data.json` +2. Run `./utils/contributors/ctbcli generate` diff --git a/utils/contributors/ctbcli b/utils/contributors/ctbcli new file mode 100755 index 0000000..25bd87f --- /dev/null +++ b/utils/contributors/ctbcli @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +PYTHON="${PYTHON:-python3}" + +run_collect_pr_data() { + echo "==> Collecting PR data..." + "$PYTHON" "$SCRIPT_DIR/src/collect_pr_data.py" +} + +run_collect_user_data() { + echo "==> Collecting user data..." + "$PYTHON" "$SCRIPT_DIR/src/collect_user_data.py" +} + +run_generate() { + echo "==> Generating contributions..." + "$PYTHON" "$SCRIPT_DIR/src/generate_contributions.py" +} + +usage() { + cat < + +Commands: + refresh Collect PR data, user data, and regenerate contributions + refresh-prdata Collect PR data and regenerate contributions + refresh-userdata Collect user data and regenerate contributions + generate Regenerate contributions from existing data (no API calls) +EOF +} + +case "${1:-}" in + refresh) + run_collect_pr_data + run_collect_user_data + run_generate + ;; + refresh-prdata) + run_collect_pr_data + run_generate + ;; + refresh-userdata) + run_collect_user_data + run_generate + ;; + generate) + run_generate + ;; + *) + usage + exit 1 + ;; +esac diff --git a/utils/contributors/data/harbor_contribution.json b/utils/contributors/data/harbor_contribution.json new file mode 100644 index 0000000..eb63425 --- /dev/null +++ b/utils/contributors/data/harbor_contribution.json @@ -0,0 +1,3677 @@ +[ + { + "github_handle": "li-boxuan", + "email": "boxuanli@alumni.cmu.edu", + "name": "Boxuan Li", + "affiliation": "Independent", + "role": "Co-lead", + "rank": 10000000, + "adapter_rank": 0, + "pr_count": 47, + "adapter_pr_count": 0, + "non_adapter_pr_count": 47, + "total_additions": 18670, + "total_deletions": 6305, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/475", + "pr_title": "Revert litellm hack for OpenHands", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/420", + "pr_title": "Fix: Remove duplicate error_msg in OutputLengthExceededError handling", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/364", + "pr_title": "Fix unit test failure in lite_llm.py", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/350", + "pr_title": "Add get model limit utility and fix Terminus-2 error message", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/341", + "pr_title": "Bump OpenHands to 1.0.0 in tests and update gold trajectories & traces", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/313", + "pr_title": "Fix ruff check on fork", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/274", + "pr_title": "Add CI gate for ruff linter on modified files", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/272", + "pr_title": "Do not pass host env variables to Docker environment", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/265", + "pr_title": "Terminus-2: Support optional interleaved thinking", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/237", + "pr_title": "GPU support + example task that requires GPU", + "pr_type": "task" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/225", + "pr_title": "Trajectories & traces for OpenHands: handle tool calling", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/184", + "pr_title": "Terminus-2 Trajectory: raw_content & linear_history modes", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/183", + "pr_title": "Export SFT traces from trajectories", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/177", + "pr_title": "Fix error message in Terminus trajectory", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/174", + "pr_title": "Add integration tests for exported traces", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/169", + "pr_title": "OpenHands trajectory fixes: tool call definitions and bookkeeping steps", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/156", + "pr_title": "Terminus-2: Add model_info parameter to register LLM info", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/141", + "pr_title": "Terminus-2: Full trajectories, rollout details, bug fixes and E2E tests", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/132", + "pr_title": "Terminus trajectory: Remove first user message", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/125", + "pr_title": "Terminus 2: prompt token ids and reasoning content", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/122", + "pr_title": "Fix metric discrepancy in openhands golden trajectory", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/118", + "pr_title": "Clean up integration tests + Drop source_call_id for terminus trajectory", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/117", + "pr_title": "Terminus-2: Include erroneous json response in trajectory message field", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/105", + "pr_title": "Fix test.sh in example task", + "pr_type": "task" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/95", + "pr_title": "CI: remove redundant test stage", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/93", + "pr_title": "Gemini-CLI to generate trajectory in ATIF", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/84", + "pr_title": "Terminus-2 to return rollout details (completion_token_ids, log_probs)", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/81", + "pr_title": "Terminus-2: Remove token counting hack", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/79", + "pr_title": "Fix token counting in terminus_2 summarisation subagent", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/78", + "pr_title": "Mini SWE Agent: use forked version + generate trajectory following ATIF spec", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/76", + "pr_title": "Polish trajectory model field descriptions", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/71", + "pr_title": "Openhands to generate trajectory in ATIF", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/65", + "pr_title": "Add trajectory validator and tests", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/62", + "pr_title": "Handle exceptions on non-critical paths", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/60", + "pr_title": "Terminus-2 Agent: metrics reporting & trajectory generation", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/56", + "pr_title": "[RFC] Agent Trajectory Interchange Format (ATIF) Specification", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/55", + "pr_title": "Fix docker exec deadlock for tasks with large output", + "pr_type": "task" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/51", + "pr_title": "Fix ruff violations and add linting to CI", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/50", + "pr_title": "Terminus-2 to pass session_id", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/48", + "pr_title": "Regenerate corrupt uv.lock", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/45", + "pr_title": "Include logprobs in AgentContext", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/37", + "pr_title": "Return cost in AgentResult", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/33", + "pr_title": "Port docker cache clean up logic from terminal-bench", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/32", + "pr_title": "Add token count for OpenHands agent", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/31", + "pr_title": "Fix & clean up tests", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/30", + "pr_title": "Minor change to openhands agent", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/29", + "pr_title": "Agent refactoring - jinja2 templating, versioning, tests, CI, and more", + "pr_type": "engineering" + } + ] + }, + { + "github_handle": "alexgshaw", + "email": "alexgshaw64@gmail.com", + "name": "Alex Shaw", + "affiliation": "Laude Institute", + "role": "Co-lead", + "rank": 10000000, + "adapter_rank": 0, + "pr_count": 25, + "adapter_pr_count": 0, + "non_adapter_pr_count": 25, + "total_additions": 20555, + "total_deletions": 11093, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/911", + "pr_title": "Enable skills in agents.", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/772", + "pr_title": "Add comprehensive trajectory conversion for mini-swe-agent formats", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/603", + "pr_title": "Add Responses API support for Terminus", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/495", + "pr_title": "Claude/add package dashboard lxufb", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/476", + "pr_title": "Improve terminal bench mapper functionality", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/468", + "pr_title": "feat(hooks): add job-level named hook methods for trial lifecycle events", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/394", + "pr_title": "Remove verbose flag and show task counts", + "pr_type": "task" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/388", + "pr_title": "Postgres registry", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/362", + "pr_title": "Fix AttributeError when accessing default environment type in CLI", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/361", + "pr_title": "Change -a shorthand in start-env from --agent to --all", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/360", + "pr_title": "Restrict environment variables passed to Oracle container", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/359", + "pr_title": "Add include-standard-metadata option to tasks init", + "pr_type": "task" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/327", + "pr_title": "Make internet configurable from task config", + "pr_type": "task" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/326", + "pr_title": "Add CLAUDE.md documentation for AI assistants", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/325", + "pr_title": "feat: add support for custom environment implementations via import path", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/318", + "pr_title": "Revert to include env vars in docker.", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/70", + "pr_title": "Alexgshaw/support docker compose", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/52", + "pr_title": "Warn users about Modal Python installation", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/43", + "pr_title": "QOL upgrades from running a billion ICLR experiments", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/24", + "pr_title": "Rename package, strip out db, reformat results and configs, change base environment methods.", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/22", + "pr_title": "Daytona", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/18", + "pr_title": "Alex-temp", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/14", + "pr_title": "Add Claude Code GitHub Workflow", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/9", + "pr_title": "Create cli command for single trial", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/1", + "pr_title": "Working branch", + "pr_type": "other" + } + ] + }, + { + "github_handle": "penfever", + "email": "bf996@nyu.edu", + "name": "Benjamin Feuer", + "affiliation": "Stanford University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 17, + "adapter_pr_count": 0, + "non_adapter_pr_count": 17, + "total_additions": 4050, + "total_deletions": 211, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/527", + "pr_title": "Queue orchestrator", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/526", + "pr_title": "OpenHands Improvements", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/465", + "pr_title": "[FEATURE] Close old log handlers after trial returns", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/339", + "pr_title": "[FEATURE] Improve LiteLLM Handling of vLLM Hosted Models ", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/337", + "pr_title": "[TINY] Increase tmux history limit", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/336", + "pr_title": "[TINY] Warn user if required model_info is left unset", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/276", + "pr_title": "[FEATURE] Make asciinema recording optional", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/235", + "pr_title": "add verifier output and instructions", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/217", + "pr_title": "Extract result during trace exports", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/163", + "pr_title": "Enhance episode conversation extraction logic", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/160", + "pr_title": "BUGFIX: Numeric rather than lexical sorting of episodes", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/147", + "pr_title": "Robust termination of aiohttp events wrapping Daytona containers", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/144", + "pr_title": "Oracle Agent Hardening", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/142", + "pr_title": "Penfever/handle vllm context length errors correctly", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/119", + "pr_title": "guard traces format acquisition", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/42", + "pr_title": "Penfever/all scripts", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/36", + "pr_title": "Penfever/working", + "pr_type": "other" + } + ] + }, + { + "github_handle": "xiaoxiangmoe", + "email": "", + "name": "ZHAO Jin-Xiang", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 11, + "adapter_pr_count": 0, + "non_adapter_pr_count": 11, + "total_additions": 350, + "total_deletions": 162, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/963", + "pr_title": "Add `--agent-env` support to all agents", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/902", + "pr_title": "Lock ruff and ty version", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/870", + "pr_title": "Add `--environment-import-path` to job config", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/804", + "pr_title": "Set pull_policy to build in docker-compose build", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/795", + "pr_title": "Add specific phase timeout multipliers", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/777", + "pr_title": "Wait for the actual container startup in DockerEnvironment.start", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/776", + "pr_title": "Fix the bug that `| tee` in verifier call may hang forever", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/757", + "pr_title": "Allow prompts starting with `-`", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/755", + "pr_title": "add procps to prevent process crashes when claude-code call tree-kill", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/722", + "pr_title": "Use `bach -c` rather than `bash -lc`", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/240", + "pr_title": "Run script directly to respect shebang", + "pr_type": "other" + } + ] + }, + { + "github_handle": "StevenDillmann", + "email": "stevendi@stanford.edu", + "name": "Steven Dillmann", + "affiliation": "Stanford University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 10, + "adapter_pr_count": 2, + "non_adapter_pr_count": 8, + "total_additions": 2601, + "total_deletions": 28, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/638", + "pr_title": "Revise citation section in README.md", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/637", + "pr_title": "Remove version in CITATION.cff", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/566", + "pr_title": "Update CITATION.cff", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/564", + "pr_title": "Update title in citation section in README.md", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/560", + "pr_title": "Fix author formatting in citation", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/556", + "pr_title": "Update citation section in README.md", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/444", + "pr_title": "Make reasoning parameters configurable via kwargs", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/260", + "pr_title": "Add initial CITATION.cff file", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/146", + "pr_title": "[Adapter] Update ReplicationBench to include masked manuscripts of papers", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/92", + "pr_title": "[Adapter] Adding ReplicationBench adapter to Harbor", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "ibercovich", + "email": "ibercovich@gmail.com", + "name": "Ivan Bercovich", + "affiliation": "Independent", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 9, + "adapter_pr_count": 0, + "non_adapter_pr_count": 9, + "total_additions": 678, + "total_deletions": 66, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/435", + "pr_title": "Fix graceful shutdown on SIGTERM", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/319", + "pr_title": "feat(viewer): round rewards to 4 decimal places", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/298", + "pr_title": "made newline a requirement in prompt since small LLMs were failing", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/251", + "pr_title": "feat(mini-swe-agent): pass through OPENAI_API_BASE for custom endpoints", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/148", + "pr_title": "Updated checker and debugger", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/74", + "pr_title": "Update model name in gemini-cli-job.yaml", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/73", + "pr_title": "Replace 'sb' with 'harbor' in README", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/68", + "pr_title": "Update sandbox creation timeout configuration", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/47", + "pr_title": "porting sb tasks check and debug from terminal-bench", + "pr_type": "task" + } + ] + }, + { + "github_handle": "CharlieFRuan", + "email": "charlieruan@berkeley.edu", + "name": "Charlie Ruan", + "affiliation": "UC Berkeley", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 8, + "adapter_pr_count": 0, + "non_adapter_pr_count": 8, + "total_additions": 288, + "total_deletions": 94, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/686", + "pr_title": "[Terminus] Fix `n_episodes` counting when error out", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/653", + "pr_title": "[Terminus] Do not retry on ContextLengthExceededError when enable_summarize=False", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/651", + "pr_title": "[Env] Make sandbox lifecycle timeouts configurable via environment kwargs", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/650", + "pr_title": "[Modal] Add tenacity to modal just like daytona", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/593", + "pr_title": "[LLMs] Remove ParseError as it is not used anywhere", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/592", + "pr_title": "[Trial] Remove EnvironmentBuildTimeoutError since it is not used", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/561", + "pr_title": "[Env] Add EnvironmentConfig.suppress_override_warnings and Terminus kwarg suppress_max_turns_warning", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/524", + "pr_title": "[terminus] Remove _logger and use BaseAgent logger directly", + "pr_type": "other" + } + ] + }, + { + "github_handle": "Ternura143", + "email": "zzx18742002@gmail.com", + "name": "Zixuan Zhu", + "affiliation": "Nanyang Technological University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 1000, + "pr_count": 8, + "adapter_pr_count": 3, + "non_adapter_pr_count": 5, + "total_additions": 358099, + "total_deletions": 293018, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/1009", + "pr_title": "[Ready for Review] Add kimi-cli agent", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/998", + "pr_title": "[Ready for Review] Standardize registry.json, add CI check, and fix sync", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/983", + "pr_title": "[Ready for Review] Fix pagination bug in sync_registry_to_supabase", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/973", + "pr_title": "[Ready for Review] Restore 9 deleted dataset entries", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/905", + "pr_title": "[Ready For Review] Fix Claude Code double-counting input tokens", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/857", + "pr_title": "[Ready for Review] Add automated adapter review bot for PR validation", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/797", + "pr_title": "[Ready for Review] Update parity comparison table in adapter readme template", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/358", + "pr_title": "[Ready for Review - Final Fix] Adapter: bfcl", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "Slimshilin", + "email": "ls2282@cornell.edu", + "name": "Lin Shi", + "affiliation": "Cornell Tech", + "role": "Adapter Lead", + "rank": 0, + "adapter_rank": 110000, + "pr_count": 7, + "adapter_pr_count": 4, + "non_adapter_pr_count": 3, + "total_additions": 9179, + "total_deletions": 10887, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/580", + "pr_title": "Add parity API instructions for adapter experiments", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/579", + "pr_title": "[Ready to merge] OPENAI_BASE_URL support for codex.", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/516", + "pr_title": "remove aider-polyglot and livecodebench duplicates", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/263", + "pr_title": "Fix EvoEval Adapter forked_repo Link", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/98", + "pr_title": "Adapters readme template", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/83", + "pr_title": "Adapter README template", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/82", + "pr_title": "Fix -t to -p. Polish README", + "pr_type": "other" + } + ] + }, + { + "github_handle": "linhaowei1", + "email": "linhaowei@pku.edu.cn", + "name": "Haowei Lin", + "affiliation": "Peking University", + "role": "Co-lead", + "rank": 0, + "adapter_rank": 100000, + "pr_count": 6, + "adapter_pr_count": 5, + "non_adapter_pr_count": 1, + "total_additions": 6653, + "total_deletions": 47, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/440", + "pr_title": "[Ready for Review] Adapter: Algotune", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/438", + "pr_title": "[BugFix] Fix hello-world registry format", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/424", + "pr_title": "[FIX] Update Parity for Adapter: AutoCodeBench", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/292", + "pr_title": "[fix adapter] Revise the parity results for SLDBench", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/151", + "pr_title": "[adapter] Add SLDBench", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/106", + "pr_title": "Add Autocodebench adapter", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "TheMikeMerrill", + "email": "mikeam1@stanford.edu", + "name": "Mike A. Merrill", + "affiliation": "Stanford University", + "role": "Co-lead", + "rank": 10000000, + "adapter_rank": 0, + "pr_count": 6, + "adapter_pr_count": 0, + "non_adapter_pr_count": 6, + "total_additions": 6136, + "total_deletions": 1352, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/40", + "pr_title": "t2 context improperly queried", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/27", + "pr_title": "Fix token tracking", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/20", + "pr_title": "Mikeam/agents two", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/19", + "pr_title": "Add logging to terminus", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/16", + "pr_title": "Initial terminus2", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/2", + "pr_title": "Add DB implementation", + "pr_type": "other" + } + ] + }, + { + "github_handle": "neginraoof", + "email": "negin_raoof@berkeley.edu", + "name": "Negin Raoof", + "affiliation": "UC Berkeley", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 6, + "adapter_pr_count": 1, + "non_adapter_pr_count": 5, + "total_additions": 5244, + "total_deletions": 302, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/817", + "pr_title": "Add OT-TerminalBench-Dev dataset (100 tasks)", + "pr_type": "task" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/279", + "pr_title": "Adding swe-agent", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/243", + "pr_title": "Inline swe-agent inference config", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/242", + "pr_title": "Add SWE-agent configuration example", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/49", + "pr_title": "updated terminus 2 summarization fallback", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/44", + "pr_title": "Swebench adapter", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "harshraj172", + "email": "harsh777111raj@gmail.com", + "name": "Harsh Raj", + "affiliation": "Northeastern University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 5, + "adapter_pr_count": 2, + "non_adapter_pr_count": 3, + "total_additions": 8873, + "total_deletions": 241, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/458", + "pr_title": "add codex trajectory.json back", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/115", + "pr_title": "Add swesmith adapter", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/86", + "pr_title": "claude-code atif formatting", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/77", + "pr_title": "Codex ATIF trajectory", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/58", + "pr_title": "Add the `aider-polyglot` adapter", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "chenzizhao", + "email": "czz@cs.cornell.edu", + "name": "Zizhao Chen", + "affiliation": "Cornell Tech", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 4, + "adapter_pr_count": 1, + "non_adapter_pr_count": 3, + "total_additions": 37076, + "total_deletions": 71989, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/518", + "pr_title": "Revise bixbench README with known issue and task details", + "pr_type": "task" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/472", + "pr_title": "Update registry with bixbench-cli", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/451", + "pr_title": "[ready for review] bixbench-cli addition", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/154", + "pr_title": "[Ready for review - final fix] Adapter: BixBench", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "Chesars", + "email": "", + "name": "Cesar Garcia", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 4, + "adapter_pr_count": 1, + "non_adapter_pr_count": 3, + "total_additions": 7, + "total_deletions": 4, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/989", + "pr_title": "Fix typos in README.md", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/861", + "pr_title": "Fix typo in adapter template README", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/176", + "pr_title": "fix: flaky terminus_2 timeout test", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/175", + "pr_title": "docs: Fix broken link in README.md", + "pr_type": "other" + } + ] + }, + { + "github_handle": "michaelrglass", + "email": "mrglass@us.ibm.com", + "name": "Michael Glass", + "affiliation": "IBM", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 4, + "adapter_pr_count": 0, + "non_adapter_pr_count": 4, + "total_additions": 121, + "total_deletions": 13, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/885", + "pr_title": "View image artifacts in harbor view", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/631", + "pr_title": "Support default values in env var templates", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/489", + "pr_title": "Fix docker environment to treat empty docker_image as no prebuilt image", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/456", + "pr_title": "Stderr was being lost by redirecting to stdout after the tee command", + "pr_type": "other" + } + ] + }, + { + "github_handle": "mieciu", + "email": "przemyslaw.hejman@quesma.com", + "name": "Przemys\u0142aw Hejman", + "affiliation": "Quesma", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 4, + "adapter_pr_count": 1, + "non_adapter_pr_count": 3, + "total_additions": 612, + "total_deletions": 54, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/515", + "pr_title": "Fix openrouter model name ", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/246", + "pr_title": "Support `--env daytona --ek network_block_all=true` in `harbor run`", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/214", + "pr_title": "Fix `--no-delete` in Docker environment", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/170", + "pr_title": "Adding CompileBench dataset/adapter", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "LithiumDA", + "email": "shandal@cs.cmu.edu", + "name": "Shanda Li", + "affiliation": "Carnegie Mellon University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 4, + "adapter_pr_count": 4, + "non_adapter_pr_count": 0, + "total_additions": 1147, + "total_deletions": 15, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/466", + "pr_title": "fix (adapter): registery", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/139", + "pr_title": "[Adapter] fix (codepde): remove tmux & asciinema from Dockerfile", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/102", + "pr_title": "[CodePDE Adapter] fix: linting", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/90", + "pr_title": "[Adapter] Adding CodePDE adapter", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "anishathalye", + "email": "me@anishathalye.com", + "name": "Anish Athalye", + "affiliation": "@joinhandshake", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 3, + "adapter_pr_count": 0, + "non_adapter_pr_count": 3, + "total_additions": 219, + "total_deletions": 9, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/898", + "pr_title": "Fix MCP support for Cline", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/859", + "pr_title": "Add type checking to CI", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/655", + "pr_title": "Add MCP support for OpenHands", + "pr_type": "other" + } + ] + }, + { + "github_handle": "josancamon19", + "email": "", + "name": "Joan Cabezas", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 3, + "adapter_pr_count": 0, + "non_adapter_pr_count": 3, + "total_additions": 1392, + "total_deletions": 79, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/967", + "pr_title": "Add first-class Tinker LLM backend for Terminus-2", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/705", + "pr_title": "feat: add multi-job support to harbor jobs summarize", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/643", + "pr_title": "fix: Gemini CLI ATIF trajectory conversion for harbor view", + "pr_type": "other" + } + ] + }, + { + "github_handle": "james-rl", + "email": "james@runloop.ai", + "name": "James Chainey", + "affiliation": "Runloop", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 3, + "adapter_pr_count": 0, + "non_adapter_pr_count": 3, + "total_additions": 285, + "total_deletions": 119, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/467", + "pr_title": "Prefer prebuilt images when running with runloop env", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/210", + "pr_title": "Added resource config for runloop env", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/189", + "pr_title": "Fixed runloop env", + "pr_type": "other" + } + ] + }, + { + "github_handle": "RishiDesai", + "email": "", + "name": "Rishi Desai", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 3, + "adapter_pr_count": 0, + "non_adapter_pr_count": 3, + "total_additions": 33046, + "total_deletions": 27018, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/512", + "pr_title": "registry for swe-gen-js", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/230", + "pr_title": "Serialize Docker image builds to prevent parallel build race condition", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/200", + "pr_title": "Allow custom BaseLLM backend for Agent", + "pr_type": "other" + } + ] + }, + { + "github_handle": "digitsisyph", + "email": "", + "name": "digitsi", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 3, + "adapter_pr_count": 2, + "non_adapter_pr_count": 1, + "total_additions": 7109, + "total_deletions": 2, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/153", + "pr_title": "Add adapter init command", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/143", + "pr_title": "Add trajectory viewer", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/69", + "pr_title": "Add adapter for evoeval", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "Ji-Pengliang", + "email": "", + "name": "Pengliang Ji", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 3, + "adapter_pr_count": 1, + "non_adapter_pr_count": 2, + "total_additions": 2230, + "total_deletions": 3, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/550", + "pr_title": "Add --n-attempts 2 to arc_agi_2 reproduction command", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/401", + "pr_title": "update arc-agi-2 parity test pr", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/220", + "pr_title": "[Ready for Review - fixing] Adapter: ARC-AGI-2 benchmark", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "luxinyu1", + "email": "", + "name": "Solaris", + "affiliation": "Institute of Software, Chinese Academy of Sciences", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 3, + "adapter_pr_count": 0, + "non_adapter_pr_count": 3, + "total_additions": 31, + "total_deletions": 11, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/900", + "pr_title": "Pass through CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING env var to claude code agent", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/506", + "pr_title": "Fix Claude Code trajectory extraction when subagents are used", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/236", + "pr_title": "Add custom API base URL support for claude code agent", + "pr_type": "other" + } + ] + }, + { + "github_handle": "AkshayVenkataraman", + "email": "akshayv2k@gmail.com", + "name": "Akshay Venkataraman", + "affiliation": "Leeds Beckett University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 3, + "adapter_pr_count": 0, + "non_adapter_pr_count": 3, + "total_additions": 45, + "total_deletions": 9, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/247", + "pr_title": "initial commit to enable agent setup timeout override", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/226", + "pr_title": "improved workdir parse logic", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/195", + "pr_title": "made tmux viewport size configurable", + "pr_type": "engineering" + } + ] + }, + { + "github_handle": "rynewang", + "email": "", + "name": "Ruiyang Wang", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 3, + "adapter_pr_count": 0, + "non_adapter_pr_count": 3, + "total_additions": 1051, + "total_deletions": 238, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/771", + "pr_title": "Fix hello-alpine reward.txt containing pytest output", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/769", + "pr_title": "Add Docker Compose (DinD) support for Daytona environment", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/767", + "pr_title": "Fix hello-mcp example to use streamable-http transport", + "pr_type": "other" + } + ] + }, + { + "github_handle": "pfbyjy", + "email": "", + "name": "Meji A", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 0, + "non_adapter_pr_count": 2, + "total_additions": 109, + "total_deletions": 23, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/333", + "pr_title": "Update claude_code.py to allow access to all tools", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/75", + "pr_title": "Convert Terminal-Bench docker-compose to Harbor format in mapper", + "pr_type": "engineering" + } + ] + }, + { + "github_handle": "arafatkatze", + "email": "arafat.da.khan@gmail.com", + "name": "Ara", + "affiliation": "Cline", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 0, + "non_adapter_pr_count": 2, + "total_additions": 1210, + "total_deletions": 32, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/1019", + "pr_title": "cline-cli: recover usage from task history", + "pr_type": "task" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/585", + "pr_title": "Fix Cline Provider to support new Auth/CLI config", + "pr_type": "engineering" + } + ] + }, + { + "github_handle": "jrvb-rl", + "email": "rob@runloop.ai", + "name": "Rob von Behren", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 0, + "non_adapter_pr_count": 2, + "total_additions": 96, + "total_deletions": 31, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/876", + "pr_title": "Improve Runloop blueprint handling.", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/862", + "pr_title": "Improve error handling and implement correct delete behavior for runloop environment.", + "pr_type": "other" + } + ] + }, + { + "github_handle": "connor-cognition", + "email": "", + "name": "connor-cognition", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 0, + "non_adapter_pr_count": 2, + "total_additions": 293, + "total_deletions": 8, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/470", + "pr_title": "feat: add secret and volume support to modal environment", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/457", + "pr_title": "chore: pin modal sdk to `1.3.1.dev9`", + "pr_type": "engineering" + } + ] + }, + { + "github_handle": "thdxr", + "email": "mail@thdxr.com", + "name": "Dax", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 0, + "non_adapter_pr_count": 2, + "total_additions": 4, + "total_deletions": 1, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/316", + "pr_title": "Change opencode command to output JSON format", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/121", + "pr_title": "Enable OPENCODE_FAKE_VCS for OpenCode agent", + "pr_type": "other" + } + ] + }, + { + "github_handle": "EtashGuha", + "email": "", + "name": "EtashGuha", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 0, + "non_adapter_pr_count": 2, + "total_additions": 32570, + "total_deletions": 3336, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/113", + "pr_title": "update train on traces", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/38", + "pr_title": "added triage for together context limit issue", + "pr_type": "other" + } + ] + }, + { + "github_handle": "giansegato", + "email": "", + "name": "gian", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 0, + "non_adapter_pr_count": 2, + "total_additions": 999, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/212", + "pr_title": "feat: Add GKE/Kubernetes environment support", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/135", + "pr_title": "Add extended thinking mode support for Anthropic models", + "pr_type": "other" + } + ] + }, + { + "github_handle": "HaishuoFang", + "email": "fanghaishuo@gmail.com", + "name": "Haishuo", + "affiliation": "TU Darmstadt", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 2, + "non_adapter_pr_count": 0, + "total_additions": 2966, + "total_deletions": 87, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/434", + "pr_title": "Fix ruff check error for financeagent Adapter", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/267", + "pr_title": "[Ready for Review - final discussion] Adapter: FinanceAgent", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "HiromuHota", + "email": "hiromu.hota@gmail.com", + "name": "Hiromu Hota", + "affiliation": "https://snorkel.ai/", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 0, + "non_adapter_pr_count": 2, + "total_additions": 4, + "total_deletions": 7, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/131", + "pr_title": "Add content from run-tests.sh correctly during migration", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/130", + "pr_title": "Allow difficulty: unknown for compat w/TB1.0", + "pr_type": "other" + } + ] + }, + { + "github_handle": "DannyGooo", + "email": "Yonghui.Liu@anu.edu.au", + "name": "Yonghui Liu", + "affiliation": "Australian National University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 2, + "non_adapter_pr_count": 0, + "total_additions": 2716, + "total_deletions": 2, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/452", + "pr_title": "[Ready for Review] Adapter: Spider2 - Experiment with Harbor-supported agents", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/436", + "pr_title": "[Ready for Review] Adapter: Spider2", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "lurf21", + "email": "", + "name": "Ruofan Lu", + "affiliation": "The Chinese University of Hong Kong", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 0, + "non_adapter_pr_count": 2, + "total_additions": 7, + "total_deletions": 5, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/700", + "pr_title": "fix openhands reasoning_effort", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/284", + "pr_title": "fix: pass env variables when oracle agent executes the command", + "pr_type": "other" + } + ] + }, + { + "github_handle": "RyanMarten", + "email": "", + "name": "Ryan Marten", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 0, + "non_adapter_pr_count": 2, + "total_additions": 153, + "total_deletions": 174, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/1010", + "pr_title": "Give quality checker agent access to full task directory via tools", + "pr_type": "task" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/971", + "pr_title": "Strip canary markers from instruction text", + "pr_type": "other" + } + ] + }, + { + "github_handle": "jakozaur", + "email": "jacek@quesma.com", + "name": "Jacek Migdal", + "affiliation": "Quesma", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 0, + "non_adapter_pr_count": 2, + "total_additions": 13564, + "total_deletions": 13120, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/662", + "pr_title": "Add otel-bench benchmark to registry.json", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/661", + "pr_title": "Add binary-audit benchmark to registry.json", + "pr_type": "other" + } + ] + }, + { + "github_handle": "stared", + "email": "pmigdal@gmail.com", + "name": "Piotr Migda\u0142", + "affiliation": "ex: Quantum Flytrap CTO & cofounder", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 0, + "non_adapter_pr_count": 2, + "total_additions": 285, + "total_deletions": 27, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/367", + "pr_title": "Viewer cost estimate with LiteLLM", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/308", + "pr_title": "Add smart port handling for `harbor view`", + "pr_type": "other" + } + ] + }, + { + "github_handle": "octaviaguo", + "email": "", + "name": "octaviaguo", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 2, + "non_adapter_pr_count": 0, + "total_additions": 3471, + "total_deletions": 153, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/446", + "pr_title": "Update StrongReject adapter with new registry", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/363", + "pr_title": "[Ready for Review] Adapter: StrongReject", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "paraliine", + "email": "", + "name": "Xiaoxuan Peng", + "affiliation": "CQU", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 0, + "non_adapter_pr_count": 2, + "total_additions": 2, + "total_deletions": 2, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/216", + "pr_title": "Fix Terminus2 tmux logging path", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/215", + "pr_title": "Fix blocking tmux send-keys execution", + "pr_type": "other" + } + ] + }, + { + "github_handle": "dot-agi", + "email": "ps4534@nyu.edu", + "name": "Pratyush Shukla", + "affiliation": "New York University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 0, + "non_adapter_pr_count": 2, + "total_additions": 450, + "total_deletions": 21, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/589", + "pr_title": "Fix Docker environment directory nesting and stale container bugs", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/539", + "pr_title": "Fix NVM sourcing failure with strict mode", + "pr_type": "engineering" + } + ] + }, + { + "github_handle": "rotemtam", + "email": "", + "name": "Rotem Tamir", + "affiliation": "honeybadge.co", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 0, + "non_adapter_pr_count": 2, + "total_additions": 220, + "total_deletions": 7, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/262", + "pr_title": "fix: `--agent-import-path` ignored when `-a` not specified", + "pr_type": "engineering" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/259", + "pr_title": "fix: add Alpine Linux support for claude-code agent", + "pr_type": "other" + } + ] + }, + { + "github_handle": "tlongwell-block", + "email": "", + "name": "tlongwell-block", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 0, + "non_adapter_pr_count": 2, + "total_additions": 41, + "total_deletions": 15, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/191", + "pr_title": "support additional inference providers for the goose agent to allow benching open models", + "pr_type": "other" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/188", + "pr_title": "enable goose developer and todo extensions in harbor recipe", + "pr_type": "engineering" + } + ] + }, + { + "github_handle": "Anjiang-Wei", + "email": "", + "name": "Anjiang Wei", + "affiliation": "Stanford University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 2, + "non_adapter_pr_count": 0, + "total_additions": 13415, + "total_deletions": 10, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/418", + "pr_title": "Remove repository path setup from run_adapter.py to fix ruff error", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/395", + "pr_title": "[Ready for Review] Adapter: SATBench", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "ZhengShenghan", + "email": "shenghan.zheng.gr@dartmouth.edu", + "name": "Shenghan Zheng", + "affiliation": "Dartmouth College", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 2, + "adapter_pr_count": 1, + "non_adapter_pr_count": 1, + "total_additions": 22, + "total_deletions": 1, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/632", + "pr_title": "[FIX] add -max-turn support in claude adapter", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/535", + "pr_title": "[Ready for Review] BUG-FIX: fix gemini-cli skill loading failure", + "pr_type": "other" + } + ] + }, + { + "github_handle": "crystalxyz", + "email": "xz957@cornell.edu", + "name": "Crystal Zhou", + "affiliation": "Cornell University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 1000, + "pr_count": 2, + "adapter_pr_count": 2, + "non_adapter_pr_count": 0, + "total_additions": 2129, + "total_deletions": 2, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/780", + "pr_title": "[Ready for Review] Update adapter readme template for authors and contributions section", + "pr_type": "adapter" + }, + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/201", + "pr_title": "[Ready for review - Final Review] Adapter: LAB-Bench FigQA", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "1171-jpg", + "email": "", + "name": "140", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 1836, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/403", + "pr_title": "[Ready for Review] Adapter: Ineqmath", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "alexandraabbas", + "email": "", + "name": "Alexandra Abbas", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 1359, + "total_deletions": 1359, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/1020", + "pr_title": "Fix task paths in registry.json for swtbench-verified and swe-lancer-diamond", + "pr_type": "task" + } + ] + }, + { + "github_handle": "ai-jz", + "email": "", + "name": "ai-jz", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 6, + "total_deletions": 1, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/173", + "pr_title": "feat: Add Claude Code OAuth token support for subscription users", + "pr_type": "other" + } + ] + }, + { + "github_handle": "George-ao", + "email": "", + "name": "Yuyi Ao", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 40, + "total_deletions": 2, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/949", + "pr_title": "Fix Claude Code trajectory JSONL", + "pr_type": "other" + } + ] + }, + { + "github_handle": "BauerJustin", + "email": "", + "name": "Justin Bauer", + "affiliation": "@snorkel-ai ", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 557, + "total_deletions": 126, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/815", + "pr_title": "Update tasks check to use Claude Agents SDK + ingest rubrics file", + "pr_type": "task" + } + ] + }, + { + "github_handle": "bd317", + "email": "", + "name": "Benedikt", + "affiliation": "@ellamind", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 237, + "total_deletions": 1, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/915", + "pr_title": "Fix Claude Code thinking blocks lost in ATIF trajectory conversion", + "pr_type": "other" + } + ] + }, + { + "github_handle": "beran-t", + "email": "", + "name": "Berry", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 5, + "total_deletions": 1, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/627", + "pr_title": "Fix E2B exec() throwing on non-zero exit codes", + "pr_type": "other" + } + ] + }, + { + "github_handle": "Waterpine", + "email": "sbian8@wisc.edu", + "name": "Song Bian", + "affiliation": "University of Wisconsin-Madison", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 25831, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/307", + "pr_title": "[Ready for Review] mmau adapter", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "ekellbuch", + "email": "ekb@stanford.edu", + "name": "Kelly Buchanan", + "affiliation": "Stanford University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 48, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/853", + "pr_title": "Add Ollama configuration example", + "pr_type": "engineering" + } + ] + }, + { + "github_handle": "bochencs", + "email": "", + "name": "Bo Chen", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 1916, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/581", + "pr_title": "[Ready for review] Adapter: GAIA", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "kobe0938", + "email": "xiaokunchen0@gmail.com", + "name": "Xiaokun Chen", + "affiliation": "Stanford University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 1761, + "total_deletions": 2, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/257", + "pr_title": "[Ready for Review - fixing] Adapter: Humanevalfix", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "cliangyu", + "email": "", + "name": "Leon Chen", + "affiliation": "Stanford University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 1197, + "total_deletions": 19, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/26", + "pr_title": "Migrate 11 agents from terminal-bench to sandboxes", + "pr_type": "other" + } + ] + }, + { + "github_handle": "santaboi", + "email": "", + "name": "Jeffrey Yang Fan Chiang", + "affiliation": "University of Maryland College Park", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 1, + "total_deletions": 1, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/104", + "pr_title": "Fix Terminal Bench 2.0 description typo", + "pr_type": "other" + } + ] + }, + { + "github_handle": "Hangzhi", + "email": "yd223@cornell.edu", + "name": "Yiwei Dai", + "affiliation": "Cornell University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 500, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 1768, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/346", + "pr_title": "[Ready for review -Final Fix] Quixbugs adapter", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "Rebabit", + "email": "rd629@cornell.edu", + "name": "Rebecca Deng", + "affiliation": "Cornell Tech", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 1883, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/311", + "pr_title": "[Ready for Review - Final Fix] Adapter: MMMLU", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "dzorlu", + "email": "", + "name": "Deniz", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 6, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/232", + "pr_title": "feat: store all messages", + "pr_type": "other" + } + ] + }, + { + "github_handle": "dines-rl", + "email": "", + "name": "Alexander Dines", + "affiliation": "Run Loop", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 275, + "total_deletions": 1, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/46", + "pr_title": "Add Runloop Environment", + "pr_type": "other" + } + ] + }, + { + "github_handle": "Dongzhikang", + "email": "zhikang.dong.1@stonybrook.edu", + "name": "Zhikang Dong", + "affiliation": "Stony Brook University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 2140, + "total_deletions": 2, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/89", + "pr_title": "adapter for Deveval", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "elainelau-hs", + "email": "", + "name": "elainelau-hs", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 35, + "total_deletions": 20, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/1021", + "pr_title": "opencode: register model in opencode config to avoid ProviderModelNotFoundError", + "pr_type": "engineering" + } + ] + }, + { + "github_handle": "ifoukarakis", + "email": "", + "name": "Ioannis Foukarakis", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 5, + "total_deletions": 4, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/323", + "pr_title": "fix: default registry URL reference", + "pr_type": "other" + } + ] + }, + { + "github_handle": "avelanarius", + "email": "piotr@quesma.com", + "name": "Piotr Grabowski", + "affiliation": "Quesma", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 16, + "total_deletions": 16, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/275", + "pr_title": "[Adapter] Update CompileBench adapter, fixing oracle on Daytona", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "KunWuLuan", + "email": "kunwuluan@gmail.com", + "name": "GreenHand", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 4, + "total_deletions": 3, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/658", + "pr_title": "fix(swe_agent): support multiple API key variables from model name", + "pr_type": "other" + } + ] + }, + { + "github_handle": "tyler-griggs", + "email": "", + "name": "Tyler Griggs", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 2, + "total_deletions": 1, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/21", + "pr_title": "Update .gitignore", + "pr_type": "other" + } + ] + }, + { + "github_handle": "Guangy627", + "email": "", + "name": "Guangy627", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 2, + "total_deletions": 2, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/485", + "pr_title": "Fix/trajectorydump", + "pr_type": "other" + } + ] + }, + { + "github_handle": "nandatheguntupalli", + "email": "", + "name": "Nanda Guntupalli", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 74, + "total_deletions": 11, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/399", + "pr_title": "Enhance documentation and structure in CLAUDE.md and README.md", + "pr_type": "other" + } + ] + }, + { + "github_handle": "davidheineman", + "email": "davidh@allenai.org", + "name": "David Heineman", + "affiliation": "Allen Institute for AI", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 8656, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/100", + "pr_title": "[Ready for Review] Adapter: SWE-Lancer", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "HOU-SZ", + "email": "", + "name": "Shizheng Hou", + "affiliation": "National University of Singapore", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 257013, + "total_deletions": 251746, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/415", + "pr_title": "[Ready for Review] Adapter: BIRD-Bench", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "huangkicn", + "email": "huangkicn@gmail.com", + "name": "Ke Huang", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 218, + "total_deletions": 4, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/737", + "pr_title": "Add Amazon Bedrock support for Claude Code agent", + "pr_type": "other" + } + ] + }, + { + "github_handle": "kanazawa-asyncio", + "email": "", + "name": "Kanaza", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 1208, + "total_deletions": 1, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/376", + "pr_title": "feat(registry): add Alibaba terminal-bench-pro dataset", + "pr_type": "other" + } + ] + }, + { + "github_handle": "rohitpaulk", + "email": "rohitpaulk@gmail.com", + "name": "Paul Kuruvilla", + "affiliation": "@codecrafters-io", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 23, + "total_deletions": 4, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/499", + "pr_title": "[Ready for review] Raise RuntimeError for agent setup failures", + "pr_type": "other" + } + ] + }, + { + "github_handle": "Evangelink", + "email": "evangelink@gmail.com", + "name": "Amaury Lev\u00e9", + "affiliation": "@microsoft ", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 285, + "total_deletions": 99, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/525", + "pr_title": "Add support for running harbor on Windows", + "pr_type": "other" + } + ] + }, + { + "github_handle": "AlienKevin", + "email": "", + "name": "Kevin Xiang Li", + "affiliation": "Stanford University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 4572, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/628", + "pr_title": "[Ready for Review] Adapter: MedAgentBench", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "likaixin2000", + "email": "likaixin@u.nus.edu", + "name": "Kaixin Li", + "affiliation": "National University of Singapore", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 2, + "total_deletions": 2, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/513", + "pr_title": "Fix error message formatting for invalid agent names", + "pr_type": "engineering" + } + ] + }, + { + "github_handle": "xdotli", + "email": "xiangyi@benchflow.ai", + "name": "Xiangyi Li", + "affiliation": "@benchflow-ai", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 4, + "total_deletions": 1, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/459", + "pr_title": "fix(claude-code): CLAUDE_CONFIG_DIR giving errors for accessing .claude folder", + "pr_type": "engineering" + } + ] + }, + { + "github_handle": "lijrjyan", + "email": "", + "name": "lijrjyan", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 67264, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/414", + "pr_title": "[Ready for Review] Adapter: KUMO", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "EazyReal", + "email": "maxwill@meta.com", + "name": "Maxwill Lin", + "affiliation": "@facebook", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 11, + "total_deletions": 5, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/1039", + "pr_title": "Fix agent install scripts failing when uv env file doesn't exist", + "pr_type": "other" + } + ] + }, + { + "github_handle": "junhongmit", + "email": "junhonghust@gmail.com", + "name": "Junhong Lin", + "affiliation": "Massachusetts Institute of Technology", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 3521, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/97", + "pr_title": "[Adapter] Adding USACO Adapter", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "xianliu", + "email": "lxjsj@fedoraproject.org", + "name": "Xian Liu", + "affiliation": "Meetchances", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 2116, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/402", + "pr_title": "[Ready for Review] Add crustbench adapter", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "liyuyun-lyy", + "email": "", + "name": "liyuyun-lyy", + "affiliation": "Alibaba", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 1, + "total_deletions": 1, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/168", + "pr_title": "fix: use yolo mode to pass hello world test", + "pr_type": "engineering" + } + ] + }, + { + "github_handle": "orfeas-menis", + "email": "menisorfeas@gmail.com", + "name": "Orfeas Menis Mastromichalakis", + "affiliation": "Instituto de Telecomunica\u00e7\u00f5es", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 887, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/149", + "pr_title": "Adapter for AIME", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "minjie-cohere", + "email": "", + "name": "Minjie", + "affiliation": "Cohere", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 284, + "total_deletions": 12, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/887", + "pr_title": "Fix silent tmux send-keys failure on long commands", + "pr_type": "other" + } + ] + }, + { + "github_handle": "neubig", + "email": "", + "name": "Graham Neubig", + "affiliation": "Carnegie Mellon University / All Hands AI", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 709, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/738", + "pr_title": "Add OpenHands v1 SDK agent adapter", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "robinnewhouse", + "email": "", + "name": "Robin Newhouse", + "affiliation": "Cline", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 0, + "total_deletions": 1, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/803", + "pr_title": "cline: remove unsupported 'cline instance kill -a' command", + "pr_type": "other" + } + ] + }, + { + "github_handle": "omi-n", + "email": "nabilomi@cs.washington.edu", + "name": "Nabil Omi", + "affiliation": "University of Washington", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 1771, + "total_deletions": 1, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/99", + "pr_title": "[Adapter] Add mlgym-bench adapter", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "pashpashpash", + "email": "nik@cline.bot", + "name": "pashpashpash", + "affiliation": "vault77.ai", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 178, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/198", + "pr_title": "cline cli integration", + "pr_type": "other" + } + ] + }, + { + "github_handle": "dpedchenko", + "email": "", + "name": "Dmitrii Pedchenko", + "affiliation": "FAIR @ Meta MSL", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 7, + "total_deletions": 4, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/194", + "pr_title": "Minor change to Modal backend", + "pr_type": "other" + } + ] + }, + { + "github_handle": "rootCircle", + "email": "", + "name": "Lab Rat", + "affiliation": "@uber, @iiitl ", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 40, + "total_deletions": 2, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/343", + "pr_title": "Fix: normalize `--path .` to absolute to prevent invalid Docker tags", + "pr_type": "other" + } + ] + }, + { + "github_handle": "Riatre", + "email": "", + "name": "Riatre", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 1, + "total_deletions": 1, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/886", + "pr_title": "Do not escape value of docker exec `-e` arguments", + "pr_type": "other" + } + ] + }, + { + "github_handle": "MarcoRossignoli", + "email": "", + "name": "Marco Rossignoli", + "affiliation": "@microsoft", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 9, + "total_deletions": 2, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/507", + "pr_title": "Support large dataset downloads on Windows", + "pr_type": "other" + } + ] + }, + { + "github_handle": "emrousselle", + "email": "", + "name": "Emmanuel Rousselle", + "affiliation": "Hashicorp", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 2, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/986", + "pr_title": "Add support for Openrouter (OPENROUTER_API_KEY) in OpenCode agent", + "pr_type": "other" + } + ] + }, + { + "github_handle": "asadoughi", + "email": "", + "name": "Amir Sadoughi", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 194, + "total_deletions": 4, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/640", + "pr_title": "Support passing arbitrary env vars", + "pr_type": "other" + } + ] + }, + { + "github_handle": "ssatia", + "email": "", + "name": "Sanyam Satia", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 100, + "total_deletions": 3, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/1022", + "pr_title": "Add reasoning_effort support (--effort flag) to Claude Code agent", + "pr_type": "other" + } + ] + }, + { + "github_handle": "self-supervisor", + "email": "", + "name": "self-supervisor", + "affiliation": "@VmaxAI ", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 6266, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/563", + "pr_title": "Vmax tasks", + "pr_type": "task" + } + ] + }, + { + "github_handle": "neverSettles", + "email": "", + "name": "Chris Settles", + "affiliation": "Operative AI, Inc", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 1748, + "total_deletions": 122, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/549", + "pr_title": "ATIF 1.5->1.6: Support multimodal trajectories", + "pr_type": "other" + } + ] + }, + { + "github_handle": "Michaelsqj", + "email": "shenqijia11@gmail.com", + "name": "Qijia Shen", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 8263, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/577", + "pr_title": "add seta env to registry.json", + "pr_type": "other" + } + ] + }, + { + "github_handle": "killthefullmoon", + "email": "killthefullmoon@gmail.com", + "name": "Hui Shen", + "affiliation": "University of Michigan", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 7849, + "total_deletions": 904, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/432", + "pr_title": "[Ready for Review] Adapter: DS1000", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "ethanlshen", + "email": "ethans03@cs.washington.edu", + "name": "Ethan Shen", + "affiliation": "University of Washington", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 9, + "total_deletions": 1, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/94", + "pr_title": "Added summarization toggle", + "pr_type": "other" + } + ] + }, + { + "github_handle": "WingchunSiu", + "email": "", + "name": "Michael Siu", + "affiliation": "University of Southern California", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 21, + "total_deletions": 4, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/652", + "pr_title": "Add llm_call_kwargs to Terminus2 for per-call LLM parameter", + "pr_type": "other" + } + ] + }, + { + "github_handle": "vatsj", + "email": "jacobstavrianos@gmail.com", + "name": "Jacob Stavrianos", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 3, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/481", + "pr_title": "suppress daytona container auto-shutdown", + "pr_type": "other" + } + ] + }, + { + "github_handle": "steadyworksai", + "email": "founders@steadyworks.ai", + "name": "Steadyworks", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 13, + "total_deletions": 13, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/837", + "pr_title": "fix: use line-buffered tee for real-time agent log monitoring", + "pr_type": "other" + } + ] + }, + { + "github_handle": "bstee615", + "email": "benjaminjsteenhoek@gmail.com", + "name": "Benjamin Steenhoek", + "affiliation": "Microsoft", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 43, + "total_deletions": 20, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/269", + "pr_title": "Support Azure OpenAI endpoints for LiteLLM agents", + "pr_type": "other" + } + ] + }, + { + "github_handle": "speed1313", + "email": "sugiura.issa.q29@kyoto-u.jp", + "name": "Issa Sugiura", + "affiliation": "Kyoto University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 26791, + "total_deletions": 1, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/530", + "pr_title": "[Ready for Review] Adapter: SimpleQA", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "ThomAub", + "email": "github.thomaub@gmail.com", + "name": "Thomas", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 15, + "total_deletions": 12, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/1042", + "pr_title": "Improve Harbor CLI startup time with lazy imports", + "pr_type": "other" + } + ] + }, + { + "github_handle": "tmacie", + "email": "", + "name": "tmacie", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 6, + "total_deletions": 8, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/586", + "pr_title": "Fix modal gpu selection", + "pr_type": "other" + } + ] + }, + { + "github_handle": "aht", + "email": "anh.hai.trinh@gmail.com", + "name": "Hai-Anh Trinh", + "affiliation": "Independent", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 5038, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/256", + "pr_title": "[Ready for Review] Adapter: REASONING GYM ", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "audreycs", + "email": "yuxin.wang.gr@dartmouth.edu", + "name": "Yuxin Wang", + "affiliation": "Dartmouth College", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 2158, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/88", + "pr_title": "[Adapter] Adding Livecodebench adpter", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "harvenstar", + "email": "", + "name": "Hudson Xing", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 3859, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/629", + "pr_title": "[Ready for Review] Adapter: DABstep", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "hanxu12", + "email": "hanxu8@illinois.edu", + "name": "Han Xu", + "affiliation": "University of Illinois Urbana-Champaign", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 7030, + "total_deletions": 1, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/380", + "pr_title": "[Ready for Review] Adapter: LawBench", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "EstelYang", + "email": "ypyangrui@pku.edu.cn", + "name": "Rui Yang", + "affiliation": "Peking University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 68583, + "total_deletions": 67032, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/351", + "pr_title": "[Ready for Review] Adapter: QCircuitBench", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "MichaelY310", + "email": "yang335@ucsb.edu", + "name": "Michael Yang", + "affiliation": "UC Santa Barbara", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 15684, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/96", + "pr_title": "[Ready For Review] Adding SWTBench Adapter", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "Yiozolm", + "email": "m202310581@xs.ustb.edu.cn", + "name": "Fangzhou Yi", + "affiliation": "University of Science and Technology Beijing", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 10, + "total_deletions": 4, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/464", + "pr_title": "Add support for GLM models", + "pr_type": "other" + } + ] + }, + { + "github_handle": "zjysteven", + "email": "", + "name": "Jingyang Zhang", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 21403, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/846", + "pr_title": "Add TermiGen environments (https://github.com/ucsb-mlsec/terminal-bench-env)", + "pr_type": "other" + } + ] + }, + { + "github_handle": "robertzhidealx", + "email": "robertz@cs.utexas.edu", + "name": "Robert Zhang", + "affiliation": "University of Texas at Austin", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 9252, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/249", + "pr_title": "Adapters: SWE-bench Pro", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "XuandongZhao", + "email": "csxuandongzhao@gmail.com", + "name": "Xuandong Zhao", + "affiliation": "UC Berkeley", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 1723, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/264", + "pr_title": "[Adapter] GPQA-Diamond Adapter", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "richardzhuang0412", + "email": "", + "name": "Richard Zhuang", + "affiliation": "", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 0, + "non_adapter_pr_count": 1, + "total_additions": 91, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/181", + "pr_title": "Added patching fix for openhand when handling together context limit error", + "pr_type": "other" + } + ] + }, + { + "github_handle": "terryyz", + "email": "terryzhuo25@gmail.com", + "name": "Terry Yue Zhuo", + "affiliation": "Monash University", + "role": "Contributor", + "rank": 0, + "adapter_rank": 0, + "pr_count": 1, + "adapter_pr_count": 1, + "non_adapter_pr_count": 0, + "total_additions": 10081, + "total_deletions": 0, + "pr_list": [ + { + "pr_url": "https://github.com/harbor-framework/harbor/pull/330", + "pr_title": "[Ready for Review - fixing] Adapter: BigCodeBench-Hard", + "pr_type": "adapter" + } + ] + }, + { + "github_handle": "ludwigschmidt", + "email": "ludwigschmidt2@gmail.com", + "name": "Ludwig Schmidt", + "affiliation": "Stanford University", + "role": "Advisor", + "rank": -100, + "adapter_rank": 0, + "pr_count": 0, + "adapter_pr_count": 0, + "non_adapter_pr_count": 0, + "total_additions": 0, + "total_deletions": 0, + "pr_list": [] + } +] \ No newline at end of file diff --git a/utils/contributors/data/raw_github_users_data.json b/utils/contributors/data/raw_github_users_data.json new file mode 100644 index 0000000..0c0eaec --- /dev/null +++ b/utils/contributors/data/raw_github_users_data.json @@ -0,0 +1,752 @@ +[ + { + "github_handle": "1171-jpg", + "email": "", + "name": "140", + "affiliation": "" + }, + { + "github_handle": "AkshayVenkataraman", + "email": "akshayv2k@gmail.com", + "name": "Akshay Venkataraman", + "affiliation": "" + }, + { + "github_handle": "AlienKevin", + "email": "", + "name": "Kevin Xiang Li", + "affiliation": "Stanford University" + }, + { + "github_handle": "Anjiang-Wei", + "email": "", + "name": "Anjiang Wei", + "affiliation": "Stanford University" + }, + { + "github_handle": "BauerJustin", + "email": "", + "name": "Justin Bauer", + "affiliation": "@snorkel-ai " + }, + { + "github_handle": "CharlieFRuan", + "email": "", + "name": "Charlie Ruan", + "affiliation": "UC Berkeley" + }, + { + "github_handle": "Chesars", + "email": "", + "name": "Cesar Garcia", + "affiliation": "" + }, + { + "github_handle": "DannyGooo", + "email": "", + "name": "Yonghui Liu", + "affiliation": "" + }, + { + "github_handle": "Dongzhikang", + "email": "", + "name": "Zhikang Dong", + "affiliation": "" + }, + { + "github_handle": "EazyReal", + "email": "maxwill@meta.com", + "name": "Maxwill Lin", + "affiliation": "@facebook" + }, + { + "github_handle": "EstelYang", + "email": "", + "name": "EstelYang", + "affiliation": "" + }, + { + "github_handle": "EtashGuha", + "email": "", + "name": "EtashGuha", + "affiliation": "" + }, + { + "github_handle": "Evangelink", + "email": "evangelink@gmail.com", + "name": "Amaury Lev\u00e9", + "affiliation": "@microsoft " + }, + { + "github_handle": "George-ao", + "email": "", + "name": "Yuyi Ao", + "affiliation": "" + }, + { + "github_handle": "Guangy627", + "email": "", + "name": "Guangy627", + "affiliation": "" + }, + { + "github_handle": "HOU-SZ", + "email": "", + "name": "Shizheng Hou", + "affiliation": "National University of Singapore" + }, + { + "github_handle": "HaishuoFang", + "email": "fanghaishuo@gmail.com", + "name": "Haishuo", + "affiliation": "TU Darmstadt" + }, + { + "github_handle": "Hangzhi", + "email": "hangzhiweiwei@gmail.com", + "name": "Yiwei Dai", + "affiliation": "" + }, + { + "github_handle": "HiromuHota", + "email": "hiromu.hota@gmail.com", + "name": "Hiromu Hota", + "affiliation": "https://snorkel.ai/" + }, + { + "github_handle": "Ji-Pengliang", + "email": "", + "name": "Pengliang Ji", + "affiliation": "" + }, + { + "github_handle": "KunWuLuan", + "email": "kunwuluan@gmail.com", + "name": "GreenHand", + "affiliation": "" + }, + { + "github_handle": "LithiumDA", + "email": "", + "name": "Shanda Li", + "affiliation": "Carnegie Mellon University" + }, + { + "github_handle": "MarcoRossignoli", + "email": "", + "name": "Marco Rossignoli", + "affiliation": "@microsoft" + }, + { + "github_handle": "MichaelY310", + "email": "", + "name": "Michael Yang", + "affiliation": "" + }, + { + "github_handle": "Michaelsqj", + "email": "shenqijia11@gmail.com", + "name": "Qijia Shen", + "affiliation": "" + }, + { + "github_handle": "Rebabit", + "email": "", + "name": "Rebecca Deng", + "affiliation": "" + }, + { + "github_handle": "Riatre", + "email": "", + "name": "Riatre", + "affiliation": "" + }, + { + "github_handle": "RishiDesai", + "email": "", + "name": "Rishi Desai", + "affiliation": "" + }, + { + "github_handle": "RyanMarten", + "email": "", + "name": "Ryan Marten", + "affiliation": "" + }, + { + "github_handle": "Slimshilin", + "email": "", + "name": "Slimshilin", + "affiliation": "" + }, + { + "github_handle": "StevenDillmann", + "email": "", + "name": "Steven Dillmann", + "affiliation": "Stanford University" + }, + { + "github_handle": "Ternura143", + "email": "", + "name": "Zixuan Zhu", + "affiliation": "NTU" + }, + { + "github_handle": "TheMikeMerrill", + "email": "", + "name": "TheMikeMerrill", + "affiliation": "" + }, + { + "github_handle": "ThomAub", + "email": "github.thomaub@gmail.com", + "name": "Thomas", + "affiliation": "" + }, + { + "github_handle": "Waterpine", + "email": "sbian8@wisc.edu", + "name": "Song Bian", + "affiliation": "University of Wisconsin-Madison" + }, + { + "github_handle": "WingchunSiu", + "email": "", + "name": "Michael Siu", + "affiliation": "University of Southern California" + }, + { + "github_handle": "XuandongZhao", + "email": "csxuandongzhao@gmail.com", + "name": "Xuandong Zhao", + "affiliation": "UC Berkeley" + }, + { + "github_handle": "Yiozolm", + "email": "m202310581@xs.ustb.edu.cn", + "name": "Fangzhou Yi", + "affiliation": "University of Science and Technology Beijing" + }, + { + "github_handle": "ZhengShenghan", + "email": "shenghan.zheng.gr@dartmouth.edu", + "name": "Shenghan Zheng", + "affiliation": "Dartmouth College" + }, + { + "github_handle": "aht", + "email": "", + "name": "Hai-Anh Trinh", + "affiliation": "grammarly.com" + }, + { + "github_handle": "ai-jz", + "email": "", + "name": "ai-jz", + "affiliation": "" + }, + { + "github_handle": "alexandraabbas", + "email": "", + "name": "Alexandra Abbas", + "affiliation": "" + }, + { + "github_handle": "alexgshaw", + "email": "alexgshaw64@gmail.com", + "name": "Alex Shaw", + "affiliation": "Laude Institute" + }, + { + "github_handle": "anishathalye", + "email": "me@anishathalye.com", + "name": "Anish Athalye", + "affiliation": "@joinhandshake" + }, + { + "github_handle": "arafatkatze", + "email": "arafat.da.khan@gmail.com", + "name": "Ara", + "affiliation": "Cline" + }, + { + "github_handle": "asadoughi", + "email": "", + "name": "Amir Sadoughi", + "affiliation": "" + }, + { + "github_handle": "audreycs", + "email": "", + "name": "Yuxin Wang", + "affiliation": "Dartmouth College" + }, + { + "github_handle": "avelanarius", + "email": "", + "name": "Piotr Grabowski", + "affiliation": "@QuesmaOrg" + }, + { + "github_handle": "bd317", + "email": "", + "name": "Benedikt", + "affiliation": "@ellamind" + }, + { + "github_handle": "beran-t", + "email": "", + "name": "Berry", + "affiliation": "" + }, + { + "github_handle": "bochencs", + "email": "", + "name": "Bo Chen", + "affiliation": "" + }, + { + "github_handle": "bstee615", + "email": "benjaminjsteenhoek@gmail.com", + "name": "Benjamin Steenhoek", + "affiliation": "@Microsoft" + }, + { + "github_handle": "chenzizhao", + "email": "", + "name": "Zizhao Chen", + "affiliation": "" + }, + { + "github_handle": "cliangyu", + "email": "", + "name": "Leon Chen", + "affiliation": "Stanford University" + }, + { + "github_handle": "connor-cognition", + "email": "", + "name": "connor-cognition", + "affiliation": "" + }, + { + "github_handle": "crystalxyz", + "email": "", + "name": "Crystal Zhou", + "affiliation": "" + }, + { + "github_handle": "davidheineman", + "email": "david@davidheineman.com", + "name": "David Heineman", + "affiliation": "" + }, + { + "github_handle": "digitsisyph", + "email": "", + "name": "digitsi", + "affiliation": "" + }, + { + "github_handle": "dines-rl", + "email": "", + "name": "Alexander Dines", + "affiliation": "Run Loop" + }, + { + "github_handle": "dot-agi", + "email": "ps4534@nyu.edu", + "name": "Pratyush Shukla", + "affiliation": "Abundant AI" + }, + { + "github_handle": "dpedchenko", + "email": "", + "name": "Dmitrii Pedchenko", + "affiliation": "FAIR @ Meta MSL" + }, + { + "github_handle": "dzorlu", + "email": "", + "name": "Deniz", + "affiliation": "" + }, + { + "github_handle": "ekellbuch", + "email": "", + "name": "E. Kelly Buchanan", + "affiliation": "" + }, + { + "github_handle": "elainelau-hs", + "email": "", + "name": "elainelau-hs", + "affiliation": "" + }, + { + "github_handle": "emrousselle", + "email": "", + "name": "Emmanuel Rousselle", + "affiliation": "Hashicorp" + }, + { + "github_handle": "ethanlshen", + "email": "ethans03@cs.washington.edu", + "name": "Ethan Shen", + "affiliation": "" + }, + { + "github_handle": "giansegato", + "email": "", + "name": "gian", + "affiliation": "" + }, + { + "github_handle": "hanxu12", + "email": "", + "name": "Han Xu", + "affiliation": "" + }, + { + "github_handle": "harshraj172", + "email": "", + "name": "Harsh Raj", + "affiliation": "Khoury College, Northeastern University " + }, + { + "github_handle": "harvenstar", + "email": "", + "name": "Hudson Xing", + "affiliation": "" + }, + { + "github_handle": "huangkicn", + "email": "huangkicn@gmail.com", + "name": "Ke Huang", + "affiliation": "" + }, + { + "github_handle": "ibercovich", + "email": "", + "name": "Ivan Bercovich", + "affiliation": "ScOp Venture Capital" + }, + { + "github_handle": "ifoukarakis", + "email": "", + "name": "Ioannis Foukarakis", + "affiliation": "" + }, + { + "github_handle": "jakozaur", + "email": "jacek@migdal.pl", + "name": "Jacek Migdal", + "affiliation": "" + }, + { + "github_handle": "james-rl", + "email": "", + "name": "james-rl", + "affiliation": "" + }, + { + "github_handle": "josancamon19", + "email": "", + "name": "Joan Cabezas", + "affiliation": "" + }, + { + "github_handle": "jrvb-rl", + "email": "rob@runloop.ai", + "name": "Rob von Behren", + "affiliation": "" + }, + { + "github_handle": "junhongmit", + "email": "junhonghust@gmail.com", + "name": "Junhong Lin", + "affiliation": "Massachusetts Institute of Technology" + }, + { + "github_handle": "kanazawa-asyncio", + "email": "", + "name": "Kanaza", + "affiliation": "" + }, + { + "github_handle": "killthefullmoon", + "email": "killthefullmoon@gmail.com", + "name": "Hui Shen", + "affiliation": "University of Michigan" + }, + { + "github_handle": "kobe0938", + "email": "xiaokunchen0@gmail.com", + "name": "Kobe Chen", + "affiliation": "Stanford Univerisity" + }, + { + "github_handle": "li-boxuan", + "email": "", + "name": "Boxuan Li", + "affiliation": "Microsoft" + }, + { + "github_handle": "lijrjyan", + "email": "", + "name": "lijrjyan", + "affiliation": "" + }, + { + "github_handle": "likaixin2000", + "email": "likaixin@u.nus.edu", + "name": "Kaixin Li", + "affiliation": "National University of Singapore" + }, + { + "github_handle": "linhaowei1", + "email": "", + "name": "Haowei Lin", + "affiliation": "Peking University" + }, + { + "github_handle": "liyuyun-lyy", + "email": "", + "name": "liyuyun-lyy", + "affiliation": "Alibaba" + }, + { + "github_handle": "lurf21", + "email": "", + "name": "Ruofan Lu", + "affiliation": "The Chinese University of Hong Kong" + }, + { + "github_handle": "luxinyu1", + "email": "", + "name": "Solaris", + "affiliation": "Institute of Software, Chinese Academy of Sciences" + }, + { + "github_handle": "michaelrglass", + "email": "", + "name": "Michael Glass", + "affiliation": "IBM" + }, + { + "github_handle": "mieciu", + "email": "", + "name": "Przemys\u0142aw Hejman", + "affiliation": "blindroot.com" + }, + { + "github_handle": "minjie-cohere", + "email": "", + "name": "Minjie", + "affiliation": "Cohere" + }, + { + "github_handle": "nandatheguntupalli", + "email": "", + "name": "Nanda Guntupalli", + "affiliation": "" + }, + { + "github_handle": "neginraoof", + "email": "", + "name": "Negin Raoof", + "affiliation": "UC Berkeley" + }, + { + "github_handle": "neubig", + "email": "", + "name": "Graham Neubig", + "affiliation": "Carnegie Mellon University / All Hands AI" + }, + { + "github_handle": "neverSettles", + "email": "", + "name": "Chris Settles", + "affiliation": "Operative AI, Inc" + }, + { + "github_handle": "octaviaguo", + "email": "", + "name": "octaviaguo", + "affiliation": "" + }, + { + "github_handle": "omi-n", + "email": "", + "name": "Nabil Omi", + "affiliation": "University of Washington, Microsoft" + }, + { + "github_handle": "orfeas-menis", + "email": "", + "name": "Orfeas Menis", + "affiliation": "" + }, + { + "github_handle": "paraliine", + "email": "", + "name": "Xiaoxuan Peng", + "affiliation": "CQU" + }, + { + "github_handle": "pashpashpash", + "email": "nik@cline.bot", + "name": "pashpashpash", + "affiliation": "vault77.ai" + }, + { + "github_handle": "penfever", + "email": "", + "name": "Ben Feuer", + "affiliation": "" + }, + { + "github_handle": "pfbyjy", + "email": "", + "name": "Meji A", + "affiliation": "" + }, + { + "github_handle": "richardzhuang0412", + "email": "", + "name": "Richard Zhuang", + "affiliation": "" + }, + { + "github_handle": "robertzhidealx", + "email": "0xrobertzhang@gmail.com", + "name": "Robert Zhang", + "affiliation": "" + }, + { + "github_handle": "robinnewhouse", + "email": "", + "name": "Robin Newhouse", + "affiliation": "Cline" + }, + { + "github_handle": "rohitpaulk", + "email": "rohitpaulk@gmail.com", + "name": "Paul Kuruvilla", + "affiliation": "@codecrafters-io" + }, + { + "github_handle": "rootCircle", + "email": "", + "name": "Lab Rat", + "affiliation": "@uber, @iiitl " + }, + { + "github_handle": "rotemtam", + "email": "", + "name": "Rotem Tamir", + "affiliation": "honeybadge.co" + }, + { + "github_handle": "rynewang", + "email": "", + "name": "Ruiyang Wang", + "affiliation": "" + }, + { + "github_handle": "santaboi", + "email": "", + "name": "Jeffrey Yang Fan Chiang", + "affiliation": "University of Maryland College Park" + }, + { + "github_handle": "self-supervisor", + "email": "", + "name": "self-supervisor", + "affiliation": "@VmaxAI " + }, + { + "github_handle": "speed1313", + "email": "", + "name": "Issa Sugiura", + "affiliation": "Kyoto University" + }, + { + "github_handle": "ssatia", + "email": "", + "name": "Sanyam Satia", + "affiliation": "" + }, + { + "github_handle": "stared", + "email": "pmigdal@gmail.com", + "name": "Piotr Migda\u0142", + "affiliation": "ex: Quantum Flytrap CTO & cofounder" + }, + { + "github_handle": "steadyworksai", + "email": "founders@steadyworks.ai", + "name": "Steadyworks", + "affiliation": "" + }, + { + "github_handle": "terryyz", + "email": "terryzhuo25@gmail.com", + "name": "Terry Yue Zhuo", + "affiliation": "" + }, + { + "github_handle": "thdxr", + "email": "mail@thdxr.com", + "name": "Dax", + "affiliation": "" + }, + { + "github_handle": "tlongwell-block", + "email": "", + "name": "tlongwell-block", + "affiliation": "" + }, + { + "github_handle": "tmacie", + "email": "", + "name": "tmacie", + "affiliation": "" + }, + { + "github_handle": "tyler-griggs", + "email": "", + "name": "Tyler Griggs", + "affiliation": "" + }, + { + "github_handle": "vatsj", + "email": "jacobstavrianos@gmail.com", + "name": "Jacob Stavrianos", + "affiliation": "" + }, + { + "github_handle": "xdotli", + "email": "xiangyi@benchflow.ai", + "name": "Xiangyi Li", + "affiliation": "@benchflow-ai" + }, + { + "github_handle": "xianliu", + "email": "lxjsj@fedoraproject.org", + "name": "Xian Liu", + "affiliation": "Meetchances/ex-Bytedance/ex-Redhat" + }, + { + "github_handle": "xiaoxiangmoe", + "email": "", + "name": "ZHAO Jin-Xiang", + "affiliation": "" + }, + { + "github_handle": "zjysteven", + "email": "", + "name": "Jingyang Zhang", + "affiliation": "" + } +] \ No newline at end of file diff --git a/utils/contributors/data/raw_pr_data.json b/utils/contributors/data/raw_pr_data.json new file mode 100644 index 0000000..53ab6d7 --- /dev/null +++ b/utils/contributors/data/raw_pr_data.json @@ -0,0 +1,2990 @@ +[ + { + "pr_number": 1042, + "pr_url": "https://github.com/harbor-framework/harbor/pull/1042", + "author_github_handle": "ThomAub", + "additions": 15, + "deletions": 12, + "pr_title": "Improve Harbor CLI startup time with lazy imports", + "pr_type": "other" + }, + { + "pr_number": 1039, + "pr_url": "https://github.com/harbor-framework/harbor/pull/1039", + "author_github_handle": "EazyReal", + "additions": 11, + "deletions": 5, + "pr_title": "Fix agent install scripts failing when uv env file doesn't exist", + "pr_type": "other" + }, + { + "pr_number": 1022, + "pr_url": "https://github.com/harbor-framework/harbor/pull/1022", + "author_github_handle": "ssatia", + "additions": 100, + "deletions": 3, + "pr_title": "Add reasoning_effort support (--effort flag) to Claude Code agent", + "pr_type": "other" + }, + { + "pr_number": 1021, + "pr_url": "https://github.com/harbor-framework/harbor/pull/1021", + "author_github_handle": "elainelau-hs", + "additions": 35, + "deletions": 20, + "pr_title": "opencode: register model in opencode config to avoid ProviderModelNotFoundError", + "pr_type": "engineering" + }, + { + "pr_number": 1020, + "pr_url": "https://github.com/harbor-framework/harbor/pull/1020", + "author_github_handle": "alexandraabbas", + "additions": 1359, + "deletions": 1359, + "pr_title": "Fix task paths in registry.json for swtbench-verified and swe-lancer-diamond", + "pr_type": "task" + }, + { + "pr_number": 1019, + "pr_url": "https://github.com/harbor-framework/harbor/pull/1019", + "author_github_handle": "arafatkatze", + "additions": 455, + "deletions": 6, + "pr_title": "cline-cli: recover usage from task history", + "pr_type": "task" + }, + { + "pr_number": 1010, + "pr_url": "https://github.com/harbor-framework/harbor/pull/1010", + "author_github_handle": "RyanMarten", + "additions": 89, + "deletions": 173, + "pr_title": "Give quality checker agent access to full task directory via tools", + "pr_type": "task" + }, + { + "pr_number": 1009, + "pr_url": "https://github.com/harbor-framework/harbor/pull/1009", + "author_github_handle": "Ternura143", + "additions": 815, + "deletions": 0, + "pr_title": "[Ready for Review] Add kimi-cli agent", + "pr_type": "other" + }, + { + "pr_number": 998, + "pr_url": "https://github.com/harbor-framework/harbor/pull/998", + "author_github_handle": "Ternura143", + "additions": 293091, + "deletions": 292997, + "pr_title": "[Ready for Review] Standardize registry.json, add CI check, and fix sync", + "pr_type": "engineering" + }, + { + "pr_number": 989, + "pr_url": "https://github.com/harbor-framework/harbor/pull/989", + "author_github_handle": "Chesars", + "additions": 2, + "deletions": 2, + "pr_title": "Fix typos in README.md", + "pr_type": "other" + }, + { + "pr_number": 986, + "pr_url": "https://github.com/harbor-framework/harbor/pull/986", + "author_github_handle": "emrousselle", + "additions": 2, + "deletions": 0, + "pr_title": "Add support for Openrouter (OPENROUTER_API_KEY) in OpenCode agent", + "pr_type": "other" + }, + { + "pr_number": 983, + "pr_url": "https://github.com/harbor-framework/harbor/pull/983", + "author_github_handle": "Ternura143", + "additions": 35, + "deletions": 16, + "pr_title": "[Ready for Review] Fix pagination bug in sync_registry_to_supabase", + "pr_type": "other" + }, + { + "pr_number": 973, + "pr_url": "https://github.com/harbor-framework/harbor/pull/973", + "author_github_handle": "Ternura143", + "additions": 38529, + "deletions": 0, + "pr_title": "[Ready for Review] Restore 9 deleted dataset entries", + "pr_type": "other" + }, + { + "pr_number": 971, + "pr_url": "https://github.com/harbor-framework/harbor/pull/971", + "author_github_handle": "RyanMarten", + "additions": 64, + "deletions": 1, + "pr_title": "Strip canary markers from instruction text", + "pr_type": "other" + }, + { + "pr_number": 967, + "pr_url": "https://github.com/harbor-framework/harbor/pull/967", + "author_github_handle": "josancamon19", + "additions": 1332, + "deletions": 65, + "pr_title": "Add first-class Tinker LLM backend for Terminus-2", + "pr_type": "other" + }, + { + "pr_number": 963, + "pr_url": "https://github.com/harbor-framework/harbor/pull/963", + "author_github_handle": "xiaoxiangmoe", + "additions": 15, + "deletions": 2, + "pr_title": "Add `--agent-env` support to all agents", + "pr_type": "other" + }, + { + "pr_number": 949, + "pr_url": "https://github.com/harbor-framework/harbor/pull/949", + "author_github_handle": "George-ao", + "additions": 40, + "deletions": 2, + "pr_title": "Fix Claude Code trajectory JSONL", + "pr_type": "other" + }, + { + "pr_number": 915, + "pr_url": "https://github.com/harbor-framework/harbor/pull/915", + "author_github_handle": "bd317", + "additions": 237, + "deletions": 1, + "pr_title": "Fix Claude Code thinking blocks lost in ATIF trajectory conversion", + "pr_type": "other" + }, + { + "pr_number": 911, + "pr_url": "https://github.com/harbor-framework/harbor/pull/911", + "author_github_handle": "alexgshaw", + "additions": 799, + "deletions": 20, + "pr_title": "Enable skills in agents.", + "pr_type": "other" + }, + { + "pr_number": 905, + "pr_url": "https://github.com/harbor-framework/harbor/pull/905", + "author_github_handle": "Ternura143", + "additions": 9, + "deletions": 1, + "pr_title": "[Ready For Review] Fix Claude Code double-counting input tokens", + "pr_type": "other" + }, + { + "pr_number": 902, + "pr_url": "https://github.com/harbor-framework/harbor/pull/902", + "author_github_handle": "xiaoxiangmoe", + "additions": 62, + "deletions": 49, + "pr_title": "Lock ruff and ty version", + "pr_type": "other" + }, + { + "pr_number": 900, + "pr_url": "https://github.com/harbor-framework/harbor/pull/900", + "author_github_handle": "luxinyu1", + "additions": 4, + "deletions": 0, + "pr_title": "Pass through CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING env var to claude code agent", + "pr_type": "other" + }, + { + "pr_number": 898, + "pr_url": "https://github.com/harbor-framework/harbor/pull/898", + "author_github_handle": "anishathalye", + "additions": 17, + "deletions": 7, + "pr_title": "Fix MCP support for Cline", + "pr_type": "other" + }, + { + "pr_number": 887, + "pr_url": "https://github.com/harbor-framework/harbor/pull/887", + "author_github_handle": "minjie-cohere", + "additions": 284, + "deletions": 12, + "pr_title": "Fix silent tmux send-keys failure on long commands", + "pr_type": "other" + }, + { + "pr_number": 886, + "pr_url": "https://github.com/harbor-framework/harbor/pull/886", + "author_github_handle": "Riatre", + "additions": 1, + "deletions": 1, + "pr_title": "Do not escape value of docker exec `-e` arguments", + "pr_type": "other" + }, + { + "pr_number": 885, + "pr_url": "https://github.com/harbor-framework/harbor/pull/885", + "author_github_handle": "michaelrglass", + "additions": 73, + "deletions": 6, + "pr_title": "View image artifacts in harbor view", + "pr_type": "other" + }, + { + "pr_number": 876, + "pr_url": "https://github.com/harbor-framework/harbor/pull/876", + "author_github_handle": "jrvb-rl", + "additions": 26, + "deletions": 8, + "pr_title": "Improve Runloop blueprint handling.", + "pr_type": "other" + }, + { + "pr_number": 870, + "pr_url": "https://github.com/harbor-framework/harbor/pull/870", + "author_github_handle": "xiaoxiangmoe", + "additions": 13, + "deletions": 1, + "pr_title": "Add `--environment-import-path` to job config", + "pr_type": "engineering" + }, + { + "pr_number": 862, + "pr_url": "https://github.com/harbor-framework/harbor/pull/862", + "author_github_handle": "jrvb-rl", + "additions": 70, + "deletions": 23, + "pr_title": "Improve error handling and implement correct delete behavior for runloop environment.", + "pr_type": "other" + }, + { + "pr_number": 861, + "pr_url": "https://github.com/harbor-framework/harbor/pull/861", + "author_github_handle": "Chesars", + "additions": 1, + "deletions": 1, + "pr_title": "Fix typo in adapter template README", + "pr_type": "adapter" + }, + { + "pr_number": 859, + "pr_url": "https://github.com/harbor-framework/harbor/pull/859", + "author_github_handle": "anishathalye", + "additions": 28, + "deletions": 0, + "pr_title": "Add type checking to CI", + "pr_type": "engineering" + }, + { + "pr_number": 857, + "pr_url": "https://github.com/harbor-framework/harbor/pull/857", + "author_github_handle": "Ternura143", + "additions": 968, + "deletions": 0, + "pr_title": "[Ready for Review] Add automated adapter review bot for PR validation", + "pr_type": "adapter" + }, + { + "pr_number": 853, + "pr_url": "https://github.com/harbor-framework/harbor/pull/853", + "author_github_handle": "ekellbuch", + "additions": 48, + "deletions": 0, + "pr_title": "Add Ollama configuration example", + "pr_type": "engineering" + }, + { + "pr_number": 846, + "pr_url": "https://github.com/harbor-framework/harbor/pull/846", + "author_github_handle": "zjysteven", + "additions": 21403, + "deletions": 0, + "pr_title": "Add TermiGen environments (https://github.com/ucsb-mlsec/terminal-bench-env)", + "pr_type": "other" + }, + { + "pr_number": 837, + "pr_url": "https://github.com/harbor-framework/harbor/pull/837", + "author_github_handle": "steadyworksai", + "additions": 13, + "deletions": 13, + "pr_title": "fix: use line-buffered tee for real-time agent log monitoring", + "pr_type": "other" + }, + { + "pr_number": 817, + "pr_url": "https://github.com/harbor-framework/harbor/pull/817", + "author_github_handle": "neginraoof", + "additions": 607, + "deletions": 0, + "pr_title": "Add OT-TerminalBench-Dev dataset (100 tasks)", + "pr_type": "task" + }, + { + "pr_number": 815, + "pr_url": "https://github.com/harbor-framework/harbor/pull/815", + "author_github_handle": "BauerJustin", + "additions": 557, + "deletions": 126, + "pr_title": "Update tasks check to use Claude Agents SDK + ingest rubrics file", + "pr_type": "task" + }, + { + "pr_number": 804, + "pr_url": "https://github.com/harbor-framework/harbor/pull/804", + "author_github_handle": "xiaoxiangmoe", + "additions": 1, + "deletions": 0, + "pr_title": "Set pull_policy to build in docker-compose build", + "pr_type": "engineering" + }, + { + "pr_number": 803, + "pr_url": "https://github.com/harbor-framework/harbor/pull/803", + "author_github_handle": "robinnewhouse", + "additions": 0, + "deletions": 1, + "pr_title": "cline: remove unsupported 'cline instance kill -a' command", + "pr_type": "other" + }, + { + "pr_number": 797, + "pr_url": "https://github.com/harbor-framework/harbor/pull/797", + "author_github_handle": "Ternura143", + "additions": 3, + "deletions": 4, + "pr_title": "[Ready for Review] Update parity comparison table in adapter readme template", + "pr_type": "adapter" + }, + { + "pr_number": 795, + "pr_url": "https://github.com/harbor-framework/harbor/pull/795", + "author_github_handle": "xiaoxiangmoe", + "additions": 142, + "deletions": 17, + "pr_title": "Add specific phase timeout multipliers", + "pr_type": "engineering" + }, + { + "pr_number": 780, + "pr_url": "https://github.com/harbor-framework/harbor/pull/780", + "author_github_handle": "crystalxyz", + "additions": 5, + "deletions": 2, + "pr_title": "[Ready for Review] Update adapter readme template for authors and contributions section", + "pr_type": "adapter" + }, + { + "pr_number": 777, + "pr_url": "https://github.com/harbor-framework/harbor/pull/777", + "author_github_handle": "xiaoxiangmoe", + "additions": 5, + "deletions": 5, + "pr_title": "Wait for the actual container startup in DockerEnvironment.start", + "pr_type": "other" + }, + { + "pr_number": 776, + "pr_url": "https://github.com/harbor-framework/harbor/pull/776", + "author_github_handle": "xiaoxiangmoe", + "additions": 9, + "deletions": 16, + "pr_title": "Fix the bug that `| tee` in verifier call may hang forever", + "pr_type": "other" + }, + { + "pr_number": 772, + "pr_url": "https://github.com/harbor-framework/harbor/pull/772", + "author_github_handle": "alexgshaw", + "additions": 919, + "deletions": 115, + "pr_title": "Add comprehensive trajectory conversion for mini-swe-agent formats", + "pr_type": "engineering" + }, + { + "pr_number": 771, + "pr_url": "https://github.com/harbor-framework/harbor/pull/771", + "author_github_handle": "rynewang", + "additions": 3, + "deletions": 3, + "pr_title": "Fix hello-alpine reward.txt containing pytest output", + "pr_type": "engineering" + }, + { + "pr_number": 769, + "pr_url": "https://github.com/harbor-framework/harbor/pull/769", + "author_github_handle": "rynewang", + "additions": 1045, + "deletions": 232, + "pr_title": "Add Docker Compose (DinD) support for Daytona environment", + "pr_type": "other" + }, + { + "pr_number": 767, + "pr_url": "https://github.com/harbor-framework/harbor/pull/767", + "author_github_handle": "rynewang", + "additions": 3, + "deletions": 3, + "pr_title": "Fix hello-mcp example to use streamable-http transport", + "pr_type": "other" + }, + { + "pr_number": 757, + "pr_url": "https://github.com/harbor-framework/harbor/pull/757", + "author_github_handle": "xiaoxiangmoe", + "additions": 14, + "deletions": 14, + "pr_title": "Allow prompts starting with `-`", + "pr_type": "other" + }, + { + "pr_number": 755, + "pr_url": "https://github.com/harbor-framework/harbor/pull/755", + "author_github_handle": "xiaoxiangmoe", + "additions": 2, + "deletions": 2, + "pr_title": "add procps to prevent process crashes when claude-code call tree-kill", + "pr_type": "other" + }, + { + "pr_number": 738, + "pr_url": "https://github.com/harbor-framework/harbor/pull/738", + "author_github_handle": "neubig", + "additions": 709, + "deletions": 0, + "pr_title": "Add OpenHands v1 SDK agent adapter", + "pr_type": "adapter" + }, + { + "pr_number": 737, + "pr_url": "https://github.com/harbor-framework/harbor/pull/737", + "author_github_handle": "huangkicn", + "additions": 218, + "deletions": 4, + "pr_title": "Add Amazon Bedrock support for Claude Code agent", + "pr_type": "other" + }, + { + "pr_number": 722, + "pr_url": "https://github.com/harbor-framework/harbor/pull/722", + "author_github_handle": "xiaoxiangmoe", + "additions": 57, + "deletions": 33, + "pr_title": "Use `bach -c` rather than `bash -lc`", + "pr_type": "other" + }, + { + "pr_number": 705, + "pr_url": "https://github.com/harbor-framework/harbor/pull/705", + "author_github_handle": "josancamon19", + "additions": 42, + "deletions": 10, + "pr_title": "feat: add multi-job support to harbor jobs summarize", + "pr_type": "other" + }, + { + "pr_number": 700, + "pr_url": "https://github.com/harbor-framework/harbor/pull/700", + "author_github_handle": "lurf21", + "additions": 1, + "deletions": 3, + "pr_title": "fix openhands reasoning_effort", + "pr_type": "other" + }, + { + "pr_number": 686, + "pr_url": "https://github.com/harbor-framework/harbor/pull/686", + "author_github_handle": "CharlieFRuan", + "additions": 5, + "deletions": 8, + "pr_title": "[Terminus] Fix `n_episodes` counting when error out", + "pr_type": "other" + }, + { + "pr_number": 662, + "pr_url": "https://github.com/harbor-framework/harbor/pull/662", + "author_github_handle": "jakozaur", + "additions": 6722, + "deletions": 6560, + "pr_title": "Add otel-bench benchmark to registry.json", + "pr_type": "other" + }, + { + "pr_number": 661, + "pr_url": "https://github.com/harbor-framework/harbor/pull/661", + "author_github_handle": "jakozaur", + "additions": 6842, + "deletions": 6560, + "pr_title": "Add binary-audit benchmark to registry.json", + "pr_type": "other" + }, + { + "pr_number": 658, + "pr_url": "https://github.com/harbor-framework/harbor/pull/658", + "author_github_handle": "KunWuLuan", + "additions": 4, + "deletions": 3, + "pr_title": "fix(swe_agent): support multiple API key variables from model name", + "pr_type": "other" + }, + { + "pr_number": 655, + "pr_url": "https://github.com/harbor-framework/harbor/pull/655", + "author_github_handle": "anishathalye", + "additions": 174, + "deletions": 2, + "pr_title": "Add MCP support for OpenHands", + "pr_type": "other" + }, + { + "pr_number": 653, + "pr_url": "https://github.com/harbor-framework/harbor/pull/653", + "author_github_handle": "CharlieFRuan", + "additions": 125, + "deletions": 2, + "pr_title": "[Terminus] Do not retry on ContextLengthExceededError when enable_summarize=False", + "pr_type": "other" + }, + { + "pr_number": 652, + "pr_url": "https://github.com/harbor-framework/harbor/pull/652", + "author_github_handle": "WingchunSiu", + "additions": 21, + "deletions": 4, + "pr_title": "Add llm_call_kwargs to Terminus2 for per-call LLM parameter", + "pr_type": "other" + }, + { + "pr_number": 651, + "pr_url": "https://github.com/harbor-framework/harbor/pull/651", + "author_github_handle": "CharlieFRuan", + "additions": 42, + "deletions": 7, + "pr_title": "[Env] Make sandbox lifecycle timeouts configurable via environment kwargs", + "pr_type": "engineering" + }, + { + "pr_number": 650, + "pr_url": "https://github.com/harbor-framework/harbor/pull/650", + "author_github_handle": "CharlieFRuan", + "additions": 52, + "deletions": 13, + "pr_title": "[Modal] Add tenacity to modal just like daytona", + "pr_type": "engineering" + }, + { + "pr_number": 643, + "pr_url": "https://github.com/harbor-framework/harbor/pull/643", + "author_github_handle": "josancamon19", + "additions": 18, + "deletions": 4, + "pr_title": "fix: Gemini CLI ATIF trajectory conversion for harbor view", + "pr_type": "other" + }, + { + "pr_number": 640, + "pr_url": "https://github.com/harbor-framework/harbor/pull/640", + "author_github_handle": "asadoughi", + "additions": 194, + "deletions": 4, + "pr_title": "Support passing arbitrary env vars", + "pr_type": "other" + }, + { + "pr_number": 638, + "pr_url": "https://github.com/harbor-framework/harbor/pull/638", + "author_github_handle": "StevenDillmann", + "additions": 7, + "deletions": 6, + "pr_title": "Revise citation section in README.md", + "pr_type": "engineering" + }, + { + "pr_number": 637, + "pr_url": "https://github.com/harbor-framework/harbor/pull/637", + "author_github_handle": "StevenDillmann", + "additions": 0, + "deletions": 1, + "pr_title": "Remove version in CITATION.cff", + "pr_type": "engineering" + }, + { + "pr_number": 632, + "pr_url": "https://github.com/harbor-framework/harbor/pull/632", + "author_github_handle": "ZhengShenghan", + "additions": 10, + "deletions": 0, + "pr_title": "[FIX] add -max-turn support in claude adapter", + "pr_type": "adapter" + }, + { + "pr_number": 631, + "pr_url": "https://github.com/harbor-framework/harbor/pull/631", + "author_github_handle": "michaelrglass", + "additions": 46, + "deletions": 5, + "pr_title": "Support default values in env var templates", + "pr_type": "other" + }, + { + "pr_number": 629, + "pr_url": "https://github.com/harbor-framework/harbor/pull/629", + "author_github_handle": "harvenstar", + "additions": 3859, + "deletions": 0, + "pr_title": "[Ready for Review] Adapter: DABstep", + "pr_type": "adapter" + }, + { + "pr_number": 628, + "pr_url": "https://github.com/harbor-framework/harbor/pull/628", + "author_github_handle": "AlienKevin", + "additions": 4572, + "deletions": 0, + "pr_title": "[Ready for Review] Adapter: MedAgentBench", + "pr_type": "adapter" + }, + { + "pr_number": 627, + "pr_url": "https://github.com/harbor-framework/harbor/pull/627", + "author_github_handle": "beran-t", + "additions": 5, + "deletions": 1, + "pr_title": "Fix E2B exec() throwing on non-zero exit codes", + "pr_type": "other" + }, + { + "pr_number": 603, + "pr_url": "https://github.com/harbor-framework/harbor/pull/603", + "author_github_handle": "alexgshaw", + "additions": 548, + "deletions": 35, + "pr_title": "Add Responses API support for Terminus", + "pr_type": "other" + }, + { + "pr_number": 593, + "pr_url": "https://github.com/harbor-framework/harbor/pull/593", + "author_github_handle": "CharlieFRuan", + "additions": 0, + "deletions": 6, + "pr_title": "[LLMs] Remove ParseError as it is not used anywhere", + "pr_type": "other" + }, + { + "pr_number": 592, + "pr_url": "https://github.com/harbor-framework/harbor/pull/592", + "author_github_handle": "CharlieFRuan", + "additions": 0, + "deletions": 4, + "pr_title": "[Trial] Remove EnvironmentBuildTimeoutError since it is not used", + "pr_type": "engineering" + }, + { + "pr_number": 589, + "pr_url": "https://github.com/harbor-framework/harbor/pull/589", + "author_github_handle": "dot-agi", + "additions": 172, + "deletions": 3, + "pr_title": "Fix Docker environment directory nesting and stale container bugs", + "pr_type": "other" + }, + { + "pr_number": 586, + "pr_url": "https://github.com/harbor-framework/harbor/pull/586", + "author_github_handle": "tmacie", + "additions": 6, + "deletions": 8, + "pr_title": "Fix modal gpu selection", + "pr_type": "other" + }, + { + "pr_number": 585, + "pr_url": "https://github.com/harbor-framework/harbor/pull/585", + "author_github_handle": "arafatkatze", + "additions": 755, + "deletions": 26, + "pr_title": "Fix Cline Provider to support new Auth/CLI config", + "pr_type": "engineering" + }, + { + "pr_number": 581, + "pr_url": "https://github.com/harbor-framework/harbor/pull/581", + "author_github_handle": "bochencs", + "additions": 1916, + "deletions": 0, + "pr_title": "[Ready for review] Adapter: GAIA", + "pr_type": "adapter" + }, + { + "pr_number": 580, + "pr_url": "https://github.com/harbor-framework/harbor/pull/580", + "author_github_handle": "Slimshilin", + "additions": 76, + "deletions": 0, + "pr_title": "Add parity API instructions for adapter experiments", + "pr_type": "adapter" + }, + { + "pr_number": 579, + "pr_url": "https://github.com/harbor-framework/harbor/pull/579", + "author_github_handle": "Slimshilin", + "additions": 3, + "deletions": 0, + "pr_title": "[Ready to merge] OPENAI_BASE_URL support for codex.", + "pr_type": "other" + }, + { + "pr_number": 577, + "pr_url": "https://github.com/harbor-framework/harbor/pull/577", + "author_github_handle": "Michaelsqj", + "additions": 8263, + "deletions": 0, + "pr_title": "add seta env to registry.json", + "pr_type": "other" + }, + { + "pr_number": 566, + "pr_url": "https://github.com/harbor-framework/harbor/pull/566", + "author_github_handle": "StevenDillmann", + "additions": 4, + "deletions": 11, + "pr_title": "Update CITATION.cff", + "pr_type": "engineering" + }, + { + "pr_number": 564, + "pr_url": "https://github.com/harbor-framework/harbor/pull/564", + "author_github_handle": "StevenDillmann", + "additions": 3, + "deletions": 3, + "pr_title": "Update title in citation section in README.md", + "pr_type": "engineering" + }, + { + "pr_number": 563, + "pr_url": "https://github.com/harbor-framework/harbor/pull/563", + "author_github_handle": "self-supervisor", + "additions": 6266, + "deletions": 0, + "pr_title": "Vmax tasks", + "pr_type": "task" + }, + { + "pr_number": 561, + "pr_url": "https://github.com/harbor-framework/harbor/pull/561", + "author_github_handle": "CharlieFRuan", + "additions": 36, + "deletions": 24, + "pr_title": "[Env] Add EnvironmentConfig.suppress_override_warnings and Terminus kwarg suppress_max_turns_warning", + "pr_type": "engineering" + }, + { + "pr_number": 560, + "pr_url": "https://github.com/harbor-framework/harbor/pull/560", + "author_github_handle": "StevenDillmann", + "additions": 1, + "deletions": 1, + "pr_title": "Fix author formatting in citation", + "pr_type": "engineering" + }, + { + "pr_number": 556, + "pr_url": "https://github.com/harbor-framework/harbor/pull/556", + "author_github_handle": "StevenDillmann", + "additions": 11, + "deletions": 2, + "pr_title": "Update citation section in README.md", + "pr_type": "engineering" + }, + { + "pr_number": 550, + "pr_url": "https://github.com/harbor-framework/harbor/pull/550", + "author_github_handle": "Ji-Pengliang", + "additions": 1, + "deletions": 1, + "pr_title": "Add --n-attempts 2 to arc_agi_2 reproduction command", + "pr_type": "other" + }, + { + "pr_number": 549, + "pr_url": "https://github.com/harbor-framework/harbor/pull/549", + "author_github_handle": "neverSettles", + "additions": 1748, + "deletions": 122, + "pr_title": "ATIF 1.5->1.6: Support multimodal trajectories", + "pr_type": "other" + }, + { + "pr_number": 539, + "pr_url": "https://github.com/harbor-framework/harbor/pull/539", + "author_github_handle": "dot-agi", + "additions": 278, + "deletions": 18, + "pr_title": "Fix NVM sourcing failure with strict mode", + "pr_type": "engineering" + }, + { + "pr_number": 535, + "pr_url": "https://github.com/harbor-framework/harbor/pull/535", + "author_github_handle": "ZhengShenghan", + "additions": 12, + "deletions": 1, + "pr_title": "[Ready for Review] BUG-FIX: fix gemini-cli skill loading failure", + "pr_type": "other" + }, + { + "pr_number": 530, + "pr_url": "https://github.com/harbor-framework/harbor/pull/530", + "author_github_handle": "speed1313", + "additions": 26791, + "deletions": 1, + "pr_title": "[Ready for Review] Adapter: SimpleQA", + "pr_type": "adapter" + }, + { + "pr_number": 527, + "pr_url": "https://github.com/harbor-framework/harbor/pull/527", + "author_github_handle": "penfever", + "additions": 1316, + "deletions": 9, + "pr_title": "Queue orchestrator", + "pr_type": "other" + }, + { + "pr_number": 526, + "pr_url": "https://github.com/harbor-framework/harbor/pull/526", + "author_github_handle": "penfever", + "additions": 48, + "deletions": 23, + "pr_title": "OpenHands Improvements", + "pr_type": "other" + }, + { + "pr_number": 525, + "pr_url": "https://github.com/harbor-framework/harbor/pull/525", + "author_github_handle": "Evangelink", + "additions": 285, + "deletions": 99, + "pr_title": "Add support for running harbor on Windows", + "pr_type": "other" + }, + { + "pr_number": 524, + "pr_url": "https://github.com/harbor-framework/harbor/pull/524", + "author_github_handle": "CharlieFRuan", + "additions": 28, + "deletions": 30, + "pr_title": "[terminus] Remove _logger and use BaseAgent logger directly", + "pr_type": "other" + }, + { + "pr_number": 518, + "pr_url": "https://github.com/harbor-framework/harbor/pull/518", + "author_github_handle": "chenzizhao", + "additions": 4, + "deletions": 2, + "pr_title": "Revise bixbench README with known issue and task details", + "pr_type": "task" + }, + { + "pr_number": 516, + "pr_url": "https://github.com/harbor-framework/harbor/pull/516", + "author_github_handle": "Slimshilin", + "additions": 8899, + "deletions": 10863, + "pr_title": "remove aider-polyglot and livecodebench duplicates", + "pr_type": "other" + }, + { + "pr_number": 515, + "pr_url": "https://github.com/harbor-framework/harbor/pull/515", + "author_github_handle": "mieciu", + "additions": 5, + "deletions": 1, + "pr_title": "Fix openrouter model name ", + "pr_type": "other" + }, + { + "pr_number": 513, + "pr_url": "https://github.com/harbor-framework/harbor/pull/513", + "author_github_handle": "likaixin2000", + "additions": 2, + "deletions": 2, + "pr_title": "Fix error message formatting for invalid agent names", + "pr_type": "engineering" + }, + { + "pr_number": 512, + "pr_url": "https://github.com/harbor-framework/harbor/pull/512", + "author_github_handle": "RishiDesai", + "additions": 33022, + "deletions": 27015, + "pr_title": "registry for swe-gen-js", + "pr_type": "other" + }, + { + "pr_number": 507, + "pr_url": "https://github.com/harbor-framework/harbor/pull/507", + "author_github_handle": "MarcoRossignoli", + "additions": 9, + "deletions": 2, + "pr_title": "Support large dataset downloads on Windows", + "pr_type": "other" + }, + { + "pr_number": 506, + "pr_url": "https://github.com/harbor-framework/harbor/pull/506", + "author_github_handle": "luxinyu1", + "additions": 6, + "deletions": 10, + "pr_title": "Fix Claude Code trajectory extraction when subagents are used", + "pr_type": "other" + }, + { + "pr_number": 499, + "pr_url": "https://github.com/harbor-framework/harbor/pull/499", + "author_github_handle": "rohitpaulk", + "additions": 23, + "deletions": 4, + "pr_title": "[Ready for review] Raise RuntimeError for agent setup failures", + "pr_type": "other" + }, + { + "pr_number": 495, + "pr_url": "https://github.com/harbor-framework/harbor/pull/495", + "author_github_handle": "alexgshaw", + "additions": 6119, + "deletions": 4693, + "pr_title": "Claude/add package dashboard lxufb", + "pr_type": "other" + }, + { + "pr_number": 489, + "pr_url": "https://github.com/harbor-framework/harbor/pull/489", + "author_github_handle": "michaelrglass", + "additions": 1, + "deletions": 1, + "pr_title": "Fix docker environment to treat empty docker_image as no prebuilt image", + "pr_type": "other" + }, + { + "pr_number": 485, + "pr_url": "https://github.com/harbor-framework/harbor/pull/485", + "author_github_handle": "Guangy627", + "additions": 2, + "deletions": 2, + "pr_title": "Fix/trajectorydump", + "pr_type": "other" + }, + { + "pr_number": 481, + "pr_url": "https://github.com/harbor-framework/harbor/pull/481", + "author_github_handle": "vatsj", + "additions": 3, + "deletions": 0, + "pr_title": "suppress daytona container auto-shutdown", + "pr_type": "other" + }, + { + "pr_number": 476, + "pr_url": "https://github.com/harbor-framework/harbor/pull/476", + "author_github_handle": "alexgshaw", + "additions": 857, + "deletions": 465, + "pr_title": "Improve terminal bench mapper functionality", + "pr_type": "other" + }, + { + "pr_number": 475, + "pr_url": "https://github.com/harbor-framework/harbor/pull/475", + "author_github_handle": "li-boxuan", + "additions": 3, + "deletions": 100, + "pr_title": "Revert litellm hack for OpenHands", + "pr_type": "other" + }, + { + "pr_number": 472, + "pr_url": "https://github.com/harbor-framework/harbor/pull/472", + "author_github_handle": "chenzizhao", + "additions": 5502, + "deletions": 4265, + "pr_title": "Update registry with bixbench-cli", + "pr_type": "other" + }, + { + "pr_number": 470, + "pr_url": "https://github.com/harbor-framework/harbor/pull/470", + "author_github_handle": "connor-cognition", + "additions": 13, + "deletions": 1, + "pr_title": "feat: add secret and volume support to modal environment", + "pr_type": "other" + }, + { + "pr_number": 468, + "pr_url": "https://github.com/harbor-framework/harbor/pull/468", + "author_github_handle": "alexgshaw", + "additions": 217, + "deletions": 72, + "pr_title": "feat(hooks): add job-level named hook methods for trial lifecycle events", + "pr_type": "other" + }, + { + "pr_number": 467, + "pr_url": "https://github.com/harbor-framework/harbor/pull/467", + "author_github_handle": "james-rl", + "additions": 107, + "deletions": 46, + "pr_title": "Prefer prebuilt images when running with runloop env", + "pr_type": "other" + }, + { + "pr_number": 466, + "pr_url": "https://github.com/harbor-framework/harbor/pull/466", + "author_github_handle": "LithiumDA", + "additions": 1, + "deletions": 1, + "pr_title": "fix (adapter): registery", + "pr_type": "adapter" + }, + { + "pr_number": 465, + "pr_url": "https://github.com/harbor-framework/harbor/pull/465", + "author_github_handle": "penfever", + "additions": 67, + "deletions": 39, + "pr_title": "[FEATURE] Close old log handlers after trial returns", + "pr_type": "other" + }, + { + "pr_number": 464, + "pr_url": "https://github.com/harbor-framework/harbor/pull/464", + "author_github_handle": "Yiozolm", + "additions": 10, + "deletions": 4, + "pr_title": "Add support for GLM models", + "pr_type": "other" + }, + { + "pr_number": 459, + "pr_url": "https://github.com/harbor-framework/harbor/pull/459", + "author_github_handle": "xdotli", + "additions": 4, + "deletions": 1, + "pr_title": "fix(claude-code): CLAUDE_CONFIG_DIR giving errors for accessing .claude folder", + "pr_type": "engineering" + }, + { + "pr_number": 458, + "pr_url": "https://github.com/harbor-framework/harbor/pull/458", + "author_github_handle": "harshraj172", + "additions": 413, + "deletions": 31, + "pr_title": "add codex trajectory.json back", + "pr_type": "other" + }, + { + "pr_number": 457, + "pr_url": "https://github.com/harbor-framework/harbor/pull/457", + "author_github_handle": "connor-cognition", + "additions": 280, + "deletions": 7, + "pr_title": "chore: pin modal sdk to `1.3.1.dev9`", + "pr_type": "engineering" + }, + { + "pr_number": 456, + "pr_url": "https://github.com/harbor-framework/harbor/pull/456", + "author_github_handle": "michaelrglass", + "additions": 1, + "deletions": 1, + "pr_title": "Stderr was being lost by redirecting to stdout after the tee command", + "pr_type": "other" + }, + { + "pr_number": 452, + "pr_url": "https://github.com/harbor-framework/harbor/pull/452", + "author_github_handle": "DannyGooo", + "additions": 23, + "deletions": 2, + "pr_title": "[Ready for Review] Adapter: Spider2 - Experiment with Harbor-supported agents", + "pr_type": "adapter" + }, + { + "pr_number": 451, + "pr_url": "https://github.com/harbor-framework/harbor/pull/451", + "author_github_handle": "chenzizhao", + "additions": 145, + "deletions": 28, + "pr_title": "[ready for review] bixbench-cli addition", + "pr_type": "other" + }, + { + "pr_number": 446, + "pr_url": "https://github.com/harbor-framework/harbor/pull/446", + "author_github_handle": "octaviaguo", + "additions": 162, + "deletions": 153, + "pr_title": "Update StrongReject adapter with new registry", + "pr_type": "adapter" + }, + { + "pr_number": 444, + "pr_url": "https://github.com/harbor-framework/harbor/pull/444", + "author_github_handle": "StevenDillmann", + "additions": 36, + "deletions": 4, + "pr_title": "Make reasoning parameters configurable via kwargs", + "pr_type": "engineering" + }, + { + "pr_number": 440, + "pr_url": "https://github.com/harbor-framework/harbor/pull/440", + "author_github_handle": "linhaowei1", + "additions": 3207, + "deletions": 0, + "pr_title": "[Ready for Review] Adapter: Algotune", + "pr_type": "adapter" + }, + { + "pr_number": 438, + "pr_url": "https://github.com/harbor-framework/harbor/pull/438", + "author_github_handle": "linhaowei1", + "additions": 10, + "deletions": 3, + "pr_title": "[BugFix] Fix hello-world registry format", + "pr_type": "engineering" + }, + { + "pr_number": 436, + "pr_url": "https://github.com/harbor-framework/harbor/pull/436", + "author_github_handle": "DannyGooo", + "additions": 2693, + "deletions": 0, + "pr_title": "[Ready for Review] Adapter: Spider2", + "pr_type": "adapter" + }, + { + "pr_number": 435, + "pr_url": "https://github.com/harbor-framework/harbor/pull/435", + "author_github_handle": "ibercovich", + "additions": 7, + "deletions": 0, + "pr_title": "Fix graceful shutdown on SIGTERM", + "pr_type": "other" + }, + { + "pr_number": 434, + "pr_url": "https://github.com/harbor-framework/harbor/pull/434", + "author_github_handle": "HaishuoFang", + "additions": 172, + "deletions": 87, + "pr_title": "Fix ruff check error for financeagent Adapter", + "pr_type": "adapter" + }, + { + "pr_number": 432, + "pr_url": "https://github.com/harbor-framework/harbor/pull/432", + "author_github_handle": "killthefullmoon", + "additions": 7849, + "deletions": 904, + "pr_title": "[Ready for Review] Adapter: DS1000", + "pr_type": "adapter" + }, + { + "pr_number": 424, + "pr_url": "https://github.com/harbor-framework/harbor/pull/424", + "author_github_handle": "linhaowei1", + "additions": 14, + "deletions": 14, + "pr_title": "[FIX] Update Parity for Adapter: AutoCodeBench", + "pr_type": "adapter" + }, + { + "pr_number": 420, + "pr_url": "https://github.com/harbor-framework/harbor/pull/420", + "author_github_handle": "li-boxuan", + "additions": 0, + "deletions": 1, + "pr_title": "Fix: Remove duplicate error_msg in OutputLengthExceededError handling", + "pr_type": "other" + }, + { + "pr_number": 418, + "pr_url": "https://github.com/harbor-framework/harbor/pull/418", + "author_github_handle": "Anjiang-Wei", + "additions": 7, + "deletions": 9, + "pr_title": "Remove repository path setup from run_adapter.py to fix ruff error", + "pr_type": "adapter" + }, + { + "pr_number": 415, + "pr_url": "https://github.com/harbor-framework/harbor/pull/415", + "author_github_handle": "HOU-SZ", + "additions": 257013, + "deletions": 251746, + "pr_title": "[Ready for Review] Adapter: BIRD-Bench", + "pr_type": "adapter" + }, + { + "pr_number": 414, + "pr_url": "https://github.com/harbor-framework/harbor/pull/414", + "author_github_handle": "lijrjyan", + "additions": 67264, + "deletions": 0, + "pr_title": "[Ready for Review] Adapter: KUMO", + "pr_type": "adapter" + }, + { + "pr_number": 403, + "pr_url": "https://github.com/harbor-framework/harbor/pull/403", + "author_github_handle": "1171-jpg", + "additions": 1836, + "deletions": 0, + "pr_title": "[Ready for Review] Adapter: Ineqmath", + "pr_type": "adapter" + }, + { + "pr_number": 402, + "pr_url": "https://github.com/harbor-framework/harbor/pull/402", + "author_github_handle": "xianliu", + "additions": 2116, + "deletions": 0, + "pr_title": "[Ready for Review] Add crustbench adapter", + "pr_type": "adapter" + }, + { + "pr_number": 401, + "pr_url": "https://github.com/harbor-framework/harbor/pull/401", + "author_github_handle": "Ji-Pengliang", + "additions": 1, + "deletions": 1, + "pr_title": "update arc-agi-2 parity test pr", + "pr_type": "engineering" + }, + { + "pr_number": 399, + "pr_url": "https://github.com/harbor-framework/harbor/pull/399", + "author_github_handle": "nandatheguntupalli", + "additions": 74, + "deletions": 11, + "pr_title": "Enhance documentation and structure in CLAUDE.md and README.md", + "pr_type": "other" + }, + { + "pr_number": 395, + "pr_url": "https://github.com/harbor-framework/harbor/pull/395", + "author_github_handle": "Anjiang-Wei", + "additions": 13408, + "deletions": 1, + "pr_title": "[Ready for Review] Adapter: SATBench", + "pr_type": "adapter" + }, + { + "pr_number": 394, + "pr_url": "https://github.com/harbor-framework/harbor/pull/394", + "author_github_handle": "alexgshaw", + "additions": 12, + "deletions": 40, + "pr_title": "Remove verbose flag and show task counts", + "pr_type": "task" + }, + { + "pr_number": 388, + "pr_url": "https://github.com/harbor-framework/harbor/pull/388", + "author_github_handle": "alexgshaw", + "additions": 2565, + "deletions": 584, + "pr_title": "Postgres registry", + "pr_type": "other" + }, + { + "pr_number": 380, + "pr_url": "https://github.com/harbor-framework/harbor/pull/380", + "author_github_handle": "hanxu12", + "additions": 7030, + "deletions": 1, + "pr_title": "[Ready for Review] Adapter: LawBench", + "pr_type": "adapter" + }, + { + "pr_number": 376, + "pr_url": "https://github.com/harbor-framework/harbor/pull/376", + "author_github_handle": "kanazawa-asyncio", + "additions": 1208, + "deletions": 1, + "pr_title": "feat(registry): add Alibaba terminal-bench-pro dataset", + "pr_type": "other" + }, + { + "pr_number": 367, + "pr_url": "https://github.com/harbor-framework/harbor/pull/367", + "author_github_handle": "stared", + "additions": 104, + "deletions": 7, + "pr_title": "Viewer cost estimate with LiteLLM", + "pr_type": "other" + }, + { + "pr_number": 364, + "pr_url": "https://github.com/harbor-framework/harbor/pull/364", + "author_github_handle": "li-boxuan", + "additions": 23, + "deletions": 13, + "pr_title": "Fix unit test failure in lite_llm.py", + "pr_type": "engineering" + }, + { + "pr_number": 363, + "pr_url": "https://github.com/harbor-framework/harbor/pull/363", + "author_github_handle": "octaviaguo", + "additions": 3309, + "deletions": 0, + "pr_title": "[Ready for Review] Adapter: StrongReject", + "pr_type": "adapter" + }, + { + "pr_number": 362, + "pr_url": "https://github.com/harbor-framework/harbor/pull/362", + "author_github_handle": "alexgshaw", + "additions": 2, + "deletions": 6, + "pr_title": "Fix AttributeError when accessing default environment type in CLI", + "pr_type": "other" + }, + { + "pr_number": 361, + "pr_url": "https://github.com/harbor-framework/harbor/pull/361", + "author_github_handle": "alexgshaw", + "additions": 1, + "deletions": 1, + "pr_title": "Change -a shorthand in start-env from --agent to --all", + "pr_type": "other" + }, + { + "pr_number": 360, + "pr_url": "https://github.com/harbor-framework/harbor/pull/360", + "author_github_handle": "alexgshaw", + "additions": 17, + "deletions": 12, + "pr_title": "Restrict environment variables passed to Oracle container", + "pr_type": "other" + }, + { + "pr_number": 359, + "pr_url": "https://github.com/harbor-framework/harbor/pull/359", + "author_github_handle": "alexgshaw", + "additions": 21, + "deletions": 1, + "pr_title": "Add include-standard-metadata option to tasks init", + "pr_type": "task" + }, + { + "pr_number": 358, + "pr_url": "https://github.com/harbor-framework/harbor/pull/358", + "author_github_handle": "Ternura143", + "additions": 24649, + "deletions": 0, + "pr_title": "[Ready for Review - Final Fix] Adapter: bfcl", + "pr_type": "adapter" + }, + { + "pr_number": 351, + "pr_url": "https://github.com/harbor-framework/harbor/pull/351", + "author_github_handle": "EstelYang", + "additions": 68583, + "deletions": 67032, + "pr_title": "[Ready for Review] Adapter: QCircuitBench", + "pr_type": "adapter" + }, + { + "pr_number": 350, + "pr_url": "https://github.com/harbor-framework/harbor/pull/350", + "author_github_handle": "li-boxuan", + "additions": 111, + "deletions": 6, + "pr_title": "Add get model limit utility and fix Terminus-2 error message", + "pr_type": "other" + }, + { + "pr_number": 346, + "pr_url": "https://github.com/harbor-framework/harbor/pull/346", + "author_github_handle": "Hangzhi", + "additions": 1768, + "deletions": 0, + "pr_title": "[Ready for review -Final Fix] Quixbugs adapter", + "pr_type": "adapter" + }, + { + "pr_number": 343, + "pr_url": "https://github.com/harbor-framework/harbor/pull/343", + "author_github_handle": "rootCircle", + "additions": 40, + "deletions": 2, + "pr_title": "Fix: normalize `--path .` to absolute to prevent invalid Docker tags", + "pr_type": "other" + }, + { + "pr_number": 341, + "pr_url": "https://github.com/harbor-framework/harbor/pull/341", + "author_github_handle": "li-boxuan", + "additions": 9, + "deletions": 9, + "pr_title": "Bump OpenHands to 1.0.0 in tests and update gold trajectories & traces", + "pr_type": "engineering" + }, + { + "pr_number": 339, + "pr_url": "https://github.com/harbor-framework/harbor/pull/339", + "author_github_handle": "penfever", + "additions": 139, + "deletions": 9, + "pr_title": "[FEATURE] Improve LiteLLM Handling of vLLM Hosted Models ", + "pr_type": "other" + }, + { + "pr_number": 337, + "pr_url": "https://github.com/harbor-framework/harbor/pull/337", + "author_github_handle": "penfever", + "additions": 9, + "deletions": 0, + "pr_title": "[TINY] Increase tmux history limit", + "pr_type": "other" + }, + { + "pr_number": 336, + "pr_url": "https://github.com/harbor-framework/harbor/pull/336", + "author_github_handle": "penfever", + "additions": 16, + "deletions": 2, + "pr_title": "[TINY] Warn user if required model_info is left unset", + "pr_type": "other" + }, + { + "pr_number": 333, + "pr_url": "https://github.com/harbor-framework/harbor/pull/333", + "author_github_handle": "pfbyjy", + "additions": 57, + "deletions": 19, + "pr_title": "Update claude_code.py to allow access to all tools", + "pr_type": "other" + }, + { + "pr_number": 330, + "pr_url": "https://github.com/harbor-framework/harbor/pull/330", + "author_github_handle": "terryyz", + "additions": 10081, + "deletions": 0, + "pr_title": "[Ready for Review - fixing] Adapter: BigCodeBench-Hard", + "pr_type": "adapter" + }, + { + "pr_number": 327, + "pr_url": "https://github.com/harbor-framework/harbor/pull/327", + "author_github_handle": "alexgshaw", + "additions": 79, + "deletions": 34, + "pr_title": "Make internet configurable from task config", + "pr_type": "task" + }, + { + "pr_number": 326, + "pr_url": "https://github.com/harbor-framework/harbor/pull/326", + "author_github_handle": "alexgshaw", + "additions": 286, + "deletions": 1, + "pr_title": "Add CLAUDE.md documentation for AI assistants", + "pr_type": "other" + }, + { + "pr_number": 325, + "pr_url": "https://github.com/harbor-framework/harbor/pull/325", + "author_github_handle": "alexgshaw", + "additions": 181, + "deletions": 28, + "pr_title": "feat: add support for custom environment implementations via import path", + "pr_type": "other" + }, + { + "pr_number": 323, + "pr_url": "https://github.com/harbor-framework/harbor/pull/323", + "author_github_handle": "ifoukarakis", + "additions": 5, + "deletions": 4, + "pr_title": "fix: default registry URL reference", + "pr_type": "other" + }, + { + "pr_number": 319, + "pr_url": "https://github.com/harbor-framework/harbor/pull/319", + "author_github_handle": "ibercovich", + "additions": 9, + "deletions": 1, + "pr_title": "feat(viewer): round rewards to 4 decimal places", + "pr_type": "engineering" + }, + { + "pr_number": 318, + "pr_url": "https://github.com/harbor-framework/harbor/pull/318", + "author_github_handle": "alexgshaw", + "additions": 10, + "deletions": 9, + "pr_title": "Revert to include env vars in docker.", + "pr_type": "other" + }, + { + "pr_number": 316, + "pr_url": "https://github.com/harbor-framework/harbor/pull/316", + "author_github_handle": "thdxr", + "additions": 1, + "deletions": 1, + "pr_title": "Change opencode command to output JSON format", + "pr_type": "engineering" + }, + { + "pr_number": 313, + "pr_url": "https://github.com/harbor-framework/harbor/pull/313", + "author_github_handle": "li-boxuan", + "additions": 332, + "deletions": 232, + "pr_title": "Fix ruff check on fork", + "pr_type": "other" + }, + { + "pr_number": 311, + "pr_url": "https://github.com/harbor-framework/harbor/pull/311", + "author_github_handle": "Rebabit", + "additions": 1883, + "deletions": 0, + "pr_title": "[Ready for Review - Final Fix] Adapter: MMMLU", + "pr_type": "adapter" + }, + { + "pr_number": 308, + "pr_url": "https://github.com/harbor-framework/harbor/pull/308", + "author_github_handle": "stared", + "additions": 181, + "deletions": 20, + "pr_title": "Add smart port handling for `harbor view`", + "pr_type": "other" + }, + { + "pr_number": 307, + "pr_url": "https://github.com/harbor-framework/harbor/pull/307", + "author_github_handle": "Waterpine", + "additions": 25831, + "deletions": 0, + "pr_title": "[Ready for Review] mmau adapter", + "pr_type": "adapter" + }, + { + "pr_number": 298, + "pr_url": "https://github.com/harbor-framework/harbor/pull/298", + "author_github_handle": "ibercovich", + "additions": 22, + "deletions": 22, + "pr_title": "made newline a requirement in prompt since small LLMs were failing", + "pr_type": "other" + }, + { + "pr_number": 292, + "pr_url": "https://github.com/harbor-framework/harbor/pull/292", + "author_github_handle": "linhaowei1", + "additions": 29, + "deletions": 29, + "pr_title": "[fix adapter] Revise the parity results for SLDBench", + "pr_type": "adapter" + }, + { + "pr_number": 284, + "pr_url": "https://github.com/harbor-framework/harbor/pull/284", + "author_github_handle": "lurf21", + "additions": 6, + "deletions": 2, + "pr_title": "fix: pass env variables when oracle agent executes the command", + "pr_type": "other" + }, + { + "pr_number": 279, + "pr_url": "https://github.com/harbor-framework/harbor/pull/279", + "author_github_handle": "neginraoof", + "additions": 485, + "deletions": 0, + "pr_title": "Adding swe-agent", + "pr_type": "other" + }, + { + "pr_number": 276, + "pr_url": "https://github.com/harbor-framework/harbor/pull/276", + "author_github_handle": "penfever", + "additions": 45, + "deletions": 21, + "pr_title": "[FEATURE] Make asciinema recording optional", + "pr_type": "engineering" + }, + { + "pr_number": 275, + "pr_url": "https://github.com/harbor-framework/harbor/pull/275", + "author_github_handle": "avelanarius", + "additions": 16, + "deletions": 16, + "pr_title": "[Adapter] Update CompileBench adapter, fixing oracle on Daytona", + "pr_type": "adapter" + }, + { + "pr_number": 274, + "pr_url": "https://github.com/harbor-framework/harbor/pull/274", + "author_github_handle": "li-boxuan", + "additions": 292, + "deletions": 148, + "pr_title": "Add CI gate for ruff linter on modified files", + "pr_type": "engineering" + }, + { + "pr_number": 272, + "pr_url": "https://github.com/harbor-framework/harbor/pull/272", + "author_github_handle": "li-boxuan", + "additions": 1, + "deletions": 1, + "pr_title": "Do not pass host env variables to Docker environment", + "pr_type": "other" + }, + { + "pr_number": 269, + "pr_url": "https://github.com/harbor-framework/harbor/pull/269", + "author_github_handle": "bstee615", + "additions": 43, + "deletions": 20, + "pr_title": "Support Azure OpenAI endpoints for LiteLLM agents", + "pr_type": "other" + }, + { + "pr_number": 267, + "pr_url": "https://github.com/harbor-framework/harbor/pull/267", + "author_github_handle": "HaishuoFang", + "additions": 2794, + "deletions": 0, + "pr_title": "[Ready for Review - final discussion] Adapter: FinanceAgent", + "pr_type": "adapter" + }, + { + "pr_number": 265, + "pr_url": "https://github.com/harbor-framework/harbor/pull/265", + "author_github_handle": "li-boxuan", + "additions": 219, + "deletions": 4, + "pr_title": "Terminus-2: Support optional interleaved thinking", + "pr_type": "other" + }, + { + "pr_number": 264, + "pr_url": "https://github.com/harbor-framework/harbor/pull/264", + "author_github_handle": "XuandongZhao", + "additions": 1723, + "deletions": 0, + "pr_title": "[Adapter] GPQA-Diamond Adapter", + "pr_type": "adapter" + }, + { + "pr_number": 263, + "pr_url": "https://github.com/harbor-framework/harbor/pull/263", + "author_github_handle": "Slimshilin", + "additions": 1, + "deletions": 1, + "pr_title": "Fix EvoEval Adapter forked_repo Link", + "pr_type": "adapter" + }, + { + "pr_number": 262, + "pr_url": "https://github.com/harbor-framework/harbor/pull/262", + "author_github_handle": "rotemtam", + "additions": 123, + "deletions": 1, + "pr_title": "fix: `--agent-import-path` ignored when `-a` not specified", + "pr_type": "engineering" + }, + { + "pr_number": 260, + "pr_url": "https://github.com/harbor-framework/harbor/pull/260", + "author_github_handle": "StevenDillmann", + "additions": 21, + "deletions": 0, + "pr_title": "Add initial CITATION.cff file", + "pr_type": "engineering" + }, + { + "pr_number": 259, + "pr_url": "https://github.com/harbor-framework/harbor/pull/259", + "author_github_handle": "rotemtam", + "additions": 97, + "deletions": 6, + "pr_title": "fix: add Alpine Linux support for claude-code agent", + "pr_type": "other" + }, + { + "pr_number": 257, + "pr_url": "https://github.com/harbor-framework/harbor/pull/257", + "author_github_handle": "kobe0938", + "additions": 1761, + "deletions": 2, + "pr_title": "[Ready for Review - fixing] Adapter: Humanevalfix", + "pr_type": "adapter" + }, + { + "pr_number": 256, + "pr_url": "https://github.com/harbor-framework/harbor/pull/256", + "author_github_handle": "aht", + "additions": 5038, + "deletions": 0, + "pr_title": "[Ready for Review] Adapter: REASONING GYM ", + "pr_type": "adapter" + }, + { + "pr_number": 251, + "pr_url": "https://github.com/harbor-framework/harbor/pull/251", + "author_github_handle": "ibercovich", + "additions": 4, + "deletions": 0, + "pr_title": "feat(mini-swe-agent): pass through OPENAI_API_BASE for custom endpoints", + "pr_type": "other" + }, + { + "pr_number": 249, + "pr_url": "https://github.com/harbor-framework/harbor/pull/249", + "author_github_handle": "robertzhidealx", + "additions": 9252, + "deletions": 0, + "pr_title": "Adapters: SWE-bench Pro", + "pr_type": "adapter" + }, + { + "pr_number": 247, + "pr_url": "https://github.com/harbor-framework/harbor/pull/247", + "author_github_handle": "AkshayVenkataraman", + "additions": 18, + "deletions": 1, + "pr_title": "initial commit to enable agent setup timeout override", + "pr_type": "other" + }, + { + "pr_number": 246, + "pr_url": "https://github.com/harbor-framework/harbor/pull/246", + "author_github_handle": "mieciu", + "additions": 8, + "deletions": 1, + "pr_title": "Support `--env daytona --ek network_block_all=true` in `harbor run`", + "pr_type": "other" + }, + { + "pr_number": 243, + "pr_url": "https://github.com/harbor-framework/harbor/pull/243", + "author_github_handle": "neginraoof", + "additions": 140, + "deletions": 0, + "pr_title": "Inline swe-agent inference config", + "pr_type": "engineering" + }, + { + "pr_number": 242, + "pr_url": "https://github.com/harbor-framework/harbor/pull/242", + "author_github_handle": "neginraoof", + "additions": 161, + "deletions": 56, + "pr_title": "Add SWE-agent configuration example", + "pr_type": "engineering" + }, + { + "pr_number": 240, + "pr_url": "https://github.com/harbor-framework/harbor/pull/240", + "author_github_handle": "xiaoxiangmoe", + "additions": 30, + "deletions": 23, + "pr_title": "Run script directly to respect shebang", + "pr_type": "other" + }, + { + "pr_number": 237, + "pr_url": "https://github.com/harbor-framework/harbor/pull/237", + "author_github_handle": "li-boxuan", + "additions": 223, + "deletions": 2, + "pr_title": "GPU support + example task that requires GPU", + "pr_type": "task" + }, + { + "pr_number": 236, + "pr_url": "https://github.com/harbor-framework/harbor/pull/236", + "author_github_handle": "luxinyu1", + "additions": 21, + "deletions": 1, + "pr_title": "Add custom API base URL support for claude code agent", + "pr_type": "other" + }, + { + "pr_number": 235, + "pr_url": "https://github.com/harbor-framework/harbor/pull/235", + "author_github_handle": "penfever", + "additions": 244, + "deletions": 3, + "pr_title": "add verifier output and instructions", + "pr_type": "other" + }, + { + "pr_number": 232, + "pr_url": "https://github.com/harbor-framework/harbor/pull/232", + "author_github_handle": "dzorlu", + "additions": 6, + "deletions": 0, + "pr_title": "feat: store all messages", + "pr_type": "other" + }, + { + "pr_number": 230, + "pr_url": "https://github.com/harbor-framework/harbor/pull/230", + "author_github_handle": "RishiDesai", + "additions": 12, + "deletions": 2, + "pr_title": "Serialize Docker image builds to prevent parallel build race condition", + "pr_type": "engineering" + }, + { + "pr_number": 226, + "pr_url": "https://github.com/harbor-framework/harbor/pull/226", + "author_github_handle": "AkshayVenkataraman", + "additions": 9, + "deletions": 6, + "pr_title": "improved workdir parse logic", + "pr_type": "other" + }, + { + "pr_number": 225, + "pr_url": "https://github.com/harbor-framework/harbor/pull/225", + "author_github_handle": "li-boxuan", + "additions": 1731, + "deletions": 478, + "pr_title": "Trajectories & traces for OpenHands: handle tool calling", + "pr_type": "other" + }, + { + "pr_number": 220, + "pr_url": "https://github.com/harbor-framework/harbor/pull/220", + "author_github_handle": "Ji-Pengliang", + "additions": 2228, + "deletions": 1, + "pr_title": "[Ready for Review - fixing] Adapter: ARC-AGI-2 benchmark", + "pr_type": "adapter" + }, + { + "pr_number": 217, + "pr_url": "https://github.com/harbor-framework/harbor/pull/217", + "author_github_handle": "penfever", + "additions": 226, + "deletions": 42, + "pr_title": "Extract result during trace exports", + "pr_type": "other" + }, + { + "pr_number": 216, + "pr_url": "https://github.com/harbor-framework/harbor/pull/216", + "author_github_handle": "paraliine", + "additions": 1, + "deletions": 1, + "pr_title": "Fix Terminus2 tmux logging path", + "pr_type": "other" + }, + { + "pr_number": 215, + "pr_url": "https://github.com/harbor-framework/harbor/pull/215", + "author_github_handle": "paraliine", + "additions": 1, + "deletions": 1, + "pr_title": "Fix blocking tmux send-keys execution", + "pr_type": "other" + }, + { + "pr_number": 214, + "pr_url": "https://github.com/harbor-framework/harbor/pull/214", + "author_github_handle": "mieciu", + "additions": 119, + "deletions": 52, + "pr_title": "Fix `--no-delete` in Docker environment", + "pr_type": "other" + }, + { + "pr_number": 212, + "pr_url": "https://github.com/harbor-framework/harbor/pull/212", + "author_github_handle": "giansegato", + "additions": 976, + "deletions": 0, + "pr_title": "feat: Add GKE/Kubernetes environment support", + "pr_type": "other" + }, + { + "pr_number": 210, + "pr_url": "https://github.com/harbor-framework/harbor/pull/210", + "author_github_handle": "james-rl", + "additions": 28, + "deletions": 14, + "pr_title": "Added resource config for runloop env", + "pr_type": "engineering" + }, + { + "pr_number": 201, + "pr_url": "https://github.com/harbor-framework/harbor/pull/201", + "author_github_handle": "crystalxyz", + "additions": 2124, + "deletions": 0, + "pr_title": "[Ready for review - Final Review] Adapter: LAB-Bench FigQA", + "pr_type": "adapter" + }, + { + "pr_number": 200, + "pr_url": "https://github.com/harbor-framework/harbor/pull/200", + "author_github_handle": "RishiDesai", + "additions": 12, + "deletions": 1, + "pr_title": "Allow custom BaseLLM backend for Agent", + "pr_type": "other" + }, + { + "pr_number": 198, + "pr_url": "https://github.com/harbor-framework/harbor/pull/198", + "author_github_handle": "pashpashpash", + "additions": 178, + "deletions": 0, + "pr_title": "cline cli integration", + "pr_type": "other" + }, + { + "pr_number": 195, + "pr_url": "https://github.com/harbor-framework/harbor/pull/195", + "author_github_handle": "AkshayVenkataraman", + "additions": 18, + "deletions": 2, + "pr_title": "made tmux viewport size configurable", + "pr_type": "engineering" + }, + { + "pr_number": 194, + "pr_url": "https://github.com/harbor-framework/harbor/pull/194", + "author_github_handle": "dpedchenko", + "additions": 7, + "deletions": 4, + "pr_title": "Minor change to Modal backend", + "pr_type": "other" + }, + { + "pr_number": 191, + "pr_url": "https://github.com/harbor-framework/harbor/pull/191", + "author_github_handle": "tlongwell-block", + "additions": 30, + "deletions": 14, + "pr_title": "support additional inference providers for the goose agent to allow benching open models", + "pr_type": "other" + }, + { + "pr_number": 189, + "pr_url": "https://github.com/harbor-framework/harbor/pull/189", + "author_github_handle": "james-rl", + "additions": 150, + "deletions": 59, + "pr_title": "Fixed runloop env", + "pr_type": "other" + }, + { + "pr_number": 188, + "pr_url": "https://github.com/harbor-framework/harbor/pull/188", + "author_github_handle": "tlongwell-block", + "additions": 11, + "deletions": 1, + "pr_title": "enable goose developer and todo extensions in harbor recipe", + "pr_type": "engineering" + }, + { + "pr_number": 184, + "pr_url": "https://github.com/harbor-framework/harbor/pull/184", + "author_github_handle": "li-boxuan", + "additions": 676, + "deletions": 72, + "pr_title": "Terminus-2 Trajectory: raw_content & linear_history modes", + "pr_type": "other" + }, + { + "pr_number": 183, + "pr_url": "https://github.com/harbor-framework/harbor/pull/183", + "author_github_handle": "li-boxuan", + "additions": 1007, + "deletions": 244, + "pr_title": "Export SFT traces from trajectories", + "pr_type": "other" + }, + { + "pr_number": 181, + "pr_url": "https://github.com/harbor-framework/harbor/pull/181", + "author_github_handle": "richardzhuang0412", + "additions": 91, + "deletions": 0, + "pr_title": "Added patching fix for openhand when handling together context limit error", + "pr_type": "other" + }, + { + "pr_number": 177, + "pr_url": "https://github.com/harbor-framework/harbor/pull/177", + "author_github_handle": "li-boxuan", + "additions": 2, + "deletions": 2, + "pr_title": "Fix error message in Terminus trajectory", + "pr_type": "other" + }, + { + "pr_number": 176, + "pr_url": "https://github.com/harbor-framework/harbor/pull/176", + "author_github_handle": "Chesars", + "additions": 3, + "deletions": 0, + "pr_title": "fix: flaky terminus_2 timeout test", + "pr_type": "engineering" + }, + { + "pr_number": 175, + "pr_url": "https://github.com/harbor-framework/harbor/pull/175", + "author_github_handle": "Chesars", + "additions": 1, + "deletions": 1, + "pr_title": "docs: Fix broken link in README.md", + "pr_type": "other" + }, + { + "pr_number": 174, + "pr_url": "https://github.com/harbor-framework/harbor/pull/174", + "author_github_handle": "li-boxuan", + "additions": 728, + "deletions": 1, + "pr_title": "Add integration tests for exported traces", + "pr_type": "engineering" + }, + { + "pr_number": 173, + "pr_url": "https://github.com/harbor-framework/harbor/pull/173", + "author_github_handle": "ai-jz", + "additions": 6, + "deletions": 1, + "pr_title": "feat: Add Claude Code OAuth token support for subscription users", + "pr_type": "other" + }, + { + "pr_number": 170, + "pr_url": "https://github.com/harbor-framework/harbor/pull/170", + "author_github_handle": "mieciu", + "additions": 480, + "deletions": 0, + "pr_title": "Adding CompileBench dataset/adapter", + "pr_type": "adapter" + }, + { + "pr_number": 169, + "pr_url": "https://github.com/harbor-framework/harbor/pull/169", + "author_github_handle": "li-boxuan", + "additions": 254, + "deletions": 19, + "pr_title": "OpenHands trajectory fixes: tool call definitions and bookkeeping steps", + "pr_type": "other" + }, + { + "pr_number": 168, + "pr_url": "https://github.com/harbor-framework/harbor/pull/168", + "author_github_handle": "liyuyun-lyy", + "additions": 1, + "deletions": 1, + "pr_title": "fix: use yolo mode to pass hello world test", + "pr_type": "engineering" + }, + { + "pr_number": 163, + "pr_url": "https://github.com/harbor-framework/harbor/pull/163", + "author_github_handle": "penfever", + "additions": 34, + "deletions": 9, + "pr_title": "Enhance episode conversation extraction logic", + "pr_type": "other" + }, + { + "pr_number": 160, + "pr_url": "https://github.com/harbor-framework/harbor/pull/160", + "author_github_handle": "penfever", + "additions": 12, + "deletions": 4, + "pr_title": "BUGFIX: Numeric rather than lexical sorting of episodes", + "pr_type": "other" + }, + { + "pr_number": 156, + "pr_url": "https://github.com/harbor-framework/harbor/pull/156", + "author_github_handle": "li-boxuan", + "additions": 113, + "deletions": 19, + "pr_title": "Terminus-2: Add model_info parameter to register LLM info", + "pr_type": "other" + }, + { + "pr_number": 154, + "pr_url": "https://github.com/harbor-framework/harbor/pull/154", + "author_github_handle": "chenzizhao", + "additions": 31425, + "deletions": 67694, + "pr_title": "[Ready for review - final fix] Adapter: BixBench", + "pr_type": "adapter" + }, + { + "pr_number": 153, + "pr_url": "https://github.com/harbor-framework/harbor/pull/153", + "author_github_handle": "digitsisyph", + "additions": 1299, + "deletions": 1, + "pr_title": "Add adapter init command", + "pr_type": "adapter" + }, + { + "pr_number": 151, + "pr_url": "https://github.com/harbor-framework/harbor/pull/151", + "author_github_handle": "linhaowei1", + "additions": 1440, + "deletions": 1, + "pr_title": "[adapter] Add SLDBench", + "pr_type": "adapter" + }, + { + "pr_number": 149, + "pr_url": "https://github.com/harbor-framework/harbor/pull/149", + "author_github_handle": "orfeas-menis", + "additions": 887, + "deletions": 0, + "pr_title": "Adapter for AIME", + "pr_type": "adapter" + }, + { + "pr_number": 148, + "pr_url": "https://github.com/harbor-framework/harbor/pull/148", + "author_github_handle": "ibercovich", + "additions": 355, + "deletions": 31, + "pr_title": "Updated checker and debugger", + "pr_type": "other" + }, + { + "pr_number": 147, + "pr_url": "https://github.com/harbor-framework/harbor/pull/147", + "author_github_handle": "penfever", + "additions": 25, + "deletions": 19, + "pr_title": "Robust termination of aiohttp events wrapping Daytona containers", + "pr_type": "other" + }, + { + "pr_number": 146, + "pr_url": "https://github.com/harbor-framework/harbor/pull/146", + "author_github_handle": "StevenDillmann", + "additions": 547, + "deletions": 0, + "pr_title": "[Adapter] Update ReplicationBench to include masked manuscripts of papers", + "pr_type": "adapter" + }, + { + "pr_number": 144, + "pr_url": "https://github.com/harbor-framework/harbor/pull/144", + "author_github_handle": "penfever", + "additions": 20, + "deletions": 18, + "pr_title": "Oracle Agent Hardening", + "pr_type": "other" + }, + { + "pr_number": 143, + "pr_url": "https://github.com/harbor-framework/harbor/pull/143", + "author_github_handle": "digitsisyph", + "additions": 4096, + "deletions": 0, + "pr_title": "Add trajectory viewer", + "pr_type": "other" + }, + { + "pr_number": 142, + "pr_url": "https://github.com/harbor-framework/harbor/pull/142", + "author_github_handle": "penfever", + "additions": 54, + "deletions": 4, + "pr_title": "Penfever/handle vllm context length errors correctly", + "pr_type": "other" + }, + { + "pr_number": 141, + "pr_url": "https://github.com/harbor-framework/harbor/pull/141", + "author_github_handle": "li-boxuan", + "additions": 1619, + "deletions": 1782, + "pr_title": "Terminus-2: Full trajectories, rollout details, bug fixes and E2E tests", + "pr_type": "engineering" + }, + { + "pr_number": 139, + "pr_url": "https://github.com/harbor-framework/harbor/pull/139", + "author_github_handle": "LithiumDA", + "additions": 1, + "deletions": 3, + "pr_title": "[Adapter] fix (codepde): remove tmux & asciinema from Dockerfile", + "pr_type": "adapter" + }, + { + "pr_number": 135, + "pr_url": "https://github.com/harbor-framework/harbor/pull/135", + "author_github_handle": "giansegato", + "additions": 23, + "deletions": 0, + "pr_title": "Add extended thinking mode support for Anthropic models", + "pr_type": "other" + }, + { + "pr_number": 132, + "pr_url": "https://github.com/harbor-framework/harbor/pull/132", + "author_github_handle": "li-boxuan", + "additions": 17, + "deletions": 46, + "pr_title": "Terminus trajectory: Remove first user message", + "pr_type": "other" + }, + { + "pr_number": 131, + "pr_url": "https://github.com/harbor-framework/harbor/pull/131", + "author_github_handle": "HiromuHota", + "additions": 3, + "deletions": 7, + "pr_title": "Add content from run-tests.sh correctly during migration", + "pr_type": "engineering" + }, + { + "pr_number": 130, + "pr_url": "https://github.com/harbor-framework/harbor/pull/130", + "author_github_handle": "HiromuHota", + "additions": 1, + "deletions": 0, + "pr_title": "Allow difficulty: unknown for compat w/TB1.0", + "pr_type": "other" + }, + { + "pr_number": 125, + "pr_url": "https://github.com/harbor-framework/harbor/pull/125", + "author_github_handle": "li-boxuan", + "additions": 105, + "deletions": 74, + "pr_title": "Terminus 2: prompt token ids and reasoning content", + "pr_type": "other" + }, + { + "pr_number": 122, + "pr_url": "https://github.com/harbor-framework/harbor/pull/122", + "author_github_handle": "li-boxuan", + "additions": 10, + "deletions": 32, + "pr_title": "Fix metric discrepancy in openhands golden trajectory", + "pr_type": "other" + }, + { + "pr_number": 121, + "pr_url": "https://github.com/harbor-framework/harbor/pull/121", + "author_github_handle": "thdxr", + "additions": 3, + "deletions": 0, + "pr_title": "Enable OPENCODE_FAKE_VCS for OpenCode agent", + "pr_type": "other" + }, + { + "pr_number": 119, + "pr_url": "https://github.com/harbor-framework/harbor/pull/119", + "author_github_handle": "penfever", + "additions": 8, + "deletions": 4, + "pr_title": "guard traces format acquisition", + "pr_type": "engineering" + }, + { + "pr_number": 118, + "pr_url": "https://github.com/harbor-framework/harbor/pull/118", + "author_github_handle": "li-boxuan", + "additions": 206, + "deletions": 314, + "pr_title": "Clean up integration tests + Drop source_call_id for terminus trajectory", + "pr_type": "engineering" + }, + { + "pr_number": 117, + "pr_url": "https://github.com/harbor-framework/harbor/pull/117", + "author_github_handle": "li-boxuan", + "additions": 486, + "deletions": 1, + "pr_title": "Terminus-2: Include erroneous json response in trajectory message field", + "pr_type": "other" + }, + { + "pr_number": 115, + "pr_url": "https://github.com/harbor-framework/harbor/pull/115", + "author_github_handle": "harshraj172", + "additions": 4301, + "deletions": 0, + "pr_title": "Add swesmith adapter", + "pr_type": "adapter" + }, + { + "pr_number": 113, + "pr_url": "https://github.com/harbor-framework/harbor/pull/113", + "author_github_handle": "EtashGuha", + "additions": 32565, + "deletions": 3335, + "pr_title": "update train on traces", + "pr_type": "other" + }, + { + "pr_number": 106, + "pr_url": "https://github.com/harbor-framework/harbor/pull/106", + "author_github_handle": "linhaowei1", + "additions": 1953, + "deletions": 0, + "pr_title": "Add Autocodebench adapter", + "pr_type": "adapter" + }, + { + "pr_number": 105, + "pr_url": "https://github.com/harbor-framework/harbor/pull/105", + "author_github_handle": "li-boxuan", + "additions": 1, + "deletions": 1, + "pr_title": "Fix test.sh in example task", + "pr_type": "task" + }, + { + "pr_number": 104, + "pr_url": "https://github.com/harbor-framework/harbor/pull/104", + "author_github_handle": "santaboi", + "additions": 1, + "deletions": 1, + "pr_title": "Fix Terminal Bench 2.0 description typo", + "pr_type": "other" + }, + { + "pr_number": 102, + "pr_url": "https://github.com/harbor-framework/harbor/pull/102", + "author_github_handle": "LithiumDA", + "additions": 9, + "deletions": 11, + "pr_title": "[CodePDE Adapter] fix: linting", + "pr_type": "adapter" + }, + { + "pr_number": 100, + "pr_url": "https://github.com/harbor-framework/harbor/pull/100", + "author_github_handle": "davidheineman", + "additions": 8656, + "deletions": 0, + "pr_title": "[Ready for Review] Adapter: SWE-Lancer", + "pr_type": "adapter" + }, + { + "pr_number": 99, + "pr_url": "https://github.com/harbor-framework/harbor/pull/99", + "author_github_handle": "omi-n", + "additions": 1771, + "deletions": 1, + "pr_title": "[Adapter] Add mlgym-bench adapter", + "pr_type": "adapter" + }, + { + "pr_number": 98, + "pr_url": "https://github.com/harbor-framework/harbor/pull/98", + "author_github_handle": "Slimshilin", + "additions": 18, + "deletions": 4, + "pr_title": "Adapters readme template", + "pr_type": "adapter" + }, + { + "pr_number": 97, + "pr_url": "https://github.com/harbor-framework/harbor/pull/97", + "author_github_handle": "junhongmit", + "additions": 3521, + "deletions": 0, + "pr_title": "[Adapter] Adding USACO Adapter", + "pr_type": "adapter" + }, + { + "pr_number": 96, + "pr_url": "https://github.com/harbor-framework/harbor/pull/96", + "author_github_handle": "MichaelY310", + "additions": 15684, + "deletions": 0, + "pr_title": "[Ready For Review] Adding SWTBench Adapter", + "pr_type": "adapter" + }, + { + "pr_number": 95, + "pr_url": "https://github.com/harbor-framework/harbor/pull/95", + "author_github_handle": "li-boxuan", + "additions": 0, + "deletions": 6, + "pr_title": "CI: remove redundant test stage", + "pr_type": "engineering" + }, + { + "pr_number": 94, + "pr_url": "https://github.com/harbor-framework/harbor/pull/94", + "author_github_handle": "ethanlshen", + "additions": 9, + "deletions": 1, + "pr_title": "Added summarization toggle", + "pr_type": "other" + }, + { + "pr_number": 93, + "pr_url": "https://github.com/harbor-framework/harbor/pull/93", + "author_github_handle": "li-boxuan", + "additions": 235, + "deletions": 8, + "pr_title": "Gemini-CLI to generate trajectory in ATIF", + "pr_type": "other" + }, + { + "pr_number": 92, + "pr_url": "https://github.com/harbor-framework/harbor/pull/92", + "author_github_handle": "StevenDillmann", + "additions": 1971, + "deletions": 0, + "pr_title": "[Adapter] Adding ReplicationBench adapter to Harbor", + "pr_type": "adapter" + }, + { + "pr_number": 90, + "pr_url": "https://github.com/harbor-framework/harbor/pull/90", + "author_github_handle": "LithiumDA", + "additions": 1136, + "deletions": 0, + "pr_title": "[Adapter] Adding CodePDE adapter", + "pr_type": "adapter" + }, + { + "pr_number": 89, + "pr_url": "https://github.com/harbor-framework/harbor/pull/89", + "author_github_handle": "Dongzhikang", + "additions": 2140, + "deletions": 2, + "pr_title": "adapter for Deveval", + "pr_type": "adapter" + }, + { + "pr_number": 88, + "pr_url": "https://github.com/harbor-framework/harbor/pull/88", + "author_github_handle": "audreycs", + "additions": 2158, + "deletions": 0, + "pr_title": "[Adapter] Adding Livecodebench adpter", + "pr_type": "adapter" + }, + { + "pr_number": 86, + "pr_url": "https://github.com/harbor-framework/harbor/pull/86", + "author_github_handle": "harshraj172", + "additions": 679, + "deletions": 31, + "pr_title": "claude-code atif formatting", + "pr_type": "engineering" + }, + { + "pr_number": 84, + "pr_url": "https://github.com/harbor-framework/harbor/pull/84", + "author_github_handle": "li-boxuan", + "additions": 1093, + "deletions": 609, + "pr_title": "Terminus-2 to return rollout details (completion_token_ids, log_probs)", + "pr_type": "other" + }, + { + "pr_number": 83, + "pr_url": "https://github.com/harbor-framework/harbor/pull/83", + "author_github_handle": "Slimshilin", + "additions": 178, + "deletions": 0, + "pr_title": "Adapter README template", + "pr_type": "adapter" + }, + { + "pr_number": 82, + "pr_url": "https://github.com/harbor-framework/harbor/pull/82", + "author_github_handle": "Slimshilin", + "additions": 4, + "deletions": 19, + "pr_title": "Fix -t to -p. Polish README", + "pr_type": "other" + }, + { + "pr_number": 81, + "pr_url": "https://github.com/harbor-framework/harbor/pull/81", + "author_github_handle": "li-boxuan", + "additions": 42, + "deletions": 46, + "pr_title": "Terminus-2: Remove token counting hack", + "pr_type": "other" + }, + { + "pr_number": 79, + "pr_url": "https://github.com/harbor-framework/harbor/pull/79", + "author_github_handle": "li-boxuan", + "additions": 6, + "deletions": 1, + "pr_title": "Fix token counting in terminus_2 summarisation subagent", + "pr_type": "other" + }, + { + "pr_number": 78, + "pr_url": "https://github.com/harbor-framework/harbor/pull/78", + "author_github_handle": "li-boxuan", + "additions": 303, + "deletions": 13, + "pr_title": "Mini SWE Agent: use forked version + generate trajectory following ATIF spec", + "pr_type": "other" + }, + { + "pr_number": 77, + "pr_url": "https://github.com/harbor-framework/harbor/pull/77", + "author_github_handle": "harshraj172", + "additions": 428, + "deletions": 19, + "pr_title": "Codex ATIF trajectory", + "pr_type": "other" + }, + { + "pr_number": 76, + "pr_url": "https://github.com/harbor-framework/harbor/pull/76", + "author_github_handle": "li-boxuan", + "additions": 20, + "deletions": 11, + "pr_title": "Polish trajectory model field descriptions", + "pr_type": "other" + }, + { + "pr_number": 75, + "pr_url": "https://github.com/harbor-framework/harbor/pull/75", + "author_github_handle": "pfbyjy", + "additions": 52, + "deletions": 4, + "pr_title": "Convert Terminal-Bench docker-compose to Harbor format in mapper", + "pr_type": "engineering" + }, + { + "pr_number": 74, + "pr_url": "https://github.com/harbor-framework/harbor/pull/74", + "author_github_handle": "ibercovich", + "additions": 2, + "deletions": 2, + "pr_title": "Update model name in gemini-cli-job.yaml", + "pr_type": "other" + }, + { + "pr_number": 73, + "pr_url": "https://github.com/harbor-framework/harbor/pull/73", + "author_github_handle": "ibercovich", + "additions": 7, + "deletions": 7, + "pr_title": "Replace 'sb' with 'harbor' in README", + "pr_type": "other" + }, + { + "pr_number": 71, + "pr_url": "https://github.com/harbor-framework/harbor/pull/71", + "author_github_handle": "li-boxuan", + "additions": 787, + "deletions": 25, + "pr_title": "Openhands to generate trajectory in ATIF", + "pr_type": "other" + }, + { + "pr_number": 70, + "pr_url": "https://github.com/harbor-framework/harbor/pull/70", + "author_github_handle": "alexgshaw", + "additions": 2810, + "deletions": 1516, + "pr_title": "Alexgshaw/support docker compose", + "pr_type": "other" + }, + { + "pr_number": 69, + "pr_url": "https://github.com/harbor-framework/harbor/pull/69", + "author_github_handle": "digitsisyph", + "additions": 1714, + "deletions": 1, + "pr_title": "Add adapter for evoeval", + "pr_type": "adapter" + }, + { + "pr_number": 68, + "pr_url": "https://github.com/harbor-framework/harbor/pull/68", + "author_github_handle": "ibercovich", + "additions": 3, + "deletions": 1, + "pr_title": "Update sandbox creation timeout configuration", + "pr_type": "engineering" + }, + { + "pr_number": 65, + "pr_url": "https://github.com/harbor-framework/harbor/pull/65", + "author_github_handle": "li-boxuan", + "additions": 915, + "deletions": 4, + "pr_title": "Add trajectory validator and tests", + "pr_type": "engineering" + }, + { + "pr_number": 62, + "pr_url": "https://github.com/harbor-framework/harbor/pull/62", + "author_github_handle": "li-boxuan", + "additions": 19, + "deletions": 5, + "pr_title": "Handle exceptions on non-critical paths", + "pr_type": "other" + }, + { + "pr_number": 60, + "pr_url": "https://github.com/harbor-framework/harbor/pull/60", + "author_github_handle": "li-boxuan", + "additions": 3134, + "deletions": 553, + "pr_title": "Terminus-2 Agent: metrics reporting & trajectory generation", + "pr_type": "other" + }, + { + "pr_number": 58, + "pr_url": "https://github.com/harbor-framework/harbor/pull/58", + "author_github_handle": "harshraj172", + "additions": 3052, + "deletions": 160, + "pr_title": "Add the `aider-polyglot` adapter", + "pr_type": "adapter" + }, + { + "pr_number": 56, + "pr_url": "https://github.com/harbor-framework/harbor/pull/56", + "author_github_handle": "li-boxuan", + "additions": 1176, + "deletions": 0, + "pr_title": "[RFC] Agent Trajectory Interchange Format (ATIF) Specification", + "pr_type": "engineering" + }, + { + "pr_number": 55, + "pr_url": "https://github.com/harbor-framework/harbor/pull/55", + "author_github_handle": "li-boxuan", + "additions": 12, + "deletions": 8, + "pr_title": "Fix docker exec deadlock for tasks with large output", + "pr_type": "task" + }, + { + "pr_number": 52, + "pr_url": "https://github.com/harbor-framework/harbor/pull/52", + "author_github_handle": "alexgshaw", + "additions": 4, + "deletions": 0, + "pr_title": "Warn users about Modal Python installation", + "pr_type": "other" + }, + { + "pr_number": 51, + "pr_url": "https://github.com/harbor-framework/harbor/pull/51", + "author_github_handle": "li-boxuan", + "additions": 15, + "deletions": 17, + "pr_title": "Fix ruff violations and add linting to CI", + "pr_type": "engineering" + }, + { + "pr_number": 50, + "pr_url": "https://github.com/harbor-framework/harbor/pull/50", + "author_github_handle": "li-boxuan", + "additions": 210, + "deletions": 0, + "pr_title": "Terminus-2 to pass session_id", + "pr_type": "other" + }, + { + "pr_number": 49, + "pr_url": "https://github.com/harbor-framework/harbor/pull/49", + "author_github_handle": "neginraoof", + "additions": 99, + "deletions": 55, + "pr_title": "updated terminus 2 summarization fallback", + "pr_type": "other" + }, + { + "pr_number": 48, + "pr_url": "https://github.com/harbor-framework/harbor/pull/48", + "author_github_handle": "li-boxuan", + "additions": 616, + "deletions": 988, + "pr_title": "Regenerate corrupt uv.lock", + "pr_type": "other" + }, + { + "pr_number": 47, + "pr_url": "https://github.com/harbor-framework/harbor/pull/47", + "author_github_handle": "ibercovich", + "additions": 269, + "deletions": 2, + "pr_title": "porting sb tasks check and debug from terminal-bench", + "pr_type": "task" + }, + { + "pr_number": 46, + "pr_url": "https://github.com/harbor-framework/harbor/pull/46", + "author_github_handle": "dines-rl", + "additions": 275, + "deletions": 1, + "pr_title": "Add Runloop Environment", + "pr_type": "other" + }, + { + "pr_number": 45, + "pr_url": "https://github.com/harbor-framework/harbor/pull/45", + "author_github_handle": "li-boxuan", + "additions": 373, + "deletions": 27, + "pr_title": "Include logprobs in AgentContext", + "pr_type": "other" + }, + { + "pr_number": 44, + "pr_url": "https://github.com/harbor-framework/harbor/pull/44", + "author_github_handle": "neginraoof", + "additions": 3752, + "deletions": 191, + "pr_title": "Swebench adapter", + "pr_type": "adapter" + }, + { + "pr_number": 43, + "pr_url": "https://github.com/harbor-framework/harbor/pull/43", + "author_github_handle": "alexgshaw", + "additions": 1939, + "deletions": 864, + "pr_title": "QOL upgrades from running a billion ICLR experiments", + "pr_type": "other" + }, + { + "pr_number": 42, + "pr_url": "https://github.com/harbor-framework/harbor/pull/42", + "author_github_handle": "penfever", + "additions": 1586, + "deletions": 4, + "pr_title": "Penfever/all scripts", + "pr_type": "other" + }, + { + "pr_number": 40, + "pr_url": "https://github.com/harbor-framework/harbor/pull/40", + "author_github_handle": "TheMikeMerrill", + "additions": 13, + "deletions": 6, + "pr_title": "t2 context improperly queried", + "pr_type": "other" + }, + { + "pr_number": 38, + "pr_url": "https://github.com/harbor-framework/harbor/pull/38", + "author_github_handle": "EtashGuha", + "additions": 5, + "deletions": 1, + "pr_title": "added triage for together context limit issue", + "pr_type": "other" + }, + { + "pr_number": 37, + "pr_url": "https://github.com/harbor-framework/harbor/pull/37", + "author_github_handle": "li-boxuan", + "additions": 9, + "deletions": 4, + "pr_title": "Return cost in AgentResult", + "pr_type": "other" + }, + { + "pr_number": 36, + "pr_url": "https://github.com/harbor-framework/harbor/pull/36", + "author_github_handle": "penfever", + "additions": 201, + "deletions": 1, + "pr_title": "Penfever/working", + "pr_type": "other" + }, + { + "pr_number": 33, + "pr_url": "https://github.com/harbor-framework/harbor/pull/33", + "author_github_handle": "li-boxuan", + "additions": 25, + "deletions": 1, + "pr_title": "Port docker cache clean up logic from terminal-bench", + "pr_type": "other" + }, + { + "pr_number": 32, + "pr_url": "https://github.com/harbor-framework/harbor/pull/32", + "author_github_handle": "li-boxuan", + "additions": 32, + "deletions": 0, + "pr_title": "Add token count for OpenHands agent", + "pr_type": "other" + }, + { + "pr_number": 31, + "pr_url": "https://github.com/harbor-framework/harbor/pull/31", + "author_github_handle": "li-boxuan", + "additions": 57, + "deletions": 198, + "pr_title": "Fix & clean up tests", + "pr_type": "engineering" + }, + { + "pr_number": 30, + "pr_url": "https://github.com/harbor-framework/harbor/pull/30", + "author_github_handle": "li-boxuan", + "additions": 2, + "deletions": 3, + "pr_title": "Minor change to openhands agent", + "pr_type": "other" + }, + { + "pr_number": 29, + "pr_url": "https://github.com/harbor-framework/harbor/pull/29", + "author_github_handle": "li-boxuan", + "additions": 1421, + "deletions": 177, + "pr_title": "Agent refactoring - jinja2 templating, versioning, tests, CI, and more", + "pr_type": "engineering" + }, + { + "pr_number": 27, + "pr_url": "https://github.com/harbor-framework/harbor/pull/27", + "author_github_handle": "TheMikeMerrill", + "additions": 20, + "deletions": 11, + "pr_title": "Fix token tracking", + "pr_type": "other" + }, + { + "pr_number": 26, + "pr_url": "https://github.com/harbor-framework/harbor/pull/26", + "author_github_handle": "cliangyu", + "additions": 1197, + "deletions": 19, + "pr_title": "Migrate 11 agents from terminal-bench to sandboxes", + "pr_type": "other" + }, + { + "pr_number": 24, + "pr_url": "https://github.com/harbor-framework/harbor/pull/24", + "author_github_handle": "alexgshaw", + "additions": 1380, + "deletions": 2335, + "pr_title": "Rename package, strip out db, reformat results and configs, change base environment methods.", + "pr_type": "engineering" + }, + { + "pr_number": 22, + "pr_url": "https://github.com/harbor-framework/harbor/pull/22", + "author_github_handle": "alexgshaw", + "additions": 612, + "deletions": 151, + "pr_title": "Daytona", + "pr_type": "other" + }, + { + "pr_number": 21, + "pr_url": "https://github.com/harbor-framework/harbor/pull/21", + "author_github_handle": "tyler-griggs", + "additions": 2, + "deletions": 1, + "pr_title": "Update .gitignore", + "pr_type": "other" + }, + { + "pr_number": 20, + "pr_url": "https://github.com/harbor-framework/harbor/pull/20", + "author_github_handle": "TheMikeMerrill", + "additions": 204, + "deletions": 71, + "pr_title": "Mikeam/agents two", + "pr_type": "other" + }, + { + "pr_number": 19, + "pr_url": "https://github.com/harbor-framework/harbor/pull/19", + "author_github_handle": "TheMikeMerrill", + "additions": 1409, + "deletions": 906, + "pr_title": "Add logging to terminus", + "pr_type": "other" + }, + { + "pr_number": 18, + "pr_url": "https://github.com/harbor-framework/harbor/pull/18", + "author_github_handle": "alexgshaw", + "additions": 223, + "deletions": 55, + "pr_title": "Alex-temp", + "pr_type": "other" + }, + { + "pr_number": 16, + "pr_url": "https://github.com/harbor-framework/harbor/pull/16", + "author_github_handle": "TheMikeMerrill", + "additions": 3453, + "deletions": 281, + "pr_title": "Initial terminus2", + "pr_type": "other" + }, + { + "pr_number": 14, + "pr_url": "https://github.com/harbor-framework/harbor/pull/14", + "author_github_handle": "alexgshaw", + "additions": 142, + "deletions": 0, + "pr_title": "Add Claude Code GitHub Workflow", + "pr_type": "other" + }, + { + "pr_number": 9, + "pr_url": "https://github.com/harbor-framework/harbor/pull/9", + "author_github_handle": "alexgshaw", + "additions": 294, + "deletions": 0, + "pr_title": "Create cli command for single trial", + "pr_type": "other" + }, + { + "pr_number": 2, + "pr_url": "https://github.com/harbor-framework/harbor/pull/2", + "author_github_handle": "TheMikeMerrill", + "additions": 1037, + "deletions": 77, + "pr_title": "Add DB implementation", + "pr_type": "other" + }, + { + "pr_number": 1, + "pr_url": "https://github.com/harbor-framework/harbor/pull/1", + "author_github_handle": "alexgshaw", + "additions": 518, + "deletions": 56, + "pr_title": "Working branch", + "pr_type": "other" + } +] \ No newline at end of file diff --git a/utils/contributors/data/verified_github_users_data.json b/utils/contributors/data/verified_github_users_data.json new file mode 100644 index 0000000..7d0e890 --- /dev/null +++ b/utils/contributors/data/verified_github_users_data.json @@ -0,0 +1,311 @@ +[ + { + "github_handle": "li-boxuan", + "name": "Boxuan Li", + "affiliation": "Independent", + "email": "boxuanli@alumni.cmu.edu", + "rank": 10000000, + "role": "Co-lead" + }, + { + "github_handle": "alexgshaw", + "name": "Alex Shaw", + "affiliation": "Laude Institute", + "email": "alexgshaw64@gmail.com", + "rank": 10000000, + "role": "Co-lead" + }, + { + "github_handle": "penfever", + "name": "Benjamin Feuer", + "affiliation": "Stanford University", + "email": "bf996@nyu.edu" + }, + { + "github_handle": "StevenDillmann", + "name": "Steven Dillmann", + "affiliation": "Stanford University", + "email": "stevendi@stanford.edu" + }, + { + "github_handle": "CharlieFRuan", + "name": "Charlie Ruan", + "affiliation": "UC Berkeley", + "email": "charlieruan@berkeley.edu" + }, + { + "github_handle": "ibercovich", + "name": "Ivan Bercovich", + "affiliation": "Independent", + "email": "ibercovich@gmail.com" + }, + { + "github_handle": "Slimshilin", + "name": "Lin Shi", + "affiliation": "Cornell Tech", + "email": "ls2282@cornell.edu", + "adapter_rank": 110000, + "role": "Adapter Lead" + }, + { + "github_handle": "linhaowei1", + "name": "Haowei Lin", + "affiliation": "Peking University", + "email": "linhaowei@pku.edu.cn", + "adapter_rank": 100000, + "role": "Co-lead" + }, + { + "github_handle": "TheMikeMerrill", + "name": "Mike A. Merrill", + "affiliation": "Stanford University", + "email": "mikeam1@stanford.edu", + "rank": 10000000, + "role": "Co-lead" + }, + { + "github_handle": "harshraj172", + "name": "Harsh Raj", + "affiliation": "Northeastern University", + "email": "harsh777111raj@gmail.com" + }, + { + "github_handle": "neginraoof", + "name": "Negin Raoof", + "affiliation": "UC Berkeley", + "email": "negin_raoof@berkeley.edu" + }, + { + "github_handle": "chenzizhao", + "name": "Zizhao Chen", + "affiliation": "Cornell Tech", + "email": "czz@cs.cornell.edu" + }, + { + "github_handle": "mieciu", + "name": "Przemys\u0142aw Hejman", + "affiliation": "Quesma", + "email": "przemyslaw.hejman@quesma.com" + }, + { + "github_handle": "LithiumDA", + "name": "Shanda Li", + "affiliation": "Carnegie Mellon University", + "email": "shandal@cs.cmu.edu" + }, + { + "github_handle": "james-rl", + "name": "James Chainey", + "affiliation": "Runloop", + "email": "james@runloop.ai" + }, + { + "github_handle": "AkshayVenkataraman", + "name": "Akshay Venkataraman", + "affiliation": "Leeds Beckett University", + "email": "akshayv2k@gmail.com" + }, + { + "github_handle": "jakozaur", + "name": "Jacek Migdal", + "affiliation": "Quesma", + "email": "jacek@quesma.com" + }, + { + "github_handle": "dot-agi", + "name": "Pratyush Shukla", + "affiliation": "New York University", + "email": "ps4534@nyu.edu" + }, + { + "github_handle": "michaelrglass", + "name": "Michael Glass", + "affiliation": "IBM", + "email": "mrglass@us.ibm.com" + }, + { + "github_handle": "DannyGooo", + "name": "Yonghui Liu", + "affiliation": "Australian National University", + "email": "Yonghui.Liu@anu.edu.au" + }, + { + "github_handle": "ZhengShenghan", + "name": "Shenghan Zheng", + "affiliation": "Dartmouth College", + "email": "shenghan.zheng.gr@dartmouth.edu" + }, + { + "github_handle": "likaixin2000", + "name": "Kaixin Li", + "affiliation": "National University of Singapore", + "email": "likaixin@u.nus.edu" + }, + { + "github_handle": "killthefullmoon", + "name": "Hui Shen", + "affiliation": "University of Michigan", + "email": "killthefullmoon@gmail.com" + }, + { + "github_handle": "xianliu", + "name": "Xian Liu", + "affiliation": "Meetchances", + "email": "lxjsj@fedoraproject.org" + }, + { + "github_handle": "hanxu12", + "name": "Han Xu", + "affiliation": "University of Illinois Urbana-Champaign", + "email": "hanxu8@illinois.edu" + }, + { + "github_handle": "Ternura143", + "name": "Zixuan Zhu", + "affiliation": "Nanyang Technological University", + "email": "zzx18742002@gmail.com", + "adapter_rank": 1000 + }, + { + "github_handle": "EstelYang", + "name": "Rui Yang", + "affiliation": "Peking University", + "email": "ypyangrui@pku.edu.cn" + }, + { + "github_handle": "Hangzhi", + "name": "Yiwei Dai", + "affiliation": "Cornell University", + "email": "yd223@cornell.edu", + "adapter_rank": 500 + }, + { + "github_handle": "terryyz", + "name": "Terry Yue Zhuo", + "affiliation": "Monash University", + "email": "terryzhuo25@gmail.com" + }, + { + "github_handle": "Rebabit", + "name": "Rebecca Deng", + "affiliation": "Cornell Tech", + "email": "rd629@cornell.edu" + }, + { + "github_handle": "Waterpine", + "name": "Song Bian", + "affiliation": "University of Wisconsin-Madison", + "email": "sbian8@wisc.edu" + }, + { + "github_handle": "avelanarius", + "name": "Piotr Grabowski", + "affiliation": "Quesma", + "email": "piotr@quesma.com" + }, + { + "github_handle": "bstee615", + "name": "Benjamin Steenhoek", + "affiliation": "Microsoft", + "email": "benjaminjsteenhoek@gmail.com" + }, + { + "github_handle": "XuandongZhao", + "name": "Xuandong Zhao", + "affiliation": "UC Berkeley", + "email": "csxuandongzhao@gmail.com" + }, + { + "github_handle": "kobe0938", + "name": "Xiaokun Chen", + "affiliation": "Stanford University", + "email": "xiaokunchen0@gmail.com" + }, + { + "github_handle": "aht", + "name": "Hai-Anh Trinh", + "affiliation": "Independent", + "email": "anh.hai.trinh@gmail.com" + }, + { + "github_handle": "robertzhidealx", + "name": "Robert Zhang", + "affiliation": "University of Texas at Austin", + "email": "robertz@cs.utexas.edu" + }, + { + "github_handle": "crystalxyz", + "name": "Crystal Zhou", + "affiliation": "Cornell University", + "email": "xz957@cornell.edu", + "adapter_rank": 1000 + }, + { + "github_handle": "orfeas-menis", + "name": "Orfeas Menis Mastromichalakis", + "affiliation": "Instituto de Telecomunica\u00e7\u00f5es", + "email": "menisorfeas@gmail.com" + }, + { + "github_handle": "davidheineman", + "name": "David Heineman", + "affiliation": "Allen Institute for AI", + "email": "davidh@allenai.org" + }, + { + "github_handle": "omi-n", + "name": "Nabil Omi", + "affiliation": "University of Washington", + "email": "nabilomi@cs.washington.edu" + }, + { + "github_handle": "junhongmit", + "name": "Junhong Lin", + "affiliation": "Massachusetts Institute of Technology", + "email": "junhonghust@gmail.com" + }, + { + "github_handle": "MichaelY310", + "name": "Michael Yang", + "affiliation": "UC Santa Barbara", + "email": "yang335@ucsb.edu" + }, + { + "github_handle": "ethanlshen", + "name": "Ethan Shen", + "affiliation": "University of Washington", + "email": "ethans03@cs.washington.edu" + }, + { + "github_handle": "Dongzhikang", + "name": "Zhikang Dong", + "affiliation": "Stony Brook University", + "email": "zhikang.dong.1@stonybrook.edu" + }, + { + "github_handle": "audreycs", + "name": "Yuxin Wang", + "affiliation": "Dartmouth College", + "email": "yuxin.wang.gr@dartmouth.edu" + }, + { + "github_handle": "ekellbuch", + "name": "Kelly Buchanan", + "affiliation": "Stanford University", + "email": "ekb@stanford.edu" + }, + { + "github_handle": "speed1313", + "name": "Issa Sugiura", + "affiliation": "Kyoto University", + "email": "sugiura.issa.q29@kyoto-u.jp" + }, + { + "github_handle": "ludwigschmidt", + "name": "Ludwig Schmidt", + "affiliation": "Stanford University", + "email": "ludwigschmidt2@gmail.com", + "role": "Advisor", + "rank": -100 + } +] \ No newline at end of file diff --git a/utils/contributors/src/collect_pr_data.py b/utils/contributors/src/collect_pr_data.py new file mode 100644 index 0000000..342ade6 --- /dev/null +++ b/utils/contributors/src/collect_pr_data.py @@ -0,0 +1,119 @@ +#!/usr/bin/env python3 +"""Collect all merged PR data from laude-institute/harbor via GitHub API. + +Outputs raw_pr_data.json with fields: + pr_number, pr_url, author_github_handle, additions, deletions, pr_title, pr_type +""" + +import json +import os +import subprocess +import sys + +DATA_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "data") +REPO = "laude-institute/harbor" +PER_PAGE = 100 + + +def classify_pr(title: str, labels: list[str]) -> str: + """Classify PR type based on title and labels.""" + title_lower = title.lower() + label_names = [l.lower() for l in labels] + + if any(k in title_lower for k in ["adapter", "[adapter]"]): + return "adapter" + if any(k in label_names for k in ["adapter"]): + return "adapter" + if any(k in title_lower for k in ["task", "[task]"]): + return "task" + if any(k in label_names for k in ["task"]): + return "task" + if any(k in title_lower for k in [ + "ci", "cd", "infra", "build", "deps", "chore", "refactor", + "test", "lint", "format", "config", "[engineering]", + ]): + return "engineering" + if any(k in label_names for k in ["engineering", "infrastructure", "ci/cd"]): + return "engineering" + return "other" + + +def fetch_merged_prs() -> list[dict]: + """Fetch all merged PRs using gh CLI with pagination.""" + # --paginate concatenates multiple JSON arrays; use jq-style flattening + cmd = [ + "gh", "api", "--paginate", + "--jq", ".[] | select(.merged_at != null)", + f"/repos/{REPO}/pulls?state=closed&per_page={PER_PAGE}", + ] + print(f"Fetching merged PRs from {REPO}...") + result = subprocess.run(cmd, capture_output=True, text=True, check=True) + + # Each line from --jq is a separate JSON object + # But with --jq and array expansion, they come as newline-delimited JSON + all_prs = [] + decoder = json.JSONDecoder() + text = result.stdout.strip() + pos = 0 + while pos < len(text): + # Skip whitespace + while pos < len(text) and text[pos] in ' \t\n\r': + pos += 1 + if pos >= len(text): + break + obj, end = decoder.raw_decode(text, pos) + all_prs.append(obj) + pos = end + + print(f"Found {len(all_prs)} merged PRs") + return all_prs + + +def get_pr_details(pr_number: int) -> dict: + """Fetch additions/deletions for a specific PR.""" + cmd = [ + "gh", "api", + f"/repos/{REPO}/pulls/{pr_number}", + ] + result = subprocess.run(cmd, capture_output=True, text=True, check=True) + return json.loads(result.stdout) + + +def main(): + merged_prs = fetch_merged_prs() + + pr_data = [] + total = len(merged_prs) + + for i, pr in enumerate(merged_prs): + pr_number = pr["number"] + print(f"[{i + 1}/{total}] Fetching details for PR #{pr_number}...") + + # Get detailed PR info for additions/deletions + details = get_pr_details(pr_number) + + labels = [label["name"] for label in pr.get("labels", [])] + + entry = { + "pr_number": pr_number, + "pr_url": pr["html_url"], + "author_github_handle": pr["user"]["login"], + "additions": details.get("additions", 0), + "deletions": details.get("deletions", 0), + "pr_title": pr["title"], + "pr_type": classify_pr(pr["title"], labels), + } + pr_data.append(entry) + + # Sort by PR number descending + pr_data.sort(key=lambda x: x["pr_number"], reverse=True) + + output_path = os.path.join(DATA_DIR, "raw_pr_data.json") + with open(output_path, "w") as f: + json.dump(pr_data, f, indent=2) + + print(f"\nWrote {len(pr_data)} PRs to {output_path}") + + +if __name__ == "__main__": + main() diff --git a/utils/contributors/src/collect_user_data.py b/utils/contributors/src/collect_user_data.py new file mode 100644 index 0000000..5e9ea3e --- /dev/null +++ b/utils/contributors/src/collect_user_data.py @@ -0,0 +1,57 @@ +#!/usr/bin/env python3 +"""Collect GitHub user info for all PR authors. + +Reads raw_pr_data.json to get unique author handles, then fetches +user profiles via GitHub API. + +Outputs raw_github_users_data.json with fields: + github_handle, email, name, affiliation +""" + +import json +import os +import subprocess +import sys + +DATA_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "data") + + +def get_user_info(handle: str) -> dict: + """Fetch GitHub user profile.""" + cmd = ["gh", "api", f"/users/{handle}"] + result = subprocess.run(cmd, capture_output=True, text=True) + if result.returncode != 0: + print(f" Warning: could not fetch user {handle}: {result.stderr.strip()}") + return {} + return json.loads(result.stdout) + + +def main(): + with open(os.path.join(DATA_DIR, "raw_pr_data.json")) as f: + pr_data = json.load(f) + + # Collect unique author handles + handles = sorted(set(pr["author_github_handle"] for pr in pr_data)) + print(f"Found {len(handles)} unique authors") + + users = [] + for i, handle in enumerate(handles): + print(f"[{i + 1}/{len(handles)}] Fetching user info for {handle}...") + info = get_user_info(handle) + + users.append({ + "github_handle": handle, + "email": info.get("email") or "", + "name": info.get("name") or handle, + "affiliation": info.get("company") or "", + }) + + output_path = os.path.join(DATA_DIR, "raw_github_users_data.json") + with open(output_path, "w") as f: + json.dump(users, f, indent=2) + + print(f"\nWrote {len(users)} users to {output_path}") + + +if __name__ == "__main__": + main() diff --git a/utils/contributors/src/generate_contributions.py b/utils/contributors/src/generate_contributions.py new file mode 100644 index 0000000..78d67ad --- /dev/null +++ b/utils/contributors/src/generate_contributions.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python3 +"""Generate harbor_contribution.json by merging PR data and user data. + +Reads raw_pr_data.json and raw_github_users_data.json, groups by author, +ranks by PR count (ties broken by last name), and outputs harbor_contribution.json. + +Output format per contributor: +{ + "github_handle": str, + "email": str, + "name": str, + "affiliation": str, + "pr_count": int, + "total_additions": int, + "total_deletions": int, + "pr_list": [ + {"pr_url": str, "pr_title": str, "pr_type": str} + ] +} +""" + +import json +import os + +DATA_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "data") + + +def main(): + with open(os.path.join(DATA_DIR, "raw_pr_data.json")) as f: + pr_data = json.load(f) + + with open(os.path.join(DATA_DIR, "raw_github_users_data.json")) as f: + raw_user_data = json.load(f) + + with open(os.path.join(DATA_DIR, "verified_github_users_data.json")) as f: + verified_user_data = json.load(f) + + # Build user lookup: verified data takes precedence over raw GitHub data + user_map = {u["github_handle"]: u for u in raw_user_data} + for u in verified_user_data: + user_map[u["github_handle"]] = u + + # Group PRs by author + contributors: dict[str, dict] = {} + + for pr in pr_data: + handle = pr["author_github_handle"] + + if handle not in contributors: + user_info = user_map.get(handle, {}) + contributors[handle] = { + "github_handle": handle, + "email": user_info.get("email", ""), + "name": user_info.get("name", handle), + "affiliation": user_info.get("affiliation", ""), + "role": user_info.get("role", "Contributor"), + "rank": user_info.get("rank", 0), + "adapter_rank": user_info.get("adapter_rank", 0), + "pr_count": 0, + "adapter_pr_count": 0, + "non_adapter_pr_count": 0, + "total_additions": 0, + "total_deletions": 0, + "pr_list": [], + } + + c = contributors[handle] + c["pr_count"] += 1 + if pr["pr_type"] == "adapter": + c["adapter_pr_count"] += 1 + else: + c["non_adapter_pr_count"] += 1 + c["total_additions"] += pr["additions"] + c["total_deletions"] += pr["deletions"] + c["pr_list"].append({ + "pr_url": pr["pr_url"], + "pr_title": pr["pr_title"], + "pr_type": pr["pr_type"], + }) + + # Insert verified users who have no PRs (e.g. advisors) + for u in verified_user_data: + handle = u["github_handle"] + if handle not in contributors: + contributors[handle] = { + "github_handle": handle, + "email": u.get("email", ""), + "name": u.get("name", handle), + "affiliation": u.get("affiliation", ""), + "role": u.get("role", "Contributor"), + "rank": u.get("rank", 0), + "adapter_rank": u.get("adapter_rank", 0), + "pr_count": 0, + "adapter_pr_count": 0, + "non_adapter_pr_count": 0, + "total_additions": 0, + "total_deletions": 0, + "pr_list": [], + } + + def last_name(c: dict) -> str: + """Extract last name (last whitespace-separated token) for tiebreaking.""" + parts = c["name"].strip().split() + return parts[-1].lower() if parts else c["github_handle"].lower() + + # Rank by PR count (descending), then by last name (ascending) for ties + ranked = sorted(contributors.values(), key=lambda x: (-x["pr_count"], last_name(x))) + + output_path = os.path.join(DATA_DIR, "harbor_contribution.json") + with open(output_path, "w") as f: + json.dump(ranked, f, indent=2) + + print(f"Wrote {len(ranked)} contributors to {output_path}") + + # Print summary + print("\nTop 10 contributors by PR count:") + for i, c in enumerate(ranked[:10]): + print(f" {i + 1}. {c['name']} (@{c['github_handle']}) - " + f"{c['pr_count']} PRs, +{c['total_additions']}/-{c['total_deletions']}") + + +if __name__ == "__main__": + main()