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()