This view is limited to 50 files because it contains too many changes. See the raw diff here.
Files changed (50) hide show
  1. .gitattributes +0 -1
  2. .github/workflows/sync-to-hf-space-stage.yml +0 -101
  3. .github/workflows/sync-to-hf-space.yml +0 -147
  4. .github/workflows/update-csv.yml +0 -35
  5. .gitignore +1 -3
  6. Makefile +1 -18
  7. README.md +14 -115
  8. VERSION +0 -1
  9. app.py +31 -1025
  10. requirements.txt +2 -5
  11. results.csv +0 -67
  12. results/claude-opus-4-7-internal.json +27 -0
  13. results/qwen3-6-35b-internal.json +27 -0
  14. results/{swe-bench-verified-claude-sonnet-4-6-claude-code.json → qwen3-6-35b-nvfp4-claude-code.json} +15 -17
  15. results/rh-swe-bench-claude-opus-4-6-claude-code.json +0 -58
  16. results/rh-swe-bench-claude-sonnet-4-6-claude-code.json +0 -58
  17. results/rh-swe-bench-gpt-oss-120b-claude-code.json +0 -48
  18. results/rh-swe-bench-gpt-oss-120b-opencode.json +0 -48
  19. results/rh-swe-bench-gpt-oss-120b-pi.json +0 -48
  20. results/rh-swe-bench-nemotron-120b-claude-code.json +0 -48
  21. results/rh-swe-bench-nemotron-120b-opencode.json +0 -48
  22. results/rh-swe-bench-nemotron-120b-pi.json +0 -48
  23. results/rh-swe-bench-qwen3-6-27b-fp8-claude-code.json +0 -48
  24. results/rh-swe-bench-qwen3-6-27b-fp8-opencode.json +0 -48
  25. results/rh-swe-bench-qwen3-6-27b-fp8-pi.json +0 -48
  26. results/shellbench-gemma4-31b-fp8-openclaw.json +0 -48
  27. results/shellbench-gpt-oss-120b-openclaw.json +0 -48
  28. results/shellbench-mistral4-119b-fp4-openclaw.json +0 -48
  29. results/shellbench-nemotron-120b-openclaw.json +0 -48
  30. results/shellbench-qwen3-6-27b-fp8-openclaw.json +0 -48
  31. results/swe-bench-pro--ansible-claude-opus-4-8-claude-code.json +0 -60
  32. results/swe-bench-pro--ansible-claude-opus-4-8-opencode.json +0 -60
  33. results/swe-bench-pro--ansible-claude-sonnet-4-6-claude-code.json +0 -60
  34. results/swe-bench-pro--ansible-gemma4-31b-fp8-claude-code.json +0 -48
  35. results/swe-bench-pro--ansible-gemma4-31b-fp8-opencode.json +0 -48
  36. results/swe-bench-pro--ansible-gemma4-31b-fp8-pi.json +0 -48
  37. results/swe-bench-pro--ansible-gpt-5-5-codex.json +0 -60
  38. results/swe-bench-pro--ansible-gpt-oss-120b-claude-code.json +0 -48
  39. results/swe-bench-pro--ansible-gpt-oss-120b-opencode.json +0 -48
  40. results/swe-bench-pro--ansible-gpt-oss-120b-pi.json +0 -48
  41. results/swe-bench-pro--ansible-mistral-small-4-119b-nvfp4-claude-code.json +0 -58
  42. results/swe-bench-pro--ansible-mistral-small-4-119b-nvfp4-opencode.json +0 -58
  43. results/swe-bench-pro--ansible-mistral-small-4-119b-nvfp4-pi.json +0 -58
  44. results/swe-bench-pro--ansible-nemotron-120b-claude-code.json +0 -48
  45. results/swe-bench-pro--ansible-nemotron-120b-opencode.json +0 -48
  46. results/swe-bench-pro--ansible-nemotron-120b-pi.json +0 -48
  47. results/swe-bench-pro--ansible-qwen3-6-27b-fp8-claude-code.json +0 -48
  48. results/swe-bench-pro--ansible-qwen3-6-27b-fp8-opencode.json +0 -48
  49. results/swe-bench-pro--ansible-qwen3-6-27b-fp8-pi.json +0 -48
  50. results/swe-bench-pro--ansible-qwen3-6-35b-nvfp4-claude-code.json +0 -60
.gitattributes CHANGED
@@ -33,4 +33,3 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zst filter=lfs diff=lfs merge=lfs -text
34
  *tfevents* filter=lfs diff=lfs merge=lfs -text
35
  scale-hf-logo.png filter=lfs diff=lfs merge=lfs -text
36
- *.png filter=lfs diff=lfs merge=lfs -text
 
33
  *.zst filter=lfs diff=lfs merge=lfs -text
34
  *tfevents* filter=lfs diff=lfs merge=lfs -text
35
  scale-hf-logo.png filter=lfs diff=lfs merge=lfs -text
 
.github/workflows/sync-to-hf-space-stage.yml DELETED
@@ -1,101 +0,0 @@
1
- name: Sync stage to HF Space (staging)
2
-
3
- # Mirrors every push to `stage` on GitHub into the HF Space git remote so
4
- # that the staging Space (https://huggingface.co/spaces/taagarwa/coding-agent-leaderboard-stage)
5
- # always tracks the stage branch.
6
- #
7
- # Required repository secrets (Settings -> Secrets and variables -> Actions):
8
- # HF_TOKEN Hugging Face access token with write permission to the Space.
9
- # HF_USERNAME Optional fallback username if token introspection fails.
10
-
11
- on:
12
- push:
13
- branches: [stage]
14
- workflow_dispatch:
15
-
16
- concurrency:
17
- group: sync-to-hf-space-stage
18
- cancel-in-progress: false
19
-
20
- jobs:
21
- mirror:
22
- runs-on: ubuntu-latest
23
- timeout-minutes: 10
24
- steps:
25
- - name: Checkout GitHub stage (full history + LFS)
26
- uses: actions/checkout@v4
27
- with:
28
- fetch-depth: 0
29
- lfs: true
30
-
31
- - name: Verify required secrets
32
- env:
33
- HF_TOKEN: ${{ secrets.HF_TOKEN }}
34
- run: |
35
- if [ -z "$HF_TOKEN" ]; then
36
- echo "::error::HF_TOKEN repository secret must be set."
37
- exit 1
38
- fi
39
-
40
- - name: Ensure HF Space exists
41
- id: hf
42
- env:
43
- HF_TOKEN: ${{ secrets.HF_TOKEN }}
44
- HF_USERNAME: ${{ secrets.HF_USERNAME }}
45
- run: |
46
- set -euo pipefail
47
- python -m pip install --quiet 'huggingface_hub>=0.24,<2'
48
- python - <<'PY'
49
- import os
50
-
51
- from huggingface_hub import HfApi
52
-
53
- token = os.environ["HF_TOKEN"]
54
- space_id = "taagarwa/coding-agent-leaderboard-stage"
55
- fallback_username = os.environ.get("HF_USERNAME", "").strip()
56
-
57
- api = HfApi(token=token)
58
- username = fallback_username
59
- try:
60
- info = api.whoami(token=token)
61
- username = str(info.get("name") or username).strip()
62
- except Exception as exc:
63
- if not username:
64
- raise RuntimeError("HF_USERNAME fallback is required when token introspection fails") from exc
65
-
66
- api.create_repo(
67
- repo_id=space_id,
68
- repo_type="space",
69
- space_sdk="docker",
70
- token=token,
71
- exist_ok=True,
72
- )
73
-
74
- with open(os.environ["GITHUB_OUTPUT"], "a", encoding="utf-8") as output:
75
- output.write(f"username={username}\n")
76
- print(f"HF Space ready: {space_id}")
77
- PY
78
-
79
- - name: Push to HF Space remote
80
- env:
81
- HF_TOKEN: ${{ secrets.HF_TOKEN }}
82
- HF_USERNAME: ${{ steps.hf.outputs.username }}
83
- run: |
84
- set -euo pipefail
85
- HF_REMOTE="https://${HF_USERNAME}:${HF_TOKEN}@huggingface.co/spaces/taagarwa/coding-agent-leaderboard-stage"
86
-
87
- git config user.name "github-actions[bot]"
88
- git config user.email "github-actions[bot]@users.noreply.github.com"
89
-
90
- echo "Pushing $(git rev-parse --short HEAD) to taagarwa/coding-agent-leaderboard-stage..."
91
- git push --force "${HF_REMOTE}" HEAD:main
92
- echo "Sync complete."
93
-
94
- - name: Summary
95
- if: success()
96
- run: |
97
- echo "### HF Space mirror (staging)" >> "$GITHUB_STEP_SUMMARY"
98
- echo "" >> "$GITHUB_STEP_SUMMARY"
99
- echo "Pushed \`$(git rev-parse --short HEAD)\` to \`taagarwa/coding-agent-leaderboard-stage\` Space." >> "$GITHUB_STEP_SUMMARY"
100
- echo "" >> "$GITHUB_STEP_SUMMARY"
101
- echo "View the Space: <https://huggingface.co/spaces/taagarwa/coding-agent-leaderboard-stage>" >> "$GITHUB_STEP_SUMMARY"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.github/workflows/sync-to-hf-space.yml DELETED
@@ -1,147 +0,0 @@
1
- name: Release to HF Space (production)
2
-
3
- # Releases the production HF Space
4
- # (https://huggingface.co/spaces/taagarwa/coding-agent-leaderboard) when a
5
- # version bump lands on `main`.
6
- #
7
- # Release flow:
8
- # 1. In your PR, bump the `VERSION` file (e.g. `make bump VERSION=1.2.3`).
9
- # 2. Merge the PR into `main`.
10
- # 3. This workflow runs, creates the `v<VERSION>` git tag on the merge
11
- # commit, and pushes that commit to the HF Space.
12
- #
13
- # Pushes to `main` that do not change `VERSION` do NOT deploy. If the tag for
14
- # the current VERSION already exists (e.g. VERSION was edited without a bump),
15
- # the workflow fails instead of deploying, so an existing release tag is never
16
- # moved.
17
- #
18
- # Required repository secrets (Settings -> Secrets and variables -> Actions):
19
- # HF_TOKEN Hugging Face access token with write permission to the Space.
20
- # Create at https://huggingface.co/settings/tokens
21
- # (token type "Write" is sufficient; no organization scope needed).
22
- # HF_USERNAME Optional fallback username if token introspection fails.
23
- #
24
- # Optional: set HF_SPACE_ID as a repo variable (not secret) to point the
25
- # workflow at a different Space; defaults to "taagarwa/coding-agent-leaderboard".
26
-
27
- on:
28
- push:
29
- branches: [main]
30
- paths:
31
- - VERSION
32
- # Manual dispatch re-deploys an existing release tag on demand from the
33
- # Actions tab (e.g. to recover the Space after a bad manual edit). It never
34
- # creates tags.
35
- workflow_dispatch:
36
- inputs:
37
- tag:
38
- description: "Existing release tag to redeploy (e.g. v1.2.3)"
39
- required: true
40
- type: string
41
-
42
- # Only one release job at a time so we never race ourselves into
43
- # non-fast-forward pushes on the Space remote.
44
- concurrency:
45
- group: sync-to-hf-space
46
- cancel-in-progress: false
47
-
48
- jobs:
49
- release:
50
- runs-on: ubuntu-latest
51
- timeout-minutes: 10
52
- permissions:
53
- contents: write # needed to push the release tag
54
- env:
55
- HF_SPACE_ID: ${{ vars.HF_SPACE_ID || 'taagarwa/coding-agent-leaderboard' }}
56
- steps:
57
- - name: Checkout (full history + LFS)
58
- uses: actions/checkout@v4
59
- with:
60
- ref: ${{ github.event_name == 'workflow_dispatch' && inputs.tag || github.ref }}
61
- fetch-depth: 0
62
- lfs: true
63
-
64
- - name: Verify required secrets
65
- env:
66
- HF_TOKEN: ${{ secrets.HF_TOKEN }}
67
- run: |
68
- if [ -z "$HF_TOKEN" ]; then
69
- echo "::error::HF_TOKEN repository secret must be set."
70
- echo " Create HF_TOKEN at https://huggingface.co/settings/tokens (type: Write)"
71
- exit 1
72
- fi
73
-
74
- - name: Resolve release tag
75
- id: tag
76
- env:
77
- EVENT_NAME: ${{ github.event_name }}
78
- INPUT_TAG: ${{ inputs.tag }}
79
- run: |
80
- set -euo pipefail
81
- FILE_VERSION="$(tr -d '[:space:]' < VERSION)"
82
- if [[ ! "$FILE_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
83
- echo "::error::VERSION file contains '$FILE_VERSION'; expected MAJOR.MINOR.PATCH."
84
- exit 1
85
- fi
86
- TAG="v${FILE_VERSION}"
87
-
88
- if [ "$EVENT_NAME" = "workflow_dispatch" ]; then
89
- if [ "$INPUT_TAG" != "$TAG" ]; then
90
- echo "::error::Requested tag '$INPUT_TAG' does not match VERSION file at that ref ('$FILE_VERSION')."
91
- exit 1
92
- fi
93
- echo "Redeploying existing release ${TAG}."
94
- else
95
- if git rev-parse -q --verify "refs/tags/${TAG}" >/dev/null; then
96
- echo "::error::Tag ${TAG} already exists. Bump VERSION to a new number to release; existing release tags are never moved."
97
- exit 1
98
- fi
99
- fi
100
-
101
- echo "tag=${TAG}" >> "$GITHUB_OUTPUT"
102
- echo "Release ${TAG} at $(git rev-parse --short HEAD)."
103
-
104
- - name: Create release tag
105
- if: github.event_name == 'push'
106
- env:
107
- RELEASE_TAG: ${{ steps.tag.outputs.tag }}
108
- run: |
109
- set -euo pipefail
110
- git config user.name "github-actions[bot]"
111
- git config user.email "github-actions[bot]@users.noreply.github.com"
112
- git tag -a "$RELEASE_TAG" -m "Release $RELEASE_TAG"
113
- git push origin "refs/tags/$RELEASE_TAG"
114
- echo "Created and pushed ${RELEASE_TAG}."
115
-
116
- - name: Push to HF Space remote
117
- env:
118
- HF_TOKEN: ${{ secrets.HF_TOKEN }}
119
- HF_USERNAME: ${{ secrets.HF_USERNAME || github.repository_owner }}
120
- RELEASE_TAG: ${{ steps.tag.outputs.tag }}
121
- run: |
122
- set -euo pipefail
123
- # Authenticate via token in the URL. HF Spaces accept the
124
- # username + token basic-auth format over HTTPS git.
125
- HF_REMOTE="https://${HF_USERNAME}:${HF_TOKEN}@huggingface.co/spaces/${HF_SPACE_ID}"
126
-
127
- echo "Pushing ${RELEASE_TAG} ($(git rev-parse --short HEAD)) to ${HF_SPACE_ID}..."
128
-
129
- # --force is intentional: GitHub is the single source of truth
130
- # for the Space's git history. Anything on the Space side that
131
- # wasn't committed via GitHub is overwritten on the next sync.
132
- # This prevents the drift situation where someone edits files
133
- # in the HF Space UI and creates commits only visible there.
134
- git push --force "${HF_REMOTE}" HEAD:main
135
-
136
- echo "Sync complete."
137
-
138
- - name: Summary
139
- if: success()
140
- env:
141
- RELEASE_TAG: ${{ steps.tag.outputs.tag }}
142
- run: |
143
- echo "### HF Space release" >> "$GITHUB_STEP_SUMMARY"
144
- echo "" >> "$GITHUB_STEP_SUMMARY"
145
- echo "Deployed \`${RELEASE_TAG}\` (\`$(git rev-parse --short HEAD)\`) to \`${HF_SPACE_ID}\` Space." >> "$GITHUB_STEP_SUMMARY"
146
- echo "" >> "$GITHUB_STEP_SUMMARY"
147
- echo "View the Space: <https://huggingface.co/spaces/${HF_SPACE_ID}>" >> "$GITHUB_STEP_SUMMARY"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.github/workflows/update-csv.yml DELETED
@@ -1,35 +0,0 @@
1
- name: Update results CSV
2
-
3
- on:
4
- push:
5
- branches: [main]
6
- paths:
7
- - "results/*.json"
8
-
9
- jobs:
10
- update-csv:
11
- runs-on: ubuntu-latest
12
- timeout-minutes: 5
13
- permissions:
14
- contents: write
15
- steps:
16
- - uses: actions/checkout@v4
17
- with:
18
- token: ${{ secrets.PAT_TOKEN }}
19
-
20
- - uses: actions/setup-python@v5
21
- with:
22
- python-version: "3.12"
23
-
24
- - name: Install dependencies
25
- run: pip install pandas==2.2.3
26
-
27
- - name: Generate CSV
28
- run: python src/results_to_csv.py
29
-
30
- - name: Commit if changed
31
- run: |
32
- git config user.name "github-actions[bot]"
33
- git config user.email "github-actions[bot]@users.noreply.github.com"
34
- git add results.csv
35
- git diff --staged --quiet || (git commit -m "Auto-update results.csv" && git push)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.gitignore CHANGED
@@ -6,11 +6,9 @@ __pycache__/
6
  *ipynb
7
  .vscode/
8
 
9
- Backup/
10
  eval-queue/
11
  eval-results/
12
  eval-queue-bk/
13
  eval-results-bk/
14
  logs/
15
- uv.lock
16
- .venv/
 
6
  *ipynb
7
  .vscode/
8
 
 
9
  eval-queue/
10
  eval-results/
11
  eval-queue-bk/
12
  eval-results-bk/
13
  logs/
14
+ uv.lock
 
Makefile CHANGED
@@ -1,17 +1,4 @@
1
- .PHONY: style format quality csv bump
2
-
3
- # Bump the VERSION file and commit it. Do this in your PR; when the PR merges
4
- # into main, CI creates the v<VERSION> tag and deploys to the production Space.
5
- # Usage: make bump VERSION=1.2.3
6
- bump:
7
- @test -n "$(VERSION)" || { echo "usage: make bump VERSION=X.Y.Z"; exit 1; }
8
- @echo "$(VERSION)" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+$$' || { echo "VERSION must be MAJOR.MINOR.PATCH"; exit 1; }
9
- @git fetch --tags --quiet origin 2>/dev/null || true
10
- @! git rev-parse -q --verify "refs/tags/v$(VERSION)" >/dev/null || { echo "tag v$(VERSION) already exists"; exit 1; }
11
- @echo "$(VERSION)" > VERSION
12
- git add VERSION
13
- git commit -m "Bump version to $(VERSION)"
14
- @echo "VERSION is now $(VERSION). Merge to main to release v$(VERSION)."
15
 
16
 
17
  style:
@@ -24,7 +11,3 @@ quality:
24
  python -m black --check --line-length 119 .
25
  python -m isort --check-only .
26
  ruff check .
27
-
28
-
29
- csv:
30
- python src/results_to_csv.py
 
1
+ .PHONY: style format
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
 
4
  style:
 
11
  python -m black --check --line-length 119 .
12
  python -m isort --check-only .
13
  ruff check .
 
 
 
 
README.md CHANGED
@@ -15,127 +15,26 @@ tags:
15
 
16
  # Coding Agent Leaderboard
17
 
18
- Compare coding-agent models and harnesses across benchmark performance, cost, latency, and token usage.
19
-
20
- ## Leaderboard views
21
-
22
- ### Efficiency
23
-
24
- The **Efficiency** tab compares benchmark score with resource use for one selected benchmark at a time. Keeping the view benchmark-specific avoids misleading comparisons when model and harness combinations have incomplete benchmark coverage.
25
- The generalized performance-vs-resource chart covers tokens, cost, and agent time in one benchmark-specific view.
26
-
27
- The scatter plot supports three resource metrics on the x-axis:
28
-
29
- - **Total tokens**: mean total token usage per task.
30
- - **Cost per task**: the repository's reported `mean_cost_usd_per_task` value, in USD.
31
- - **Agent time per task**: the repository's reported `mean_agent_time_seconds_per_task` value, in seconds.
32
-
33
- Only positive, available values for the selected resource are plotted. Missing, zero, and negative values are treated as unavailable rather than as perfect efficiency. The UI reports how many runs for the selected benchmark were excluded for the chosen resource metric.
34
-
35
- Scores are stored internally as fractions from 0 to 1 and displayed as percentages. Point labels are optional and coloring can be grouped by **Model** or **Harness**. Linear and logarithmic resource axes are available.
36
-
37
- #### Pareto frontier
38
-
39
- For all three resource metrics, lower resource use and higher score are better. A displayed run is Pareto-efficient when no other valid run on the selected benchmark:
40
-
41
- - uses an equal or lower amount of the selected resource, and
42
- - achieves an equal or higher score,
43
-
44
- with at least one strict improvement. Tied nondominated points are preserved. The dashed line connects the Pareto-efficient observations.
45
-
46
- #### Ranking table
47
-
48
- The ranking table remains benchmark-specific and begins with **Model**, **Harness**, and **Benchmark**. Displayed scores are rounded to one decimal place without reducing the precision used for calculations.
49
-
50
- **Tokens Per Solved Task** remains available in the table as a reference metric even though it is no longer an Efficiency scatter x-axis option. It is defined as `Total Tokens Per Task / Score`, where Score is the fractional value from 0 to 1. It is unavailable when total token data is missing/non-positive or when Score is zero or negative.
51
-
52
- #### Color palettes and themes
53
-
54
- The Efficiency chart uses the shared palette registry and supports Citrus, Okabe-Ito, High contrast, Rainbow, Grayscale, Viridis, Plasma, and Cividis palettes with light and dark chart backgrounds.
55
-
56
  ## Adding a New Leaderboard Entry
57
 
58
- Create a pull request adding a new entry to the `results/` folder. See [`results/qwen3-6-35b-nvfp4-claude-code.json`](./results/qwen3-6-35b-nvfp4-claude-code.json) for an example result.
59
-
60
- Do not change the result JSON schema for Efficiency analysis. The feature uses resource and performance metrics already present in the existing result model.
61
 
62
  ## Development
63
 
64
- 1. Install dependencies:
65
-
66
- ```sh
67
- pip install -r requirements.txt
68
-
69
- # or
70
-
71
- uv venv
72
- uv pip install -r requirements.txt
73
- ```
74
-
75
- 2. Run the app:
76
-
77
- ```sh
78
- python app.py
79
- ```
80
-
81
- 3. Run tests:
82
-
83
- ```sh
84
- pytest
85
- ```
86
-
87
- ## Releasing
88
-
89
- Versions are managed with git tags. The `VERSION` file is the single source of truth for the version number (shown in the app header). Each release is tagged `v<VERSION>` on `main` by CI.
90
-
91
- Deployment targets:
92
-
93
- - **Staging** (`taagarwa/coding-agent-leaderboard-stage`): every push to the `stage` branch.
94
- - **Production** (`taagarwa/coding-agent-leaderboard`): only when a commit that changes `VERSION` lands on `main`. Other pushes to `main` do not deploy.
95
-
96
- To cut a release, bump the version in your PR:
97
-
98
- ```sh
99
- make bump VERSION=1.2.3 # writes VERSION and commits "Bump version to 1.2.3"
100
- git push # open / update your PR as usual
101
- ```
102
-
103
- When the PR is merged into `main`, the **Release to HF Space (production)** workflow creates the `v1.2.3` tag on the merge commit and pushes it to the Space. If a tag for the current `VERSION` already exists, the workflow fails rather than moving the tag, so bump to a new number for every release.
104
-
105
- To redeploy an existing release (e.g. after a manual edit on the Space), run the workflow from the Actions tab and supply the tag.
106
-
107
- ## Manual validation
108
-
109
- After automated checks pass, launch the app from a clean process with `python app.py` and verify the Efficiency view in a real browser. Unit tests and figure-level smoke tests do not replace this browser validation.
110
-
111
- ### Efficiency behavior
112
-
113
- - Confirm there is no **All benchmarks** option and that a valid benchmark is selected by default.
114
- - Confirm **Color By** offers only **Model** and **Harness**.
115
- - Confirm the resource selector offers **Total tokens**, **Cost per task**, and **Agent time per task**.
116
- - Switch through all three resource metrics and verify axis labels and hover formatting.
117
- - Verify the Pareto frontier for all three metrics.
118
- - Verify linear and logarithmic scales where valid.
119
- - Verify point labels off and on.
120
- - Confirm the ranking table starts with **Model**, **Harness**, **Benchmark**, shows scores to one decimal place, and retains **Tokens Per Solved Task**.
121
- - Confirm the existing Leaderboard and Benchmark Runs tabs still work without new terminal tracebacks.
122
-
123
- ### Responsive layout verification
124
 
125
- - Restart the app from a clean launch.
126
- - Open **Efficiency** as the first non-default tab and confirm the plot is not squished.
127
- - Switch away from Efficiency and back several times.
128
- - Resize the browser narrower and wider.
129
- - Confirm the plot resizes correctly without requiring a control change.
130
- - Verify there is no legend overlap or clipping.
131
- - Verify the ranking table below does not force the plot into a narrow column.
132
- - Repeat the checks with point labels off and on, Pareto off and on, each resource metric, and light and dark plot backgrounds.
133
- - Also switch **Leaderboard → Efficiency** and **Benchmark Runs → Efficiency** to confirm hidden-tab initialization does not collapse the chart.
134
 
135
- ### PR completion report
136
 
137
- The final PR report should state the files changed, metric definitions, tests and results, data-quality limitations, and whether the app was manually verified. For the responsive-layout fix, it must additionally record:
 
 
138
 
139
- - the root cause of the initial squished-chart issue;
140
- - the exact responsive-layout fix used; and
141
- - whether the behavior was manually verified from a fresh app launch.
 
 
 
15
 
16
  # Coding Agent Leaderboard
17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  ## Adding a New Leaderboard Entry
19
 
20
+ Create a PR adding a new entry into the `results/` folder.
21
+ Check out `results/qwen3-6-35b-nvfp4-claude-code.json`(./results/qwen3-6-35b-nvfp4-claude-code.json) for an example result.
 
22
 
23
  ## Development
24
 
25
+ 1. Install dependencies
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
 
27
+ ```sh
28
+ pip install -r requirements.txt
 
 
 
 
 
 
 
29
 
30
+ # or
31
 
32
+ uv venv
33
+ uv pip install -r requirements.txt
34
+ ```
35
 
36
+ 2. Run the app
37
+
38
+ ```sh
39
+ python app.py
40
+ ```
VERSION DELETED
@@ -1 +0,0 @@
1
- 0.1.0
 
 
app.py CHANGED
@@ -1,1068 +1,74 @@
1
  import os
2
- from pathlib import Path
3
-
4
-
5
- def patch_gradio_leaderboard():
6
- """Patch gradio_leaderboard JS to fix crash on tab switch with Gradio 5.x."""
7
- import gradio_leaderboard
8
-
9
- pkg_dir = Path(gradio_leaderboard.__file__).parent
10
- js_file = pkg_dir / "templates" / "component" / "Index-CzS_eGV6.js"
11
- if not js_file.exists():
12
- return
13
-
14
- src = js_file.read_text()
15
-
16
- patches = [
17
- # Fix 1 & 2: Guard r[39]/a[39] filter callback (undefined during Svelte outro)
18
- (
19
- 'r[0].filter(\n /*func*/\n r[39]\n ).map(qd)',
20
- '(r[39] ? r[0].filter(r[39]) : r[0]).map(qd)',
21
- ),
22
- (
23
- 'a[0].filter(\n /*func*/\n a[39]\n ).map(qd))',
24
- '(a[39] ? a[0].filter(a[39]) : a[0]).map(qd))',
25
- ),
26
- # Fix 3: Lx (Boolean) extracted from Rx (globals) which is undefined in Gradio 5
27
- (
28
- '{ Boolean: Lx } = Rx,',
29
- 'Lx = (Rx && Rx.Boolean) || Boolean,',
30
- ),
31
- ]
32
-
33
- patched = False
34
- for old, new in patches:
35
- if old in src:
36
- src = src.replace(old, new)
37
- patched = True
38
-
39
- if patched:
40
- js_file.write_text(src)
41
-
42
-
43
- patch_gradio_leaderboard()
44
 
45
  import gradio as gr
46
- import pandas as pd
47
  from apscheduler.schedulers.background import BackgroundScheduler
48
- from gradio_leaderboard import ColumnFilter, Leaderboard, SelectColumns
49
  from huggingface_hub import HfApi
50
 
51
- from src.analytics import (
52
- MATRIX_METRICS,
53
- RANKING_METRICS,
54
- TRADEOFF_METRICS,
55
- benchmarks_for_category,
56
- coverage_summary,
57
- cross_benchmark_ranking_df,
58
- enrich_analysis_df,
59
- filter_category,
60
- matrix_df,
61
- ranking_df,
62
- )
63
- from src.charts import (
64
- clean_markdown_link,
65
- create_coverage_matrix_plot,
66
- create_leaderboard_benchmark_plot,
67
- create_matrix_plot,
68
- create_performance_vs_resource_plot,
69
- create_ranking_plot,
70
- create_tradeoff_plot,
71
- )
72
  from src.display.text_blocks import (
73
- HOW_TO_USE_TEXT,
74
  INTRODUCTION_TEXT,
75
  LLM_BENCHMARKS_TEXT,
 
 
76
  )
77
- from src.leaderboard import (
78
- EFFICIENCY_RESOURCE_METRICS,
79
- get_analysis_df,
80
- get_benchmark_names,
81
- get_benchmark_run_df,
82
- get_efficiency_df,
83
- )
84
- from src.rankings import EXCLUDED_BENCHMARKS, RANK_BY_OPTIONS, load_and_rank
85
- from src.version import __version__
86
 
87
  REPO_ID = "taagarwa/coding-agent-leaderboard"
88
  TOKEN = os.environ.get("HF_TOKEN")
89
  API = HfApi(token=TOKEN)
90
- COLOR_BY_CHOICES = ["Model", "Harness"]
91
- EFFICIENCY_COLOR_BY_CHOICES = ["Model", "Harness"]
92
- COLOR_PALETTE_CHOICES = ["Citrus", "Okabe-Ito", "High contrast", "Rainbow"]
93
- DEFAULT_COLOR_PALETTE = "Citrus"
94
- PLOT_BACKGROUND_CHOICES = ["Dark", "White"]
95
- DEFAULT_PLOT_BACKGROUND = "Dark"
96
- RESPONSIVE_PLOT_MIN_HEIGHT_PX = 420
97
- TABLE_MAX_HEIGHT_PX = 720
98
- RESPONSIVE_PLOT_CSS = f"""
99
- <style>
100
- .responsive-plot {{
101
- overflow-x: hidden;
102
- width: 100%;
103
- min-width: 0;
104
- min-height: {RESPONSIVE_PLOT_MIN_HEIGHT_PX}px;
105
- }}
106
- .responsive-plot .plot-container,
107
- .responsive-plot .js-plotly-plot,
108
- .responsive-plot .plotly-graph-div,
109
- .responsive-plot .svg-container {{
110
- width: 100% !important;
111
- max-width: 100% !important;
112
- min-width: 0 !important;
113
- min-height: {RESPONSIVE_PLOT_MIN_HEIGHT_PX}px;
114
- }}
115
- .summary-cards {{
116
- display: grid;
117
- grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
118
- gap: 0.6rem;
119
- }}
120
- .summary-card {{
121
- border: 1px solid rgba(203,213,225,.18);
122
- border-radius: 10px;
123
- padding: .8rem;
124
- background: rgba(39,33,30,.7);
125
- }}
126
- .summary-card strong {{ font-size: 1.35rem; display:block; }}
127
- </style>
128
- """
129
- FORCE_DARK_MODE_HEAD = (
130
- """
131
- <script>
132
- (() => {
133
- const url = new URL(window.location.href);
134
- if (url.searchParams.get("__theme") !== "dark") {
135
- url.searchParams.set("__theme", "dark");
136
- window.location.replace(url.toString());
137
- return;
138
- }
139
-
140
- // Plotly often measures hidden Gradio tabs before they are visible. Resize every
141
- // visible chart when a tab opens, its container changes size, or the window resizes.
142
- const resizeVisiblePlots = () => {
143
- if (!window.Plotly) return;
144
- document.querySelectorAll('.responsive-plot .js-plotly-plot').forEach((plot) => {
145
- if (plot.offsetParent !== null) window.Plotly.Plots.resize(plot);
146
- });
147
- };
148
- const scheduleResize = () => {
149
- requestAnimationFrame(() => {
150
- resizeVisiblePlots();
151
- setTimeout(resizeVisiblePlots, 80);
152
- setTimeout(resizeVisiblePlots, 250);
153
- });
154
- };
155
- window.addEventListener('resize', scheduleResize);
156
- document.addEventListener('click', scheduleResize, true);
157
- document.addEventListener('DOMContentLoaded', () => {
158
- const observer = new ResizeObserver(scheduleResize);
159
- document.querySelectorAll('.responsive-plot').forEach((el) => observer.observe(el));
160
- const mutation = new MutationObserver(() => {
161
- document.querySelectorAll('.responsive-plot').forEach((el) => observer.observe(el));
162
- scheduleResize();
163
- });
164
- mutation.observe(document.body, {childList: true, subtree: true});
165
- scheduleResize();
166
- });
167
- })();
168
- </script>
169
- """
170
- + RESPONSIVE_PLOT_CSS
171
- )
172
 
173
 
174
  def restart_space():
175
  API.restart_space(repo_id=REPO_ID)
176
 
177
 
178
- BENCHMARK_NAMES = get_benchmark_names()
179
- DEFAULT_BENCHMARK = BENCHMARK_NAMES[0] if BENCHMARK_NAMES else None
180
- BENCHMARK_RUN_DF = get_benchmark_run_df()
181
- ANALYSIS_DF = get_analysis_df()
182
- PR2_DF = enrich_analysis_df(ANALYSIS_DF)
183
- CODING_BENCHMARKS = benchmarks_for_category(PR2_DF, "Coding")
184
- GENERALIST_BENCHMARKS = benchmarks_for_category(PR2_DF, "Generalist")
185
-
186
-
187
- def render_leaderboard_benchmark_plot(
188
- benchmark_name,
189
- color_by,
190
- color_palette=DEFAULT_COLOR_PALETTE,
191
- plot_background=DEFAULT_PLOT_BACKGROUND,
192
- ):
193
- return create_leaderboard_benchmark_plot(
194
- BENCHMARK_RUN_DF,
195
- benchmark_name=benchmark_name,
196
- color_by=color_by,
197
- palette_name=color_palette,
198
- background_name=plot_background,
199
- )
200
-
201
-
202
- def render_efficiency(
203
- benchmark_name,
204
- token_metric,
205
- color_by,
206
- x_scale,
207
- show_pareto_frontier,
208
- show_labels,
209
- color_palette=DEFAULT_COLOR_PALETTE,
210
- plot_background=DEFAULT_PLOT_BACKGROUND,
211
- ):
212
- plot_df = get_efficiency_df(
213
- benchmark_name=benchmark_name,
214
- resource_metric=token_metric,
215
- analysis_df=ANALYSIS_DF,
216
- )
217
- exclusion_count = plot_df.attrs.get("exclusion_count", 0)
218
- note = (
219
- f"{exclusion_count} runs excluded for this benchmark because "
220
- f"{token_metric.lower()} was missing or non-positive."
221
- )
222
- figure = create_performance_vs_resource_plot(
223
- plot_df,
224
- resource_metric=token_metric,
225
- color_by=color_by,
226
- x_scale=x_scale,
227
- show_pareto_frontier=show_pareto_frontier,
228
- show_labels=show_labels,
229
- palette_name=color_palette,
230
- background_name=plot_background,
231
- )
232
- return figure, note
233
-
234
-
235
- PAGE_TABLE_COLUMNS = [
236
- "Model",
237
- "Harness",
238
- "Benchmark",
239
- "Score (%)",
240
- "Within-Benchmark Rank",
241
- "Within-Benchmark Percentile",
242
- "Total Tokens Per Task",
243
- "Cost Per Task",
244
- "Total Time Per Task",
245
- "Agent Time Per Task",
246
- "Execution Error Rate (%)",
247
- "Tokens Per Successful Task",
248
- "Cost Per Successful Task",
249
- "Time Per Successful Task",
250
- ]
251
-
252
- PAGE_TABLE_SORT_COLUMNS = {
253
- "Score": "Score (%)",
254
- "Rank": "Within-Benchmark Rank",
255
- "Percentile": "Within-Benchmark Percentile",
256
- "Total tokens": "Total Tokens Per Task",
257
- "Cost": "Cost Per Task",
258
- "Response time": "Total Time Per Task",
259
- "Agent time": "Agent Time Per Task",
260
- "Execution error rate": "Execution Error Rate (%)",
261
- }
262
-
263
- PAGE_TABLE_HIGHER_IS_BETTER = {
264
- "Score": True,
265
- "Rank": False,
266
- "Percentile": True,
267
- "Total tokens": False,
268
- "Cost": False,
269
- "Response time": False,
270
- "Agent time": False,
271
- "Execution error rate": False,
272
- }
273
-
274
-
275
- def render_page_table(benchmark, sort_metric="Score", sort_order="Best first"):
276
- """One compact table per page with all metrics relevant to ranking/trade-off views."""
277
- data = PR2_DF.copy()
278
- if benchmark and benchmark != "All benchmarks":
279
- data = data[data["Benchmark"] == benchmark].copy()
280
- columns = [column for column in PAGE_TABLE_COLUMNS if column in data.columns]
281
- data = data[columns].copy()
282
- if data.empty:
283
- return data
284
-
285
- data["_agent"] = data["Model"].astype(str) + " / " + data["Harness"].astype(str)
286
- if sort_order == "Alphabetical (A–Z)":
287
- data = data.sort_values(["_agent", "Benchmark"], ascending=[True, True], kind="mergesort")
288
- elif sort_order == "Alphabetical (Z–A)":
289
- data = data.sort_values(["_agent", "Benchmark"], ascending=[False, True], kind="mergesort")
290
- else:
291
- sort_column = PAGE_TABLE_SORT_COLUMNS.get(sort_metric, "Score (%)")
292
- values = pd.to_numeric(data.get(sort_column), errors="coerce")
293
- data["_sort_value"] = values
294
- if sort_order == "Best first":
295
- ascending = not PAGE_TABLE_HIGHER_IS_BETTER.get(sort_metric, True)
296
- elif sort_order == "Best last":
297
- ascending = PAGE_TABLE_HIGHER_IS_BETTER.get(sort_metric, True)
298
- else:
299
- ascending = sort_order == "Lowest value first"
300
- data = data.sort_values(
301
- ["_sort_value", "_agent", "Benchmark"],
302
- ascending=[ascending, True, True],
303
- na_position="last",
304
- kind="mergesort",
305
- ).drop(columns="_sort_value")
306
- data = data.drop(columns="_agent").reset_index(drop=True)
307
-
308
- # Metrics displayed to 2 decimal places
309
- decimal_columns = [
310
- "Score (%)",
311
- "Within-Benchmark Percentile",
312
- "Execution Error Rate (%)",
313
- "Cost Per Successful Task",
314
- ]
315
-
316
- for column in decimal_columns:
317
- if column in data.columns:
318
- data[column] = pd.to_numeric(data[column], errors="coerce").round(2)
319
-
320
- # Token and time metrics displayed as whole numbers
321
- whole_number_columns = [
322
- "Total Tokens Per Task",
323
- "Total Time Per Task",
324
- "Agent Time Per Task",
325
- "Tokens Per Successful Task",
326
- "Time Per Successful Task",
327
- ]
328
-
329
- for column in whole_number_columns:
330
- if column in data.columns:
331
- data[column] = pd.to_numeric(data[column], errors="coerce").round(0)
332
-
333
- return data
334
-
335
-
336
- def render_ranking(
337
- metric,
338
- benchmark,
339
- color_by="Model",
340
- color_palette=DEFAULT_COLOR_PALETTE,
341
- plot_background=DEFAULT_PLOT_BACKGROUND,
342
- sort_order="Best first",
343
- ):
344
- def sort_table(table, metric_column, higher_is_better):
345
- if table is None or table.empty:
346
- return table
347
- work = table.copy()
348
- work["_agent"] = work["Model"].astype(str) + " / " + work["Harness"].astype(str)
349
- if sort_order == "Alphabetical (A–Z)":
350
- work = work.sort_values("_agent", ascending=True, kind="mergesort")
351
- elif sort_order == "Alphabetical (Z–A)":
352
- work = work.sort_values("_agent", ascending=False, kind="mergesort")
353
- elif sort_order in {"Best first", "Best last"}:
354
- ascending = not higher_is_better
355
- if sort_order == "Best last":
356
- ascending = not ascending
357
- work = work.sort_values(
358
- [metric_column, "_agent"],
359
- ascending=[ascending, True],
360
- kind="mergesort",
361
- )
362
- elif sort_order == "Lowest value first":
363
- work = work.sort_values(
364
- [metric_column, "_agent"],
365
- ascending=[True, True],
366
- kind="mergesort",
367
- )
368
- else:
369
- work = work.sort_values(
370
- [metric_column, "_agent"],
371
- ascending=[False, True],
372
- kind="mergesort",
373
- )
374
- return work.drop(columns="_agent").reset_index(drop=True)
375
-
376
- table = ranking_df(PR2_DF, metric, benchmark=benchmark)
377
- spec = RANKING_METRICS[metric]
378
- table = sort_table(table, spec.column, spec.higher_is_better)
379
- figure = create_ranking_plot(
380
- table,
381
- spec.column,
382
- spec.label,
383
- spec.higher_is_better,
384
- color_by=color_by,
385
- palette_name=color_palette,
386
- background_name=plot_background,
387
- sort_order=sort_order,
388
- )
389
- return figure, table
390
-
391
-
392
- TRADEOFF_PAIRS = {
393
- "Score vs cost": ("Cost Per Task", "Score (%)", "Cost per task (USD)", "Score (%)", True, True),
394
- "Score vs tokens": ("Total Tokens Per Task", "Score (%)", "Total tokens per task", "Score (%)", True, True),
395
- "Score vs total time": ("Total Time Per Task", "Score (%)", "Total time per task (seconds)", "Score (%)", True, True),
396
- "Score vs agent time": ("Agent Time Per Task", "Score (%)", "Agent time per task (seconds)", "Score (%)", True, True),
397
- "Score vs execution error rate": (
398
- "Execution Error Rate (%)", "Score (%)", "Execution error rate (%)", "Score (%)", True, True
399
- ),
400
- "Tokens vs cost": ("Total Tokens Per Task", "Cost Per Task", "Total tokens per task", "Cost per task (USD)", True, False),
401
- "Cost vs total time": ("Cost Per Task", "Total Time Per Task", "Cost per task (USD)", "Total time per task (seconds)", True, False),
402
- }
403
-
404
-
405
- def render_tradeoff(
406
- pair,
407
- benchmark,
408
- color_by,
409
- show_labels,
410
- x_scale,
411
- show_pareto,
412
- color_palette,
413
- plot_background,
414
- ):
415
- x_column, y_column, x_label, y_label, lower_x, higher_y = TRADEOFF_PAIRS[pair]
416
- data = PR2_DF[PR2_DF["Benchmark"] == benchmark].copy()
417
- figure = create_tradeoff_plot(
418
- data,
419
- x_column=x_column,
420
- y_column=y_column,
421
- x_label=x_label,
422
- y_label=y_label,
423
- color_by=color_by,
424
- show_labels=show_labels,
425
- x_scale=x_scale,
426
- show_pareto_frontier=show_pareto,
427
- lower_x_is_better=lower_x,
428
- higher_y_is_better=higher_y,
429
- palette_name=color_palette,
430
- background_name=plot_background,
431
- )
432
- valid = data[[x_column, y_column]].apply(pd.to_numeric, errors="coerce").dropna()
433
- note = f"{len(valid)} comparable runs shown for {benchmark}; missing metrics are omitted, not treated as zero."
434
- return figure, note
435
-
436
-
437
- def render_matrix(
438
- metric,
439
- category,
440
- include_incomplete,
441
- sort_by,
442
- show_values,
443
- reverse_scale,
444
- plot_background,
445
- ):
446
- category_filter = None if category == "All" else category
447
- matrix = matrix_df(
448
- PR2_DF,
449
- metric,
450
- category=category_filter,
451
- include_incomplete=include_incomplete,
452
- sort_by=sort_by,
453
- )
454
- if metric == "Coverage":
455
- return create_coverage_matrix_plot(matrix, plot_background)
456
- spec = MATRIX_METRICS[metric]
457
- display_matrix = None
458
- display_metric_label = None
459
- if metric == "Within-benchmark percentile":
460
- display_matrix = matrix_df(
461
- PR2_DF,
462
- "Score",
463
- category=category_filter,
464
- include_incomplete=include_incomplete,
465
- sort_by=sort_by,
466
- ).reindex(index=matrix.index, columns=matrix.columns)
467
- display_metric_label = "Benchmark score (%)"
468
- return create_matrix_plot(
469
- matrix,
470
- f"{metric} matrix",
471
- spec.label,
472
- higher_is_better=spec.higher_is_better,
473
- show_values=show_values,
474
- reverse_scale=reverse_scale,
475
- background_name=plot_background,
476
- display_matrix=display_matrix,
477
- display_metric_label=display_metric_label,
478
- )
479
-
480
-
481
- def category_leaderboard(category):
482
- data = filter_category(PR2_DF, category)
483
- if data.empty:
484
- return pd.DataFrame()
485
- normalized = cross_benchmark_ranking_df(data, minimum_coverage=0)
486
- return normalized
487
-
488
-
489
- def render_category_tradeoff(category, benchmark, metric, color_by, show_labels, plot_background):
490
- data = filter_category(PR2_DF, category)
491
- data = data[data["Benchmark"] == benchmark]
492
- spec = TRADEOFF_METRICS[metric]
493
- return create_tradeoff_plot(
494
- data,
495
- x_column=spec.column,
496
- y_column="Score (%)",
497
- x_label=spec.label,
498
- y_label="Score (%)",
499
- color_by=color_by,
500
- show_labels=show_labels,
501
- show_pareto_frontier=metric != "Execution error rate",
502
- lower_x_is_better=True,
503
- higher_y_is_better=True,
504
- background_name=plot_background,
505
- )
506
-
507
-
508
- def render_category_matrix(category, metric, show_values, plot_background):
509
- matrix = matrix_df(PR2_DF, metric, category=category, include_incomplete=True)
510
- if metric == "Coverage":
511
- return create_coverage_matrix_plot(matrix, plot_background)
512
- spec = MATRIX_METRICS[metric]
513
- display_matrix = None
514
- display_metric_label = None
515
- if metric == "Within-benchmark percentile":
516
- display_matrix = matrix_df(
517
- PR2_DF, "Score", category=category, include_incomplete=True
518
- ).reindex(index=matrix.index, columns=matrix.columns)
519
- display_metric_label = "Benchmark score (%)"
520
- return create_matrix_plot(
521
- matrix,
522
- f"{category} — {metric}",
523
- spec.label,
524
- higher_is_better=spec.higher_is_better,
525
- show_values=show_values,
526
- background_name=plot_background,
527
- display_matrix=display_matrix,
528
- display_metric_label=display_metric_label,
529
- )
530
-
531
 
532
- def build_header_html(df):
533
- summary = coverage_summary(PR2_DF)
534
- return f"""
535
- <base target="_blank">
536
- <div style="padding: 1.5rem 0.5rem 1rem 0.5rem; text-align: left; color: #F8FAFC;">
537
- <h1 style="margin: 0 0 0.5rem 0; font-size: 2rem;">Coding Agent Leaderboard
538
- <span style="font-size: 0.9rem; font-weight: 500; color: #94A3B8; margin-left: 0.5rem;">v{__version__}</span>
539
- </h1>
540
- <div style="height: 4px; border-radius: 2px; background: linear-gradient(90deg, #84cc16, #f59e0b); margin-bottom: 0.75rem;"></div>
541
- <p style="margin: 0 0 0.9rem 0; font-size: 1.1rem; color: #E5E7EB;">
542
- Performance, efficiency, coverage, and reliability across coding-agent benchmarks.
543
- Each result is one model + harness run on one benchmark.
544
- </p>
545
- <div class="summary-cards">
546
- <div class="summary-card"><strong>{summary['results']}</strong>benchmark results</div>
547
- <div class="summary-card"><strong>{summary['models']}</strong>models</div>
548
- <div class="summary-card"><strong>{summary['harnesses']}</strong>harnesses</div>
549
- <div class="summary-card"><strong>{summary['benchmarks']}</strong>benchmarks</div>
550
- <div class="summary-card"><strong>{summary['token_coverage_pct']:.0f}%</strong>token coverage</div>
551
- <div class="summary-card"><strong>{summary['cost_coverage_pct']:.0f}%</strong>cost coverage</div>
552
- <div class="summary-card"><strong>{summary['time_coverage_pct']:.0f}%</strong>timing coverage</div>
553
- </div>
554
- <p style="margin: 0.9rem 0 0 0; color: #CBD5E1; font-size: 0.95rem;">
555
- Cross-benchmark ordering uses within-benchmark percentiles rather than averaging incompatible raw score scales.
556
- Missing metrics remain missing and reduce coverage; they are never converted to zero.
557
- </p>
558
- </div>
559
- """
560
 
561
-
562
- def build_overview_html():
563
- summary = coverage_summary(PR2_DF)
564
- return f"""
565
- <div class="summary-cards">
566
- <div class="summary-card"><strong>{summary['results']}</strong>benchmark results</div>
567
- <div class="summary-card"><strong>{summary['models']}</strong>models</div>
568
- <div class="summary-card"><strong>{summary['harnesses']}</strong>harnesses</div>
569
- <div class="summary-card"><strong>{summary['benchmarks']}</strong>benchmarks</div>
570
- <div class="summary-card"><strong>{summary['token_coverage_pct']:.0f}%</strong>token coverage</div>
571
- <div class="summary-card"><strong>{summary['cost_coverage_pct']:.0f}%</strong>cost coverage</div>
572
- <div class="summary-card"><strong>{summary['time_coverage_pct']:.0f}%</strong>timing coverage</div>
573
- </div>
574
- """
575
-
576
-
577
- def init_benchmark_runs(dataframe):
578
  if dataframe is None or dataframe.empty:
579
  raise ValueError("Leaderboard DataFrame is empty or None.")
580
-
581
- label_choices = [("🟠 Fully FOSS", "🟠"), ("🔶 Proprietary", "🔶")]
582
- benchmark_choices = sorted({(clean_markdown_link(v), v) for v in dataframe["Benchmark"]})
583
- model_choices = sorted({(clean_markdown_link(v), v) for v in dataframe["Model"]})
584
- harness_choices = sorted({(clean_markdown_link(v), v) for v in dataframe["Harness"]})
585
-
586
  return Leaderboard(
587
  value=dataframe,
588
  select_columns=SelectColumns(
589
- default_selection=[
590
- " ",
591
- "Model",
592
- "Harness",
593
- "Benchmark",
594
- "Score",
595
- "Avg Cost Per Task (USD)",
596
- ],
597
  label="Select Columns to Display:",
598
  ),
599
- datatype="markdown",
600
- search_columns=[
601
- "Benchmark",
602
- "Harness",
603
- "Model",
604
- ],
605
  filter_columns=[
606
- ColumnFilter(label="Category", column=" ", type="checkboxgroup", choices=label_choices),
607
- ColumnFilter(label="Benchmark", column="Benchmark", type="checkboxgroup", choices=benchmark_choices),
608
- ColumnFilter(label="Model", column="Model", type="checkboxgroup", choices=model_choices),
609
- ColumnFilter(label="Harness", column="Harness", type="checkboxgroup", choices=harness_choices),
610
- ColumnFilter(label="Number of Parameters (B)", column="Model Num Params (B)", type="slider"),
611
- ColumnFilter(label="Precision", column="Precision", type="checkboxgroup"),
612
  ],
613
  interactive=False,
614
  )
615
 
616
 
617
- def add_category_section(category, benchmarks):
618
- if not benchmarks:
619
- gr.Markdown(f"No active benchmarks are currently classified as **{category}**.")
620
- return
621
- gr.Markdown(
622
- f"Results classified as **{category}**. Cross-benchmark ordering uses within-benchmark "
623
- "percentiles and reports coverage; raw benchmark scores are not averaged together."
624
- )
625
- gr.Markdown("#### Trade-offs")
626
- with gr.Row():
627
- benchmark = gr.Dropdown(choices=benchmarks, value=benchmarks[0], label="Benchmark")
628
- metric = gr.Dropdown(
629
- choices=["Cost per task", "Total tokens per task", "Total time per task", "Execution error rate"],
630
- value="Cost per task",
631
- label="X metric",
632
- )
633
- color_by = gr.Radio(choices=COLOR_BY_CHOICES, value="Model", label="Color by")
634
- labels = gr.Checkbox(value=False, label="Show point labels")
635
- background = gr.Dropdown(
636
- choices=PLOT_BACKGROUND_CHOICES, value=DEFAULT_PLOT_BACKGROUND, label="Image background"
637
- )
638
- plot = gr.Plot(
639
- value=render_category_tradeoff(category, benchmarks[0], "Cost per task", "Model", False, "Dark"),
640
- show_label=False,
641
- elem_classes="responsive-plot",
642
- )
643
- controls = [benchmark, metric, color_by, labels, background]
644
- for control in controls:
645
- control.change(
646
- fn=lambda b, m, c, l, bg, cat=category: render_category_tradeoff(cat, b, m, c, l, bg),
647
- inputs=controls,
648
- outputs=plot,
649
- )
650
-
651
- gr.Markdown("#### Matrix")
652
- with gr.Row():
653
- matrix_metric = gr.Dropdown(
654
- choices=[
655
- "Score", "Within-benchmark percentile", "Within-benchmark rank",
656
- "Total tokens", "Cost", "Total time", "Agent time", "Execution error rate", "Coverage"
657
- ],
658
- value="Within-benchmark percentile",
659
- label="Metric",
660
- )
661
- matrix_values = gr.Checkbox(value=True, label="Show cell values")
662
- matrix_background = gr.Dropdown(
663
- choices=PLOT_BACKGROUND_CHOICES, value=DEFAULT_PLOT_BACKGROUND, label="Image background"
664
- )
665
- matrix_plot = gr.Plot(
666
- value=render_category_matrix(category, "Within-benchmark percentile", True, "Dark"),
667
- show_label=False,
668
- elem_classes="responsive-plot",
669
- )
670
- matrix_controls = [matrix_metric, matrix_values, matrix_background]
671
- for control in matrix_controls:
672
- control.change(
673
- fn=lambda m, v, bg, cat=category: render_category_matrix(cat, m, v, bg),
674
- inputs=matrix_controls,
675
- outputs=matrix_plot,
676
- )
677
-
678
- gr.Markdown("#### Category ranking data")
679
- gr.Dataframe(
680
- value=category_leaderboard(category), interactive=False, show_label=False, max_height=TABLE_MAX_HEIGHT_PX
681
- )
682
-
683
-
684
- demo = gr.Blocks(theme="citrus", head=FORCE_DARK_MODE_HEAD)
685
  with demo:
686
- # Overview is deliberately always visible above the page navigation.
687
- gr.HTML(build_header_html(BENCHMARK_RUN_DF))
688
-
689
- with gr.Tabs():
690
- with gr.Tab("Rankings"):
691
- gr.Markdown(
692
- "### Rankings\n"
693
- "Paired comparisons are shown first, followed by benchmark-specific metric rankings."
694
- )
695
- gr.Markdown("### Paired Comparisons")
696
- gr.Markdown(
697
- "Rankings computed from head-to-head benchmark results using "
698
- "a Bradley–Terry paired-comparison model. "
699
- "Handles missing data and inconsistent orderings."
700
- )
701
-
702
- rank_csv = pd.read_csv("results.csv")
703
- rank_csv = rank_csv.dropna(subset=["metrics.score"])
704
- rank_csv = rank_csv.loc[~rank_csv["benchmark.name"].isin(EXCLUDED_BENCHMARKS)]
705
- rank_model_choices = sorted(rank_csv["model.name"].unique().tolist())
706
- rank_harness_choices = sorted(rank_csv["harness.name"].unique().tolist())
707
- rank_benchmark_choices = sorted(rank_csv["benchmark.name"].unique().tolist())
708
-
709
- with gr.Row():
710
- rank_by = gr.Dropdown(
711
- choices=list(RANK_BY_OPTIONS.keys()),
712
- value="Benchmark Score",
713
- label="Rank by",
714
- )
715
- rank_oss_models = gr.Checkbox(value=False, label="Open models only")
716
- rank_oss_harnesses = gr.Checkbox(value=False, label="Open harnesses only")
717
-
718
- with gr.Row():
719
- rank_benchmark_filter = gr.CheckboxGroup(
720
- choices=rank_benchmark_choices,
721
- value=rank_benchmark_choices,
722
- label="Benchmarks",
723
- )
724
-
725
- with gr.Row():
726
- rank_model_filter = gr.CheckboxGroup(
727
- choices=rank_model_choices,
728
- value=rank_model_choices,
729
- label="Models",
730
- )
731
-
732
- with gr.Row():
733
- rank_harness_filter = gr.CheckboxGroup(
734
- choices=rank_harness_choices,
735
- value=rank_harness_choices,
736
- label="Harnesses",
737
- )
738
-
739
- harness_df_init, model_df_init, pair_df_init = load_and_rank("results.csv")
740
 
741
- gr.Markdown("#### Harness ranking")
742
- harness_table = gr.Dataframe(value=harness_df_init, interactive=False)
743
- gr.Markdown("#### Model ranking")
744
- model_table = gr.Dataframe(value=model_df_init, interactive=False)
745
- gr.Markdown("#### Model + harness ranking")
746
- pair_table = gr.Dataframe(value=pair_df_init, interactive=False)
747
 
748
- def update_rankings(rank_by_val, oss_models, oss_harnesses, benchmarks, models, harnesses):
749
- return load_and_rank(
750
- "results.csv",
751
- open_models_only=oss_models,
752
- open_harnesses_only=oss_harnesses,
753
- benchmarks=benchmarks,
754
- models=models,
755
- harnesses=harnesses,
756
- rank_by=rank_by_val,
757
- )
758
-
759
- ranking_inputs = [
760
- rank_by,
761
- rank_oss_models,
762
- rank_oss_harnesses,
763
- rank_benchmark_filter,
764
- rank_model_filter,
765
- rank_harness_filter,
766
- ]
767
- for control in ranking_inputs:
768
- control.change(
769
- fn=update_rankings,
770
- inputs=ranking_inputs,
771
- outputs=[harness_table, model_table, pair_table],
772
- )
773
-
774
- gr.Markdown(
775
- "### Metric rankings\n"
776
- "Use the shared display controls below, then choose a benchmark for each metric. "
777
- "Tables are capped to a scrollable height so the visualizations stay primary."
778
- )
779
- with gr.Row():
780
- ranking_color = gr.Radio(choices=COLOR_BY_CHOICES, value="Model", label="Color by")
781
- ranking_sort = gr.Dropdown(
782
- choices=[
783
- "Best first",
784
- "Best last",
785
- "Alphabetical (A–Z)",
786
- "Alphabetical (Z–A)",
787
- ],
788
- value="Best first",
789
- label="Chart order",
790
- )
791
- ranking_palette = gr.Dropdown(
792
- choices=COLOR_PALETTE_CHOICES, value=DEFAULT_COLOR_PALETTE, label="Color palette"
793
- )
794
- ranking_background = gr.Dropdown(
795
- choices=PLOT_BACKGROUND_CHOICES, value=DEFAULT_PLOT_BACKGROUND, label="Image background"
796
- )
797
-
798
- ranking_sections = [("Score", "Score", BENCHMARK_NAMES, DEFAULT_BENCHMARK)]
799
- ranking_sections += [
800
- ("Token usage", "Total tokens", BENCHMARK_NAMES, DEFAULT_BENCHMARK),
801
- ("Cost", "Cost", BENCHMARK_NAMES, DEFAULT_BENCHMARK),
802
- ("Response time", "Response time", BENCHMARK_NAMES, DEFAULT_BENCHMARK),
803
- ("Reliability", "Reliability", BENCHMARK_NAMES, DEFAULT_BENCHMARK),
804
- ("Tokens per successful task", "Tokens per successful task", BENCHMARK_NAMES, DEFAULT_BENCHMARK),
805
- ("Cost per successful task", "Cost per successful task", BENCHMARK_NAMES, DEFAULT_BENCHMARK),
806
- ("Time per successful task", "Time per successful task", BENCHMARK_NAMES, DEFAULT_BENCHMARK),
807
- ]
808
- shared_ranking_controls = [ranking_color, ranking_palette, ranking_background, ranking_sort]
809
- for section_label, metric_name, benchmark_choices, default_benchmark in ranking_sections:
810
- spec = RANKING_METRICS[metric_name]
811
- gr.Markdown(f"#### {section_label}\n{spec.label}. {'Higher' if spec.higher_is_better else 'Lower'} is better.")
812
- benchmark = gr.Dropdown(
813
- choices=benchmark_choices, value=default_benchmark, label="Benchmark"
814
- )
815
- initial = render_ranking(
816
- metric_name,
817
- default_benchmark,
818
- "Model",
819
- DEFAULT_COLOR_PALETTE,
820
- DEFAULT_PLOT_BACKGROUND,
821
- "Best first",
822
- )
823
- plot = gr.Plot(value=initial[0], show_label=False, elem_classes="responsive-plot")
824
- controls = [benchmark, *shared_ranking_controls]
825
- for control in controls:
826
- control.change(
827
- fn=lambda b, c, p, bg, so, m=metric_name: render_ranking(m, b, c, p, bg, so)[0],
828
- inputs=controls,
829
- outputs=plot,
830
- )
831
-
832
- gr.Markdown(
833
- "### Ranking data\n"
834
- "One table for the page, placed after all charts. It includes the score, resource, timing, "
835
- "reliability, and per-success values for the selected benchmark."
836
- )
837
- with gr.Row():
838
- ranking_table_benchmark = gr.Dropdown(
839
- choices=BENCHMARK_NAMES, value=DEFAULT_BENCHMARK, label="Table benchmark"
840
- )
841
- ranking_table_metric = gr.Dropdown(
842
- choices=list(PAGE_TABLE_SORT_COLUMNS), value="Score", label="Sort table by"
843
- )
844
- ranking_table_order = gr.Dropdown(
845
- choices=[
846
- "Best first",
847
- "Best last",
848
- "Alphabetical (A–Z)",
849
- "Alphabetical (Z–A)",
850
- ],
851
- value="Best first",
852
- label="Table order",
853
- )
854
- ranking_page_table = gr.Dataframe(
855
- value=render_page_table(DEFAULT_BENCHMARK, "Score", "Best first"),
856
- interactive=False,
857
- show_label=False,
858
- max_height=TABLE_MAX_HEIGHT_PX,
859
- )
860
- ranking_table_controls = [ranking_table_benchmark, ranking_table_metric, ranking_table_order]
861
- for control in ranking_table_controls:
862
- control.change(
863
- fn=render_page_table,
864
- inputs=ranking_table_controls,
865
- outputs=ranking_page_table,
866
- )
867
-
868
- with gr.Tab("Trade-offs"):
869
- gr.Markdown(
870
- "### Trade-offs\n"
871
- "Efficiency and metric-pair views are displayed together. Pareto frontiers support both maximize and "
872
- "minimize directions, so a checked frontier is shown whenever valid comparable points exist."
873
- )
874
- gr.Markdown("#### Efficiency")
875
- with gr.Row():
876
- efficiency_benchmark = gr.Dropdown(
877
- choices=BENCHMARK_NAMES, value=DEFAULT_BENCHMARK, label="Benchmark"
878
- )
879
- efficiency_metric = gr.Dropdown(
880
- choices=list(EFFICIENCY_RESOURCE_METRICS), value="Total tokens", label="Resource metric"
881
- )
882
- efficiency_color_by = gr.Radio(
883
- choices=EFFICIENCY_COLOR_BY_CHOICES, value="Model", label="Color by"
884
- )
885
- efficiency_scale = gr.Radio(choices=["Log", "Linear"], value="Log", label="X-axis scale")
886
- with gr.Row():
887
- efficiency_pareto = gr.Checkbox(value=True, label="Show Pareto frontier")
888
- efficiency_labels = gr.Checkbox(value=False, label="Show point labels")
889
- efficiency_palette = gr.Dropdown(
890
- choices=COLOR_PALETTE_CHOICES, value=DEFAULT_COLOR_PALETTE, label="Color palette"
891
- )
892
- efficiency_background = gr.Dropdown(
893
- choices=PLOT_BACKGROUND_CHOICES, value=DEFAULT_PLOT_BACKGROUND, label="Image background"
894
- )
895
- initial_efficiency = render_efficiency(
896
- DEFAULT_BENCHMARK, "Total tokens", "Model", "Log", True, False,
897
- DEFAULT_COLOR_PALETTE, DEFAULT_PLOT_BACKGROUND,
898
- )
899
- efficiency_note = gr.Markdown(initial_efficiency[1])
900
- efficiency_plot = gr.Plot(
901
- value=initial_efficiency[0], show_label=False, elem_classes="responsive-plot"
902
- )
903
- efficiency_controls = [
904
- efficiency_benchmark, efficiency_metric, efficiency_color_by, efficiency_scale,
905
- efficiency_pareto, efficiency_labels, efficiency_palette, efficiency_background,
906
- ]
907
- for control in efficiency_controls:
908
- control.change(
909
- fn=render_efficiency,
910
- inputs=efficiency_controls,
911
- outputs=[efficiency_plot, efficiency_note],
912
- )
913
-
914
- gr.Markdown("#### Metric pairs")
915
- with gr.Row():
916
- tradeoff_pair = gr.Dropdown(
917
- choices=list(TRADEOFF_PAIRS), value="Score vs cost", label="Trade-off"
918
- )
919
- tradeoff_benchmark = gr.Dropdown(
920
- choices=BENCHMARK_NAMES, value=DEFAULT_BENCHMARK, label="Benchmark"
921
- )
922
- tradeoff_color = gr.Radio(choices=COLOR_BY_CHOICES, value="Model", label="Color by")
923
- tradeoff_scale = gr.Radio(choices=["Linear", "Log"], value="Linear", label="X-axis scale")
924
- with gr.Row():
925
- tradeoff_labels = gr.Checkbox(value=False, label="Show point labels")
926
- tradeoff_pareto = gr.Checkbox(value=True, label="Show Pareto frontier")
927
- tradeoff_palette = gr.Dropdown(
928
- choices=COLOR_PALETTE_CHOICES, value=DEFAULT_COLOR_PALETTE, label="Color palette"
929
- )
930
- tradeoff_background = gr.Dropdown(
931
- choices=PLOT_BACKGROUND_CHOICES, value=DEFAULT_PLOT_BACKGROUND, label="Image background"
932
- )
933
- initial_tradeoff = render_tradeoff(
934
- "Score vs cost", DEFAULT_BENCHMARK, "Model", False, "Linear", True,
935
- DEFAULT_COLOR_PALETTE, DEFAULT_PLOT_BACKGROUND,
936
- )
937
- tradeoff_note = gr.Markdown(initial_tradeoff[1])
938
- tradeoff_plot = gr.Plot(
939
- value=initial_tradeoff[0], show_label=False, elem_classes="responsive-plot"
940
- )
941
- tradeoff_controls = [
942
- tradeoff_pair, tradeoff_benchmark, tradeoff_color, tradeoff_labels,
943
- tradeoff_scale, tradeoff_pareto, tradeoff_palette, tradeoff_background,
944
- ]
945
- for control in tradeoff_controls:
946
- control.change(
947
- fn=render_tradeoff,
948
- inputs=tradeoff_controls,
949
- outputs=[tradeoff_plot, tradeoff_note],
950
- )
951
-
952
- gr.Markdown(
953
- "### Trade-off data\n"
954
- "A single table for this page appears after both charts and includes every metric used by the trade-off views."
955
- )
956
- with gr.Row():
957
- tradeoff_table_benchmark = gr.Dropdown(
958
- choices=BENCHMARK_NAMES, value=DEFAULT_BENCHMARK, label="Table benchmark"
959
- )
960
- tradeoff_table_metric = gr.Dropdown(
961
- choices=list(PAGE_TABLE_SORT_COLUMNS), value="Score", label="Sort table by"
962
- )
963
- tradeoff_table_order = gr.Dropdown(
964
- choices=[
965
- "Largest value first",
966
- "Lowest value first",
967
- "Alphabetical (A–Z)",
968
- "Alphabetical (Z–A)",
969
- ],
970
- value="Largest value first",
971
- label="Table order",
972
- )
973
- tradeoff_page_table = gr.Dataframe(
974
- value=render_page_table(DEFAULT_BENCHMARK, "Score", "Largest value first"),
975
- interactive=False,
976
- show_label=False,
977
- max_height=TABLE_MAX_HEIGHT_PX,
978
- )
979
- tradeoff_table_controls = [tradeoff_table_benchmark, tradeoff_table_metric, tradeoff_table_order]
980
- for control in tradeoff_table_controls:
981
- control.change(
982
- fn=render_page_table,
983
- inputs=tradeoff_table_controls,
984
- outputs=tradeoff_page_table,
985
- )
986
-
987
- with gr.Tab("Matrices"):
988
- gr.Markdown(
989
- "### Model × benchmark matrices\n"
990
- "The within-benchmark percentile controls the color scale, while cell labels show the actual benchmark "
991
- "score. Missing cells stay missing."
992
- )
993
- with gr.Row():
994
- matrix_metric = gr.Dropdown(
995
- choices=[*MATRIX_METRICS.keys(), "Coverage"],
996
- value="Within-benchmark percentile",
997
- label="Metric",
998
- )
999
- matrix_category = gr.Dropdown(
1000
- choices=["All", "Coding", "Generalist"], value="All", label="Benchmark category"
1001
- )
1002
- matrix_sort = gr.Dropdown(
1003
- choices=[
1004
- "Normalized performance (high to low)",
1005
- "Normalized performance (low to high)",
1006
- "Coverage (high to low)",
1007
- "Coverage (low to high)",
1008
- "Alphabetical",
1009
- "Alphabetical (Z–A)",
1010
- ],
1011
- value="Normalized performance (high to low)",
1012
- label="Sort rows",
1013
- )
1014
- matrix_background = gr.Dropdown(
1015
- choices=PLOT_BACKGROUND_CHOICES, value=DEFAULT_PLOT_BACKGROUND, label="Image background"
1016
- )
1017
- with gr.Row():
1018
- matrix_incomplete = gr.Checkbox(value=True, label="Include incomplete rows")
1019
- matrix_values = gr.Checkbox(value=True, label="Show cell values")
1020
- matrix_reverse = gr.Checkbox(value=False, label="Reverse color scale")
1021
- initial_matrix = render_matrix(
1022
- "Within-benchmark percentile", "All", True,
1023
- "Normalized performance (high to low)", True, False, "Dark"
1024
- )
1025
- matrix_plot = gr.Plot(value=initial_matrix, show_label=False, elem_classes="responsive-plot")
1026
- matrix_controls = [
1027
- matrix_metric, matrix_category, matrix_incomplete, matrix_sort,
1028
- matrix_values, matrix_reverse, matrix_background,
1029
- ]
1030
- for control in matrix_controls:
1031
- control.change(fn=render_matrix, inputs=matrix_controls, outputs=matrix_plot)
1032
-
1033
-
1034
- with gr.Tab("Coding"):
1035
- gr.Markdown(
1036
- "### Coding\n"
1037
- "Coding benchmarks are defined centrally in the benchmark catalog. The aggregate leaderboard uses "
1038
- "within-benchmark percentiles and displays benchmark coverage."
1039
- )
1040
- add_category_section("Coding", CODING_BENCHMARKS)
1041
-
1042
- with gr.Tab("Generalist"):
1043
- gr.Markdown(
1044
- "### Terminal & Generalist\n"
1045
- "This category reflects active terminal/generalist benchmarks present in the repository."
1046
- )
1047
- add_category_section("Generalist", GENERALIST_BENCHMARKS)
1048
-
1049
- with gr.Tab("Results Explorer"):
1050
- gr.Markdown("### Benchmark runs")
1051
- benchmark_runs = init_benchmark_runs(BENCHMARK_RUN_DF)
1052
- gr.Markdown("### Methodology")
1053
- gr.Markdown(INTRODUCTION_TEXT, elem_classes="markdown-text")
1054
- gr.Markdown(
1055
- "### Analytics methodology notes\n"
1056
- "- **Normalized ordering:** rank/percentile is calculated independently inside each benchmark, then "
1057
- "aggregated by model + harness with coverage shown beside it.\n"
1058
- "- **Execution error rate:** recorded errors divided by recorded task count; unresolved tasks are not "
1059
- "relabeled as errors.\n"
1060
- "- **Missing metrics:** omitted from metric-specific comparisons and preserved as missing matrix cells.\n"
1061
- "- **Pareto frontier:** benchmark-specific and direction-aware for maximize/minimize metric pairs."
1062
- )
1063
  gr.Markdown(LLM_BENCHMARKS_TEXT, elem_classes="markdown-text")
1064
- gr.Markdown(HOW_TO_USE_TEXT, elem_classes="markdown-text")
1065
 
 
 
 
 
 
 
 
 
 
1066
 
1067
  scheduler = BackgroundScheduler()
1068
  scheduler.add_job(restart_space, "interval", seconds=1800)
 
1
  import os
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
  import gradio as gr
4
+ from gradio_leaderboard import Leaderboard, ColumnFilter, SelectColumns
5
  from apscheduler.schedulers.background import BackgroundScheduler
 
6
  from huggingface_hub import HfApi
7
 
8
+ from src.leaderboard import get_leaderboard_df, DISPLAY_BY_DEFAULT, SEARCH_COLUMNS
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  from src.display.text_blocks import (
10
+ TITLE,
11
  INTRODUCTION_TEXT,
12
  LLM_BENCHMARKS_TEXT,
13
+ CITATION_BUTTON_LABEL,
14
+ CITATION_BUTTON_TEXT,
15
  )
 
 
 
 
 
 
 
 
 
16
 
17
  REPO_ID = "taagarwa/coding-agent-leaderboard"
18
  TOKEN = os.environ.get("HF_TOKEN")
19
  API = HfApi(token=TOKEN)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
 
21
 
22
  def restart_space():
23
  API.restart_space(repo_id=REPO_ID)
24
 
25
 
26
+ LEADERBOARD_DF = get_leaderboard_df()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
 
29
+ def init_leaderboard(dataframe):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
  if dataframe is None or dataframe.empty:
31
  raise ValueError("Leaderboard DataFrame is empty or None.")
 
 
 
 
 
 
32
  return Leaderboard(
33
  value=dataframe,
34
  select_columns=SelectColumns(
35
+ default_selection=DISPLAY_BY_DEFAULT,
 
 
 
 
 
 
 
36
  label="Select Columns to Display:",
37
  ),
38
+ search_columns=SEARCH_COLUMNS,
 
 
 
 
 
39
  filter_columns=[
40
+ ColumnFilter(label="Dataset", column="dataset", type="checkboxgroup"),
41
+ ColumnFilter(label="Model License", column="model_license", type="checkboxgroup"),
42
+ ColumnFilter(label="Harness License", column="harness_license", type="checkboxgroup"),
43
+ ColumnFilter(label="Number of Parameters (B)", column="model_num_params", type="slider", min=0, max=4000, default=(0, 4000)),
44
+ ColumnFilter(label="Precision", column="precision", type="checkboxgroup"),
 
45
  ],
46
  interactive=False,
47
  )
48
 
49
 
50
+ demo = gr.Blocks()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  with demo:
52
+ gr.HTML(TITLE)
53
+ gr.Markdown(INTRODUCTION_TEXT, elem_classes="markdown-text")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
 
55
+ with gr.Tabs(elem_classes="tab-buttons") as tabs:
56
+ with gr.TabItem("🏅 Coding Agent Benchmark", elem_id="llm-benchmark-tab-table", id=0):
57
+ leaderboard = init_leaderboard(LEADERBOARD_DF)
58
+ gr.Markdown("\* `internal` refers to internal benchmarks performed by the model provider where the harness/environment were not made public")
 
 
59
 
60
+ with gr.TabItem("📝 About", elem_id="llm-benchmark-tab-table", id=2):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
61
  gr.Markdown(LLM_BENCHMARKS_TEXT, elem_classes="markdown-text")
 
62
 
63
+ with gr.Row():
64
+ with gr.Accordion("📙 Citation", open=False):
65
+ citation_button = gr.Textbox(
66
+ value=CITATION_BUTTON_TEXT,
67
+ label=CITATION_BUTTON_LABEL,
68
+ lines=20,
69
+ elem_id="citation-button",
70
+ show_copy_button=True,
71
+ )
72
 
73
  scheduler = BackgroundScheduler()
74
  scheduler.add_job(restart_space, "interval", seconds=1800)
requirements.txt CHANGED
@@ -3,17 +3,14 @@ black
3
  datasets
4
  gradio
5
  gradio[oauth]
6
- gradio_leaderboard
7
  gradio_client
8
  huggingface-hub>=0.18.0
9
  matplotlib
10
  numpy
11
  pandas
12
- plotly
13
  python-dateutil
14
  tqdm
15
  transformers
16
  tokenizers>=0.15.0
17
- sentencepiece
18
- choix
19
- scipy
 
3
  datasets
4
  gradio
5
  gradio[oauth]
6
+ gradio_leaderboard==0.0.13
7
  gradio_client
8
  huggingface-hub>=0.18.0
9
  matplotlib
10
  numpy
11
  pandas
 
12
  python-dateutil
13
  tqdm
14
  transformers
15
  tokenizers>=0.15.0
16
+ sentencepiece
 
 
results.csv DELETED
@@ -1,67 +0,0 @@
1
- benchmark.name,benchmark.repo,benchmark.num_tasks,benchmark.url,harness.name,harness.skills,harness.is_oss,harness.url,model.name,model.repo,model.is_oss,model.num_params,model.precision,model.url,environment.name,environment.url,metrics.n_tasks,metrics.n_errors,metrics.score,metrics.n_input_tokens,metrics.n_cache_tokens,metrics.n_output_tokens,metrics.n_total_tokens,metrics.agent_time_seconds,metrics.total_time_seconds,metrics.cost_usd,metrics.mean_input_tokens_per_task,metrics.mean_cache_tokens_per_task,metrics.mean_output_tokens_per_task,metrics.mean_tokens_per_task,metrics.mean_cost_usd_per_task,metrics.mean_total_time_seconds_per_task,metrics.mean_agent_time_seconds_per_task
2
- RH SWE-Bench,rounakbende10/rh-swe-bench,357,https://huggingface.co/datasets/rounakbende/rh-swe-bench,Claude Code,[],False,https://github.com/anthropics/claude-code,Opus 4.6,Opus 4.6,False,1000,bf16,https://www.anthropic.com/news/claude-opus-4-6,harbor,https://github.com/harbor-framework/harbor,357.0,0.0,0.633,438501505.0,419608736.0,2823496.0,860933737.0,126529.0,243310.0,434.54,1228295.0,1175374.0,7908.0,2411579.0,1.22,681.0,354.0
3
- RH SWE-Bench,rounakbende10/rh-swe-bench,357,https://huggingface.co/datasets/rounakbende/rh-swe-bench,Claude Code,[],False,https://github.com/anthropics/claude-code,Sonnet 4.6,Sonnet 4.6,False,1000,bf16,https://www.anthropic.com/news/claude-sonnet-4-6,harbor,https://github.com/harbor-framework/harbor,357.0,0.0,0.557,500304168.0,479035103.0,4937782.0,984277053.0,150652.0,269008.0,349.77,1401412.0,1341835.0,13831.0,2757078.0,0.98,753.0,421.0
4
- RH SWE-Bench,rounakbende10/rh-swe-bench,357,https://huggingface.co/datasets/rounakbende/rh-swe-bench,Claude Code,[],False,https://docs.anthropic.com/en/docs/claude-code,GPT-OSS-120B,RedHatAI/gpt-oss-120b,True,120,mxfp4,https://huggingface.co/RedHatAI/gpt-oss-120b,harbor,https://github.com/harbor-framework/harbor,357.0,31.0,0.317,1088634865.0,0.0,6200414.0,1094835279.0,398444.0,575536.0,15.05,3049397.0,0.0,17368.0,3066765.0,0.04,1612.0,1116.0
5
- RH SWE-Bench,rounakbende10/rh-swe-bench,357,https://huggingface.co/datasets/rounakbende/rh-swe-bench,OpenCode,[],True,https://github.com/opencode-ai/opencode,GPT-OSS-120B,RedHatAI/gpt-oss-120b,True,120,mxfp4,https://huggingface.co/RedHatAI/gpt-oss-120b,harbor,https://github.com/harbor-framework/harbor,357.0,7.0,0.294,419671770.0,0.0,2277963.0,421949733.0,98909.0,169021.0,3.74,1175551.0,0.0,6380.0,1181932.0,0.01,473.0,277.0
6
- RH SWE-Bench,rounakbende10/rh-swe-bench,357,https://huggingface.co/datasets/rounakbende/rh-swe-bench,Pi,[],True,https://github.com/earendil-works/pi/tree/main,GPT-OSS-120B,RedHatAI/gpt-oss-120b,True,120,mxfp4,https://huggingface.co/RedHatAI/gpt-oss-120b,harbor,https://github.com/harbor-framework/harbor,357.0,20.0,0.23,419282595.0,0.0,1954817.0,421237412.0,100632.0,168697.0,3.8,1174461.0,0.0,5475.0,1179936.0,0.01,472.0,281.0
7
- RH SWE-Bench,rounakbende10/rh-swe-bench,357,https://huggingface.co/datasets/rounakbende/rh-swe-bench,Claude Code,[],False,https://github.com/anthropics/claude-code,Nemotron-3-Super-120B-NVFP4,RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,True,120,nvfp4,https://huggingface.co/RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,harbor,https://github.com/harbor-framework/harbor,357.0,14.0,0.224,783670817.0,0.0,5510291.0,789181108.0,144352.0,355122.0,38.03,2195156.0,0.0,15434.0,2210591.0,0.11,994.0,404.0
8
- RH SWE-Bench,rounakbende10/rh-swe-bench,357,https://huggingface.co/datasets/rounakbende/rh-swe-bench,OpenCode,[],True,https://github.com/anomalyco/opencode,Nemotron-3-Super-120B-NVFP4,RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,True,120,nvfp4,https://huggingface.co/RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,harbor,https://github.com/harbor-framework/harbor,357.0,7.0,0.308,839586046.0,0.0,5706139.0,845292185.0,94762.0,251102.0,37.44,2351781.0,0.0,15983.0,2367765.0,0.1,703.0,265.0
9
- RH SWE-Bench,rounakbende10/rh-swe-bench,357,https://huggingface.co/datasets/rounakbende/rh-swe-bench,Pi,[],True,https://github.com/earendil-works/pi/tree/main,Nemotron-3-Super-120B-NVFP4,RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,True,120,nvfp4,https://huggingface.co/RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,harbor,https://github.com/harbor-framework/harbor,357.0,13.0,0.216,770574986.0,0.0,6519128.0,777094114.0,116348.0,360934.0,30.65,2158473.0,0.0,18260.0,2176734.0,0.09,1011.0,325.0
10
- RH SWE-Bench,rounakbende/rh-swe-bench,357,https://huggingface.co/datasets/rounakbende/rh-swe-bench,Claude Code,[],False,https://github.com/anthropics/claude-code,Qwen3.6-27B-FP8,RedHatAI/Qwen3.6-27B-FP8,True,27,fp8,https://huggingface.co/RedHatAI/Qwen3.6-27B-FP8,harbor,https://github.com/harbor-framework/harbor,357.0,9.0,0.493,885869433.0,0.0,4763916.0,890633349.0,201374.0,401657.0,73.84,2481426.0,0.0,13344.0,2494771.0,0.21,1125.0,564.0
11
- RH SWE-Bench,rounakbende/rh-swe-bench,357,https://huggingface.co/datasets/rounakbende/rh-swe-bench,OpenCode,[],True,https://github.com/opencode-ai/opencode,Qwen3.6-27B-FP8,RedHatAI/Qwen3.6-27B-FP8,True,27,fp8,https://huggingface.co/RedHatAI/Qwen3.6-27B-FP8,harbor,https://github.com/harbor-framework/harbor,357.0,10.0,0.44,410001939.0,0.0,2851571.0,412853510.0,115135.0,315451.0,42.22,1148464.0,0.0,7987.0,1156452.0,0.12,883.0,322.0
12
- RH SWE-Bench,rounakbende/rh-swe-bench,357,https://huggingface.co/datasets/rounakbende/rh-swe-bench,Pi,[],True,https://github.com/plandex-ai/plandex,Qwen3.6-27B-FP8,RedHatAI/Qwen3.6-27B-FP8,True,27,fp8,https://huggingface.co/RedHatAI/Qwen3.6-27B-FP8,harbor,https://github.com/harbor-framework/harbor,357.0,1.0,0.468,560672462.0,0.0,3618673.0,564291135.0,114791.0,333385.0,42.09,1570511.0,0.0,10136.0,1580647.0,0.12,933.0,321.0
13
- Shellbench,ShellBench/public-tasks,115,https://github.com/ShellBench/public-tasks,OpenClaw,[],True,https://github.com/OpenClaw/OpenClaw,Gemma4-31B-FP8,RedHatAI/gemma-4-31B-it-FP8-block,True,31,fp8,https://huggingface.co/RedHatAI/gemma-4-31B-it-FP8-block,harbor,https://github.com/harbor-framework/harbor,115.0,6.0,0.0,0.0,0.0,0.0,0.0,29895.0,36503.0,8.3,0.0,0.0,0.0,0.0,0.07,317.0,259.0
14
- Shellbench,ShellBench/public-tasks,115,https://github.com/ShellBench/public-tasks,OpenClaw,[],True,https://github.com/OpenClaw/OpenClaw,GPT-OSS-120B,RedHatAI/gpt-oss-120b,True,120,,https://huggingface.co/RedHatAI/gpt-oss-120b,harbor,https://github.com/harbor-framework/harbor,115.0,1.0,0.0,0.0,0.0,0.0,0.0,8170.0,13296.0,2.27,0.0,0.0,0.0,0.0,0.02,115.0,71.0
15
- Shellbench,ShellBench/public-tasks,115,https://github.com/ShellBench/public-tasks,OpenClaw,[],True,https://github.com/OpenClaw/OpenClaw,Mistral-Small-4-119B-2603-NVFP4,RedHatAI/Mistral-Small-4-119B-2603-NVFP4,True,119,fp4,https://huggingface.co/RedHatAI/Mistral-Small-4-119B-2603-NVFP4,harbor,https://github.com/harbor-framework/harbor,115.0,2.0,0.009,0.0,0.0,0.0,0.0,4846.0,9862.0,1.35,0.0,0.0,0.0,0.0,0.01,85.0,42.0
16
- Shellbench,ShellBench/public-tasks,115,https://github.com/ShellBench/public-tasks,OpenClaw,[],True,https://github.com/OpenClaw/OpenClaw,Nemotron-3-Super-120B-NVFP4,RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,True,120,fp4,https://huggingface.co/RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,harbor,https://github.com/harbor-framework/harbor,115.0,1.0,0.014,0.0,0.0,0.0,0.0,21575.0,26392.0,5.99,0.0,0.0,0.0,0.0,0.05,229.0,187.0
17
- Shellbench,ShellBench/public-tasks,115,https://github.com/ShellBench/public-tasks,OpenClaw,[],True,https://github.com/OpenClaw/OpenClaw,Qwen3.6-27B-FP8,RedHatAI/Qwen3.6-27B-FP8,True,27,fp8,https://huggingface.co/RedHatAI/Qwen3.6-27B-FP8,harbor,https://github.com/harbor-framework/harbor,115.0,1.0,0.128,0.0,0.0,0.0,0.0,10812.0,16949.0,6.01,0.0,0.0,0.0,0.0,0.05,147.0,94.0
18
- SWE-Bench Pro -- Ansible,ScaleAI/SWE-bench_Pro,96,https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro,Claude Code,[],False,https://github.com/anthropics/claude-code,Opus 4.8,Opus 4.8,False,1000,bf16,https://www.anthropic.com/news/claude-opus-4-8,harbor,https://github.com/harbor-framework/harbor,96.0,0.0,0.698,192346997.0,186506482.0,2179945.0,381033424.0,32745.0,39030.0,185.66155285,2003614.0,1942775.0,22707.0,3969098.0,1.93,406.0,341.0
19
- SWE-Bench Pro -- Ansible,ScaleAI/SWE-bench_Pro,96,https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro,OpenCode,[],True,https://github.com/anomalyco/opencode,Opus 4.8,Opus 4.8,False,1000,bf16,https://www.anthropic.com/news/claude-opus-4-8,harbor,https://github.com/harbor-framework/harbor,96.0,0.0,0.781,187217712.0,187209844.0,1280944.0,375708500.0,30686.0,39352.0,151.4104807499999,1950184.0,1950102.0,13343.0,3913630.0,1.58,409.0,319.0
20
- SWE-Bench Pro -- Ansible,ScaleAI/SWE-bench_Pro,96,https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro,Claude Code,[],False,https://github.com/anthropics/claude-code,Sonnet 4.6,Sonnet 4.6,False,1000,bf16,https://www.anthropic.com/news/claude-sonnet-4-6,harbor,https://github.com/harbor-framework/harbor,96.0,1.0,0.5,190672390.0,184409111.0,1593112.0,376674613.0,40527.0,49734.0,184.42824125000004,1986170.0,1920928.0,16594.0,3923693.0,1.92,518.0,422.0
21
- SWE-Bench Pro -- Ansible,ScaleAI/SWE-bench_Pro,96,https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro,Claude Code,[],False,https://github.com/anthropics/claude-code,Gemma4-31B-FP8,RedHatAI/gemma-4-31B-it-FP8-block,True,31,fp8,https://huggingface.co/RedHatAI/gemma-4-31B-it-FP8-block,harbor,https://github.com/harbor-framework/harbor,96.0,16.0,0.417,122366824.0,0.0,1307027.0,123673851.0,138148.0,158812.0,54.82,1274654.0,0.0,13614.0,1288269.0,0.57,1654.0,1439.0
22
- SWE-Bench Pro -- Ansible,ScaleAI/SWE-bench_Pro,96,https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro,OpenCode,[],True,https://github.com/anomalyco/opencode,Gemma4-31B-FP8,RedHatAI/gemma-4-31B-it-FP8-block,True,31,fp8,https://huggingface.co/RedHatAI/gemma-4-31B-it-FP8-block,harbor,https://github.com/harbor-framework/harbor,96.0,12.0,0.417,100068358.0,0.0,1261237.0,101329595.0,60747.0,77623.0,19.28,1042378.0,0.0,13137.0,1055516.0,0.2,808.0,632.0
23
- SWE-Bench Pro -- Ansible,ScaleAI/SWE-bench_Pro,96,https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro,Pi,[],True,https://github.com/earendil-works/pi/tree/main,Gemma4-31B-FP8,RedHatAI/gemma-4-31B-it-FP8-block,True,31,fp8,https://huggingface.co/RedHatAI/gemma-4-31B-it-FP8-block,harbor,https://github.com/harbor-framework/harbor,96.0,2.0,0.469,78678324.0,0.0,1370430.0,80048754.0,51767.0,66845.0,16.43,819565.0,0.0,14275.0,833841.0,0.17,696.0,539.0
24
- SWE-Bench Pro -- Ansible,ScaleAI/SWE-bench_Pro,96,https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro,Codex,[],True,https://github.com/openai/codex,GPT 5.5 - high,GPT 5.5 - high,False,9700,bf16,https://openai.com/index/introducing-gpt-5-5,harbor,https://github.com/harbor-framework/harbor,96.0,0.0,0.604,198924339.0,189578624.0,1560836.0,390063799.0,32914.0,39468.0,188.34296700000002,2072128.0,1974777.0,16258.0,4063164.0,1.96,411.0,342.0
25
- SWE-Bench Pro -- Ansible,scale-ai/swe-bench-pro,96,https://huggingface.co/datasets/scale-ai/swe-bench-pro,Claude Code,[],False,https://docs.anthropic.com/en/docs/claude-code,GPT-OSS-120B,RedHatAI/gpt-oss-120b,True,120,mxfp4,https://huggingface.co/RedHatAI/gpt-oss-120b,harbor,https://github.com/harbor-framework/harbor,96.0,2.0,0.375,347744043.0,0.0,1903023.0,349647066.0,59653.0,67586.0,2.25,3622333.0,0.0,19823.0,3642156.0,0.02,704.0,621.0
26
- SWE-Bench Pro -- Ansible,scale-ai/swe-bench-pro,96,https://huggingface.co/datasets/scale-ai/swe-bench-pro,OpenCode,[],True,https://github.com/opencode-ai/opencode,GPT-OSS-120B,RedHatAI/gpt-oss-120b,True,120,mxfp4,https://huggingface.co/RedHatAI/gpt-oss-120b,harbor,https://github.com/harbor-framework/harbor,96.0,1.0,0.333,112041538.0,0.0,781173.0,112822711.0,25086.0,31180.0,0.95,1167099.0,0.0,8137.0,1175236.0,0.01,324.0,261.0
27
- SWE-Bench Pro -- Ansible,scale-ai/swe-bench-pro,96,https://huggingface.co/datasets/scale-ai/swe-bench-pro,Pi,[],True,https://github.com/earendil-works/pi/tree/main,GPT-OSS-120B,RedHatAI/gpt-oss-120b,True,120,mxfp4,https://huggingface.co/RedHatAI/gpt-oss-120b,harbor,https://github.com/harbor-framework/harbor,96.0,15.0,0.292,125247664.0,0.0,597435.0,125845099.0,75715.0,79741.0,2.86,1304663.0,0.0,6223.0,1310886.0,0.03,830.0,788.0
28
- SWE-Bench Pro -- Ansible,ScaleAI/SWE-bench_Pro,96,https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro,Claude Code,[],False,https://github.com/anthropics/claude-code,Mistral-Small-4-119B-2603-NVFP4,RedHatAI/Mistral-Small-4-119B-2603-NVFP4,True,119,nvfp4,https://huggingface.co/RedHatAI/Mistral-Small-4-119B-2603-NVFP4,harbor,https://github.com/harbor-framework/harbor,96.0,1.0,0.26,147452235.0,0.0,953241.0,148405476.0,33613.0,55241.0,5.84,1535960.0,0.0,9929.0,1545890.0,0.06,575.0,350.0
29
- SWE-Bench Pro -- Ansible,ScaleAI/SWE-bench_Pro,96,https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro,OpenCode,[],True,https://github.com/anomalyco/opencode,Mistral-Small-4-119B-2603-NVFP4,RedHatAI/Mistral-Small-4-119B-2603-NVFP4,True,119,nvfp4,https://huggingface.co/RedHatAI/Mistral-Small-4-119B-2603-NVFP4,harbor,https://github.com/harbor-framework/harbor,96.0,0.0,0.385,140362798.0,0.0,1230697.0,141593495.0,23543.0,49289.0,6.54,1462112.0,0.0,12819.0,1474932.0,0.07,513.0,245.0
30
- SWE-Bench Pro -- Ansible,ScaleAI/SWE-bench_Pro,96,https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro,Pi,[],True,https://github.com/earendil-works/pi/tree/main,Mistral-Small-4-119B-2603-NVFP4,RedHatAI/Mistral-Small-4-119B-2603-NVFP4,True,119,nvfp4,https://huggingface.co/RedHatAI/Mistral-Small-4-119B-2603-NVFP4,harbor,https://github.com/harbor-framework/harbor,96.0,0.0,0.333,104994429.0,0.0,1095179.0,106089608.0,15004.0,55176.0,4.17,1093691.0,0.0,11408.0,1105100.0,0.04,574.0,156.0
31
- SWE-Bench Pro -- Ansible,ScaleAI/SWE-bench_Pro,96,https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro,Claude Code,[],False,https://github.com/anthropics/claude-code,Nemotron-3-Super-120B-NVFP4,RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,True,120,nvfp4,https://huggingface.co/RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,harbor,https://github.com/harbor-framework/harbor,96.0,0.0,0.432,406026150.0,0.0,2839236.0,408865386.0,100355.0,115220.0,26.44,4229439.0,0.0,29575.0,4259014.0,0.28,1200.0,1045.0
32
- SWE-Bench Pro -- Ansible,ScaleAI/SWE-bench_Pro,96,https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro,OpenCode,[],True,https://github.com/anomalyco/opencode,Nemotron-3-Super-120B-NVFP4,RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,True,120,nvfp4,https://huggingface.co/RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,harbor,https://github.com/harbor-framework/harbor,96.0,4.0,0.323,686392098.0,0.0,2915876.0,689307974.0,86130.0,99705.0,19.45,7149917.0,0.0,30373.0,7180291.0,0.2,1038.0,897.0
33
- SWE-Bench Pro -- Ansible,ScaleAI/SWE-bench_Pro,96,https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro,Pi,[],True,https://github.com/earendil-works/pi/tree/main,Nemotron-3-Super-120B-NVFP4,RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,True,120,nvfp4,https://huggingface.co/RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,harbor,https://github.com/harbor-framework/harbor,96.0,14.0,0.375,1051387065.0,0.0,3651367.0,1055038432.0,113768.0,127326.0,25.69,10951948.0,0.0,38035.0,10989983.0,0.27,1326.0,1185.0
34
- SWE-Bench Pro -- Ansible,scale-ai/swe-bench-pro,96,https://huggingface.co/datasets/scale-ai/swe-bench-pro,Claude Code,[],False,https://github.com/anthropics/claude-code,Qwen3.6-27B-FP8,RedHatAI/Qwen3.6-27B-FP8,True,27,fp8,https://huggingface.co/RedHatAI/Qwen3.6-27B-FP8,harbor,https://github.com/harbor-framework/harbor,96.0,8.0,0.521,386929017.0,0.0,1847087.0,388776104.0,118693.0,137736.0,43.52,4030510.0,0.0,19240.0,4049751.0,0.45,1434.0,1236.0
35
- SWE-Bench Pro -- Ansible,scale-ai/swe-bench-pro,96,https://huggingface.co/datasets/scale-ai/swe-bench-pro,OpenCode,[],True,https://github.com/opencode-ai/opencode,Qwen3.6-27B-FP8,RedHatAI/Qwen3.6-27B-FP8,True,27,fp8,https://huggingface.co/RedHatAI/Qwen3.6-27B-FP8,harbor,https://github.com/harbor-framework/harbor,96.0,0.0,0.573,344853232.0,0.0,1661197.0,346514429.0,118356.0,196235.0,43.4,3592221.0,0.0,17304.0,3609525.0,0.45,2044.0,1232.0
36
- SWE-Bench Pro -- Ansible,scale-ai/swe-bench-pro,96,https://huggingface.co/datasets/scale-ai/swe-bench-pro,Pi,[],True,https://github.com/plandex-ai/plandex,Qwen3.6-27B-FP8,RedHatAI/Qwen3.6-27B-FP8,True,27,fp8,https://huggingface.co/RedHatAI/Qwen3.6-27B-FP8,harbor,https://github.com/harbor-framework/harbor,96.0,0.0,0.49,395189021.0,0.0,2206097.0,397395118.0,80305.0,91995.0,29.45,4116552.0,0.0,22980.0,4139532.0,0.31,958.0,836.0
37
- SWE-Bench Pro -- Ansible,ScaleAI/SWE-bench_Pro,96,https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro,Claude Code,[],False,https://github.com/anthropics/claude-code,Qwen3.6-35B-A3B-NVFP4,RedHatAI/Qwen3.6-35B-A3B-NVFP4,True,35,nvfp4,https://huggingface.co/RedHatAI/Qwen3.6-35B-A3B-NVFP4,harbor,https://github.com/harbor-framework/harbor,96.0,6.0,0.458,367897697.0,0.0,1694885.0,369592582.0,39024.0,46758.0,9.64,3832267.0,0.0,17655.0,3849922.0,0.1,487.0,406.0
38
- SWE-Bench Pro -- Ansible,ScaleAI/SWE-bench_Pro,96,https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro,OpenCode,[],True,https://github.com/anomalyco/opencode,Qwen3.6-35B-A3B-NVFP4,RedHatAI/Qwen3.6-35B-A3B-NVFP4,True,35,nvfp4,https://huggingface.co/RedHatAI/Qwen3.6-35B-A3B-NVFP4,harbor,https://github.com/harbor-framework/harbor,96.0,4.0,0.375,207164679.0,0.0,1598703.0,208763382.0,49450.0,57287.0,12.21,2157965.0,0.0,16653.0,2174618.0,0.13,596.0,515.0
39
- SWE-Bench Pro -- Ansible,ScaleAI/SWE-bench_Pro,96,https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro,OpenClaw,[],True,https://github.com/openclaw/openclaw,Qwen3.6-35B-A3B-NVFP4,RedHatAI/Qwen3.6-35B-A3B-NVFP4,True,35,nvfp4,https://huggingface.co/RedHatAI/Qwen3.6-35B-A3B-NVFP4,harbor,https://github.com/harbor-framework/harbor,96.0,5.0,0.406,0.0,0.0,0.0,0.0,38085.0,50779.0,9.4,0.0,0.0,0.0,0.0,0.1,528.0,396.0
40
- SWE-Bench Pro -- Ansible,ScaleAI/SWE-bench_Pro,96,https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro,Pi,[],True,https://github.com/earendil-works/pi/tree/main,Qwen3.6-35B-A3B-NVFP4,RedHatAI/Qwen3.6-35B-A3B-NVFP4,True,35,nvfp4,https://huggingface.co/RedHatAI/Qwen3.6-35B-A3B-NVFP4,harbor,https://github.com/harbor-framework/harbor,96.0,1.0,0.479,742491363.0,0.0,2387609.0,744878972.0,54543.0,62422.0,13.47,7734285.0,0.0,24870.0,7759155.0,0.14,650.0,568.0
41
- SWE-Bench Pro -- Ansible,ScaleAI/SWE-bench_Pro,96,https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro,Qwen Code,[],True,https://github.com/QwenLM/qwen-code,Qwen3.6-35B-A3B-NVFP4,RedHatAI/Qwen3.6-35B-A3B-NVFP4,True,35,nvfp4,https://huggingface.co/RedHatAI/Qwen3.6-35B-A3B-NVFP4,harbor,https://github.com/harbor-framework/harbor,96.0,9.0,0.438,159198517.0,0.0,972133.0,160170650.0,33610.0,38272.0,9.34,1658317.0,0.0,10126.0,1668444.0,0.1,398.0,350.0
42
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,Claude Code,[],False,https://github.com/anthropics/claude-code,Opus 4.8,Opus 4.8,False,1000,bf16,https://www.anthropic.com/news/claude-opus-4-8,harbor,https://github.com/harbor-framework/harbor,500.0,0.0,0.868,402225158.0,388781382.0,4588859.0,795595399.0,104467.0,159566.0,394.7823929,804450.0,777562.0,9177.0,1591190.0,0.79,319.0,208.0
43
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,OpenCode,[],True,https://github.com/anomalyco/opencode,Opus 4.8,Opus 4.8,False,1000,bf16,https://www.anthropic.com/news/claude-opus-4-8,harbor,https://github.com/harbor-framework/harbor,500.0,0.0,0.834,347751942.0,347725246.0,3640204.0,699117392.0,114633.0,171540.0,319.53304049999974,695503.0,695450.0,7280.0,1398234.0,0.64,343.0,229.0
44
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,Claude Code,[],False,https://github.com/anthropics/claude-code,Sonnet 4.6,Sonnet 4.6,False,1000,bf16,https://www.anthropic.com/news/claude-sonnet-4-6,harbor,https://github.com/harbor-framework/harbor,,,0.796,,,,,,,,,,,,,,
45
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,Claude Code,[],False,https://github.com/anthropics/claude-code,Gemma4-31B-FP8,RedHatAI/gemma-4-31B-it-FP8-block,True,31,fp8,https://huggingface.co/RedHatAI/gemma-4-31B-it-FP8-block,harbor,https://github.com/harbor-framework/harbor,500.0,35.0,0.612,651306166.0,0.0,4591859.0,655898025.0,524857.0,669355.0,104.14,1302612.0,0.0,9183.0,1311796.0,0.21,1338.0,1049.0
46
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,OpenCode,[],True,https://github.com/anomalyco/opencode,Gemma4-31B-FP8,RedHatAI/gemma-4-31B-it-FP8-block,True,31,fp8,https://huggingface.co/RedHatAI/gemma-4-31B-it-FP8-block,harbor,https://github.com/harbor-framework/harbor,500.0,12.0,0.606,525563275.0,0.0,4183675.0,529746950.0,166092.0,444527.0,52.73,1051126.0,0.0,8367.0,1059493.0,0.11,889.0,332.0
47
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,Pi,[],True,https://github.com/earendil-works/pi/tree/main,Gemma4-31B-FP8,RedHatAI/gemma-4-31B-it-FP8-block,True,31,fp8,https://huggingface.co/RedHatAI/gemma-4-31B-it-FP8-block,harbor,https://github.com/harbor-framework/harbor,500.0,0.0,0.574,377479979.0,0.0,4177117.0,381657096.0,122274.0,385336.0,38.82,754959.0,0.0,8354.0,763314.0,0.08,770.0,244.0
48
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,Codex,[],True,https://github.com/openai/codex,GPT 5.5 - high,GPT 5.5 - high,False,9700,bf16,https://openai.com/index/introducing-gpt-5-5,harbor,https://github.com/harbor-framework/harbor,500.0,0.0,0.798,415795756.0,386352384.0,3431224.0,805579364.0,92588.0,141637.0,443.32977200000016,831591.0,772704.0,6862.0,1611158.0,0.89,283.0,185.0
49
- SWE-Bench Verified,swe-bench/swe-bench-verified,500,https://huggingface.co/datasets/princeton-nlp/SWE-bench_Verified,Claude Code,[],False,https://docs.anthropic.com/en/docs/claude-code,GPT-OSS-120B,RedHatAI/gpt-oss-120b,True,120,mxfp4,https://huggingface.co/RedHatAI/gpt-oss-120b,harbor,https://github.com/harbor-framework/harbor,500.0,13.0,0.376,833651681.0,0.0,5656173.0,839307854.0,150981.0,200547.0,5.7,1667303.0,0.0,11312.0,1678615.0,0.01,401.0,301.0
50
- SWE-Bench Verified,swe-bench/swe-bench-verified,500,https://huggingface.co/datasets/princeton-nlp/SWE-bench_Verified,OpenCode,[],True,https://github.com/opencode-ai/opencode,GPT-OSS-120B,RedHatAI/gpt-oss-120b,True,120,mxfp4,https://huggingface.co/RedHatAI/gpt-oss-120b,harbor,https://github.com/harbor-framework/harbor,500.0,33.0,0.326,202856940.0,0.0,1444371.0,204301311.0,35190.0,322482.0,3.32,405713.0,0.0,2888.0,408602.0,0.01,644.0,70.0
51
- SWE-Bench Verified,swe-bench/swe-bench-verified,500,https://huggingface.co/datasets/princeton-nlp/SWE-bench_Verified,Pi,[],True,https://github.com/earendil-works/pi/tree/main,GPT-OSS-120B,RedHatAI/gpt-oss-120b,True,120,mxfp4,https://huggingface.co/RedHatAI/gpt-oss-120b,harbor,https://github.com/harbor-framework/harbor,500.0,47.0,0.234,90107247.0,0.0,905031.0,91012278.0,146747.0,176174.0,13.86,180214.0,0.0,1810.0,182024.0,0.03,352.0,293.0
52
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,Claude Code,[],False,https://github.com/anthropics/claude-code,Mistral-Small-4-119B-2603-NVFP4,RedHatAI/Mistral-Small-4-119B-2603-NVFP4,True,119,nvfp4,https://huggingface.co/RedHatAI/Mistral-Small-4-119B-2603-NVFP4,harbor,https://github.com/harbor-framework/harbor,500.0,53.0,0.118,309857096.0,0.0,2416878.0,312273974.0,54338.0,555599.0,9.43,619714.0,0.0,4833.0,624547.0,0.02,1111.0,108.0
53
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,OpenCode,[],True,https://github.com/anomalyco/opencode,Mistral-Small-4-119B-2603-NVFP4,RedHatAI/Mistral-Small-4-119B-2603-NVFP4,True,119,nvfp4,https://huggingface.co/RedHatAI/Mistral-Small-4-119B-2603-NVFP4,harbor,https://github.com/harbor-framework/harbor,500.0,6.0,0.318,373713878.0,0.0,4051687.0,377765565.0,49103.0,543025.0,13.64,747427.0,0.0,8103.0,755531.0,0.03,1086.0,98.0
54
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,Pi,[],True,https://github.com/earendil-works/pi/tree/main,Mistral-Small-4-119B-2603-NVFP4,RedHatAI/Mistral-Small-4-119B-2603-NVFP4,True,119,nvfp4,https://huggingface.co/RedHatAI/Mistral-Small-4-119B-2603-NVFP4,harbor,https://github.com/harbor-framework/harbor,500.0,12.0,0.232,195246618.0,0.0,2726988.0,197973606.0,29236.0,458591.0,8.12,390493.0,0.0,5453.0,395947.0,0.02,917.0,58.0
55
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,Claude Code,[],False,https://github.com/anthropics/claude-code,Nemotron-3-Super-120B-NVFP4,RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,True,120,nvfp4,https://huggingface.co/RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,harbor,https://github.com/harbor-framework/harbor,500.0,0.0,0.472,882330271.0,0.0,6689285.0,889019556.0,174288.0,410828.0,45.91,1764660.0,0.0,13378.0,1778039.0,0.09,821.0,348.0
56
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,OpenCode,[],True,https://github.com/anomalyco/opencode,Nemotron-3-Super-120B-NVFP4,RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,True,120,nvfp4,https://huggingface.co/RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,harbor,https://github.com/harbor-framework/harbor,500.0,1.0,0.41,724984042.0,0.0,5941303.0,730925345.0,93088.0,518565.0,21.02,1449968.0,0.0,11882.0,1461850.0,0.04,1037.0,186.0
57
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,Pi,[],True,https://github.com/earendil-works/pi/tree/main,Nemotron-3-Super-120B-NVFP4,RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,True,120,nvfp4,https://huggingface.co/RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4,harbor,https://github.com/harbor-framework/harbor,500.0,6.0,0.498,996839122.0,0.0,7196671.0,1004035793.0,144084.0,446845.0,32.53,1993678.0,0.0,14393.0,2008071.0,0.07,893.0,288.0
58
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,Claude Code,[],False,https://github.com/anthropics/claude-code,Qwen3.6-27B-FP8,RedHatAI/Qwen3.6-27B-FP8,True,27,fp8,https://huggingface.co/RedHatAI/Qwen3.6-27B-FP8,harbor,https://github.com/harbor-framework/harbor,500.0,3.0,0.694,1005844088.0,0.0,6255800.0,1012099888.0,228858.0,411348.0,83.91,2011688.0,0.0,12511.0,2024199.0,0.17,822.0,457.0
59
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,OpenCode,[],True,https://github.com/opencode-ai/opencode,Qwen3.6-27B-FP8,RedHatAI/Qwen3.6-27B-FP8,True,27,fp8,https://huggingface.co/RedHatAI/Qwen3.6-27B-FP8,harbor,https://github.com/harbor-framework/harbor,500.0,8.0,0.642,395291929.0,0.0,3296668.0,398588597.0,92700.0,374913.0,33.99,790583.0,0.0,6593.0,797177.0,0.07,749.0,185.0
60
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,Pi,[],True,https://github.com/plandex-ai/plandex,Qwen3.6-27B-FP8,RedHatAI/Qwen3.6-27B-FP8,True,27,fp8,https://huggingface.co/RedHatAI/Qwen3.6-27B-FP8,harbor,https://github.com/harbor-framework/harbor,500.0,7.0,0.694,544070591.0,0.0,4965652.0,549036243.0,130591.0,408706.0,47.88,1088141.0,0.0,9931.0,1098072.0,0.1,817.0,261.0
61
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,Claude Code,[],False,https://github.com/anthropics/claude-code,Qwen3.6-35B-A3B-NVFP4,RedHatAI/Qwen3.6-35B-A3B-NVFP4,True,35,nvfp4,https://huggingface.co/RedHatAI/Qwen3.6-35B-A3B-NVFP4,harbor,https://github.com/harbor-framework/harbor,500.0,1.0,0.632,1106618897.0,0.0,5733245.0,1112352142.0,122808.0,171897.0,34.11,2213237.0,0.0,11466.0,2224704.0,0.07,343.0,245.0
62
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,OpenClaw,[],True,https://github.com/openclaw/openclaw,Qwen3.6-35B-A3B-NVFP4,RedHatAI/Qwen3.6-35B-A3B-NVFP4,True,35,nvfp4,https://huggingface.co/RedHatAI/Qwen3.6-35B-A3B-NVFP4,harbor,https://github.com/harbor-framework/harbor,500.0,3.0,0.588,0.0,0.0,0.0,0.0,120399.0,200354.0,33.44,0.0,0.0,0.0,0.0,0.07,400.0,240.0
63
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,OpenCode,[],True,https://github.com/anomalyco/opencode,Qwen3.6-35B-A3B-NVFP4,RedHatAI/Qwen3.6-35B-A3B-NVFP4,True,35,nvfp4,https://huggingface.co/RedHatAI/Qwen3.6-35B-A3B-NVFP4,harbor,https://github.com/harbor-framework/harbor,500.0,4.0,0.548,469806650.0,0.0,4937761.0,474744411.0,120473.0,185168.0,29.75,939613.0,0.0,9875.0,949488.0,0.06,370.0,240.0
64
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,Pi,[],True,https://github.com/earendil-works/pi/tree/main,Qwen3.6-35B-A3B-NVFP4,RedHatAI/Qwen3.6-35B-A3B-NVFP4,True,35,nvfp4,https://huggingface.co/RedHatAI/Qwen3.6-35B-A3B-NVFP4,harbor,https://github.com/harbor-framework/harbor,500.0,6.0,0.65,791183735.0,0.0,6333798.0,797517533.0,154531.0,218988.0,38.16,1582367.0,0.0,12667.0,1595035.0,0.08,437.0,309.0
65
- SWE-Bench Verified,SWE-bench/SWE-bench_Verified,500,https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified,Qwen Code,[],True,https://github.com/QwenLM/qwen-code,Qwen3.6-35B-A3B-NVFP4,RedHatAI/Qwen3.6-35B-A3B-NVFP4,True,35,nvfp4,https://huggingface.co/RedHatAI/Qwen3.6-35B-A3B-NVFP4,harbor,https://github.com/harbor-framework/harbor,500.0,3.0,0.638,609589099.0,0.0,3964252.0,613553351.0,132273.0,178984.0,36.74,1219178.0,0.0,7928.0,1227106.0,0.07,357.0,264.0
66
- Terminal Bench 2.0,terminal-bench/terminal-bench-2,89,https://www.tbench.ai/benchmarks/terminal-bench-2,OpenCode,[],True,https://github.com/anomalyco/opencode,Qwen3.6-35B-A3B-NVFP4,RedHatAI/Qwen3.6-35B-A3B-NVFP4,True,35,nvfp4,https://huggingface.co/RedHatAI/Qwen3.6-35B-A3B-NVFP4,harbor,https://github.com/harbor-framework/harbor,89.0,5.0,0.303,47607780.0,0.0,1657188.0,49264968.0,46467.0,58507.0,11.47,534918.0,0.0,18620.0,553538.0,0.13,657.0,522.0
67
- Terminal Bench 2.0,terminal-bench/terminal-bench-2,89,https://www.tbench.ai/benchmarks/terminal-bench-2,Pi,[],True,https://github.com/earendil-works/pi/tree/main,Qwen3.6-35B-A3B-NVFP4,RedHatAI/Qwen3.6-35B-A3B-NVFP4,True,35,nvfp4,https://huggingface.co/RedHatAI/Qwen3.6-35B-A3B-NVFP4,harbor,https://github.com/harbor-framework/harbor,89.0,5.0,0.36,82108716.0,0.0,2056390.0,84165106.0,44991.0,64760.0,11.11,922569.0,0.0,23105.0,945675.0,0.12,727.0,505.0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/claude-opus-4-7-internal.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "dataset": {
3
+ "name": "swe-bench-verified",
4
+ "repo": "SWE-bench/SWE-bench_Verified",
5
+ "num_tasks": 500
6
+ },
7
+ "harness": {
8
+ "name": "internal",
9
+ "skills": [],
10
+ "is_oss": false
11
+ },
12
+ "model": {
13
+ "name": "Claude Opus 4.7",
14
+ "repo": null,
15
+ "is_oss": false,
16
+ "num_params": 4000,
17
+ "precision": "bf16"
18
+ },
19
+ "environment": {
20
+ "name": "internal"
21
+ },
22
+ "metrics": {
23
+ "score": 0.876,
24
+ "time": null,
25
+ "costUSD": null
26
+ }
27
+ }
results/qwen3-6-35b-internal.json ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "dataset": {
3
+ "name": "swe-bench-verified",
4
+ "repo": "SWE-bench/SWE-bench_Verified",
5
+ "num_tasks": 500
6
+ },
7
+ "harness": {
8
+ "name": "internal",
9
+ "skills": [],
10
+ "is_oss": false
11
+ },
12
+ "model": {
13
+ "name": "Qwen3.6-35B-A3B",
14
+ "repo": "Qwen/Qwen3.6-35B-A3B",
15
+ "is_oss": true,
16
+ "num_params": 35,
17
+ "precision": "bf16"
18
+ },
19
+ "environment": {
20
+ "name": "internal"
21
+ },
22
+ "metrics": {
23
+ "score": 0.734,
24
+ "time": null,
25
+ "costUSD": null
26
+ }
27
+ }
results/{swe-bench-verified-claude-sonnet-4-6-claude-code.json → qwen3-6-35b-nvfp4-claude-code.json} RENAMED
@@ -1,23 +1,20 @@
1
  {
2
- "benchmark": {
3
- "name": "SWE-Bench Verified",
4
  "repo": "SWE-bench/SWE-bench_Verified",
5
- "num_tasks": 500,
6
- "url": "https://huggingface.co/datasets/SWE-bench/SWE-bench_Verified"
7
  },
8
  "harness": {
9
- "name": "Claude Code",
10
  "skills": [],
11
- "is_oss": false,
12
- "url": "https://github.com/anthropics/claude-code"
13
  },
14
  "model": {
15
- "name": "Sonnet 4.6",
16
- "repo": "Sonnet 4.6",
17
- "is_oss": false,
18
- "num_params": 1000,
19
- "precision": "bf16",
20
- "url": "https://www.anthropic.com/news/claude-sonnet-4-6"
21
  },
22
  "environment": {
23
  "name": "harbor",
@@ -33,10 +30,11 @@
33
  "task_names": null,
34
  "exclude_task_names": null,
35
  "n_tasks": null
36
- },
37
- "url": "https://github.com/harbor-framework/harbor"
38
  },
39
  "metrics": {
40
- "score": 0.796
 
 
41
  }
42
- }
 
1
  {
2
+ "dataset": {
3
+ "name": "swe-bench-verified",
4
  "repo": "SWE-bench/SWE-bench_Verified",
5
+ "num_tasks": 500
 
6
  },
7
  "harness": {
8
+ "name": "claude-code",
9
  "skills": [],
10
+ "is_oss": false
 
11
  },
12
  "model": {
13
+ "name": "Qwen3.6-35B-A3B",
14
+ "repo": "RedHatAI/Qwen3.6-35B-A3B-NVFP4",
15
+ "is_oss": true,
16
+ "num_params": 35,
17
+ "precision": "nvfp4"
 
18
  },
19
  "environment": {
20
  "name": "harbor",
 
30
  "task_names": null,
31
  "exclude_task_names": null,
32
  "n_tasks": null
33
+ }
 
34
  },
35
  "metrics": {
36
+ "score": 0.632,
37
+ "time": 21600,
38
+ "costUSD": 48.00
39
  }
40
+ }
results/rh-swe-bench-claude-opus-4-6-claude-code.json DELETED
@@ -1,58 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "RH SWE-Bench",
4
- "repo": "rounakbende10/rh-swe-bench",
5
- "num_tasks": 357,
6
- "url": "https://huggingface.co/datasets/rounakbende/rh-swe-bench"
7
- },
8
- "harness": {
9
- "name": "Claude Code",
10
- "skills": [],
11
- "is_oss": false,
12
- "url": "https://github.com/anthropics/claude-code"
13
- },
14
- "model": {
15
- "name": "Opus 4.6",
16
- "repo": "Opus 4.6",
17
- "is_oss": false,
18
- "num_params": 1000,
19
- "precision": "bf16",
20
- "url": "https://www.anthropic.com/news/claude-opus-4-6"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "path": null,
26
- "name": "rh-swe-bench",
27
- "version": null,
28
- "ref": null,
29
- "registry_url": null,
30
- "registry_path": null,
31
- "overwrite": false,
32
- "download_dir": null,
33
- "task_names": null,
34
- "exclude_task_names": null,
35
- "n_tasks": null
36
- },
37
- "url": "https://github.com/harbor-framework/harbor"
38
- },
39
- "metrics": {
40
- "n_tasks": 357,
41
- "n_errors": 0,
42
- "score": 0.633,
43
- "n_input_tokens": 438501505,
44
- "n_cache_tokens": 419608736,
45
- "n_output_tokens": 2823496,
46
- "n_total_tokens": 860933737,
47
- "agent_time_seconds": 126529,
48
- "total_time_seconds": 243310,
49
- "cost_usd": 434.54,
50
- "mean_input_tokens_per_task": 1228295,
51
- "mean_cache_tokens_per_task": 1175374,
52
- "mean_output_tokens_per_task": 7908,
53
- "mean_tokens_per_task": 2411579,
54
- "mean_cost_usd_per_task": 1.22,
55
- "mean_total_time_seconds_per_task": 681,
56
- "mean_agent_time_seconds_per_task": 354
57
- }
58
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/rh-swe-bench-claude-sonnet-4-6-claude-code.json DELETED
@@ -1,58 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "RH SWE-Bench",
4
- "repo": "rounakbende10/rh-swe-bench",
5
- "num_tasks": 357,
6
- "url": "https://huggingface.co/datasets/rounakbende/rh-swe-bench"
7
- },
8
- "harness": {
9
- "name": "Claude Code",
10
- "skills": [],
11
- "is_oss": false,
12
- "url": "https://github.com/anthropics/claude-code"
13
- },
14
- "model": {
15
- "name": "Sonnet 4.6",
16
- "repo": "Sonnet 4.6",
17
- "is_oss": false,
18
- "num_params": 1000,
19
- "precision": "bf16",
20
- "url": "https://www.anthropic.com/news/claude-sonnet-4-6"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "path": null,
26
- "name": "rh-swe-bench",
27
- "version": null,
28
- "ref": null,
29
- "registry_url": null,
30
- "registry_path": null,
31
- "overwrite": false,
32
- "download_dir": null,
33
- "task_names": null,
34
- "exclude_task_names": null,
35
- "n_tasks": null
36
- },
37
- "url": "https://github.com/harbor-framework/harbor"
38
- },
39
- "metrics": {
40
- "n_tasks": 357,
41
- "n_errors": 0,
42
- "score": 0.557,
43
- "n_input_tokens": 500304168,
44
- "n_cache_tokens": 479035103,
45
- "n_output_tokens": 4937782,
46
- "n_total_tokens": 984277053,
47
- "agent_time_seconds": 150652,
48
- "total_time_seconds": 269008,
49
- "cost_usd": 349.77,
50
- "mean_input_tokens_per_task": 1401412,
51
- "mean_cache_tokens_per_task": 1341835,
52
- "mean_output_tokens_per_task": 13831,
53
- "mean_tokens_per_task": 2757078,
54
- "mean_cost_usd_per_task": 0.98,
55
- "mean_total_time_seconds_per_task": 753,
56
- "mean_agent_time_seconds_per_task": 421
57
- }
58
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/rh-swe-bench-gpt-oss-120b-claude-code.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "RH SWE-Bench",
4
- "repo": "rounakbende10/rh-swe-bench",
5
- "num_tasks": 357,
6
- "url": "https://huggingface.co/datasets/rounakbende/rh-swe-bench"
7
- },
8
- "harness": {
9
- "name": "Claude Code",
10
- "skills": [],
11
- "is_oss": false,
12
- "url": "https://docs.anthropic.com/en/docs/claude-code"
13
- },
14
- "model": {
15
- "name": "GPT-OSS-120B",
16
- "repo": "RedHatAI/gpt-oss-120b",
17
- "is_oss": true,
18
- "num_params": 120,
19
- "precision": "mxfp4",
20
- "url": "https://huggingface.co/RedHatAI/gpt-oss-120b"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "rh-swe-bench"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 357,
31
- "n_errors": 31,
32
- "score": 0.317,
33
- "n_input_tokens": 1088634865,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 6200414,
36
- "n_total_tokens": 1094835279,
37
- "agent_time_seconds": 398444,
38
- "total_time_seconds": 575536,
39
- "cost_usd": 15.05,
40
- "mean_input_tokens_per_task": 3049397,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 17368,
43
- "mean_tokens_per_task": 3066765,
44
- "mean_cost_usd_per_task": 0.04,
45
- "mean_total_time_seconds_per_task": 1612,
46
- "mean_agent_time_seconds_per_task": 1116
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/rh-swe-bench-gpt-oss-120b-opencode.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "RH SWE-Bench",
4
- "repo": "rounakbende10/rh-swe-bench",
5
- "num_tasks": 357,
6
- "url": "https://huggingface.co/datasets/rounakbende/rh-swe-bench"
7
- },
8
- "harness": {
9
- "name": "OpenCode",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/opencode-ai/opencode"
13
- },
14
- "model": {
15
- "name": "GPT-OSS-120B",
16
- "repo": "RedHatAI/gpt-oss-120b",
17
- "is_oss": true,
18
- "num_params": 120,
19
- "precision": "mxfp4",
20
- "url": "https://huggingface.co/RedHatAI/gpt-oss-120b"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "rh-swe-bench"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 357,
31
- "n_errors": 7,
32
- "score": 0.294,
33
- "n_input_tokens": 419671770,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 2277963,
36
- "n_total_tokens": 421949733,
37
- "agent_time_seconds": 98909,
38
- "total_time_seconds": 169021,
39
- "cost_usd": 3.74,
40
- "mean_input_tokens_per_task": 1175551,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 6380,
43
- "mean_tokens_per_task": 1181932,
44
- "mean_cost_usd_per_task": 0.01,
45
- "mean_total_time_seconds_per_task": 473,
46
- "mean_agent_time_seconds_per_task": 277
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/rh-swe-bench-gpt-oss-120b-pi.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "RH SWE-Bench",
4
- "repo": "rounakbende10/rh-swe-bench",
5
- "num_tasks": 357,
6
- "url": "https://huggingface.co/datasets/rounakbende/rh-swe-bench"
7
- },
8
- "harness": {
9
- "name": "Pi",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/earendil-works/pi/tree/main"
13
- },
14
- "model": {
15
- "name": "GPT-OSS-120B",
16
- "repo": "RedHatAI/gpt-oss-120b",
17
- "is_oss": true,
18
- "num_params": 120,
19
- "precision": "mxfp4",
20
- "url": "https://huggingface.co/RedHatAI/gpt-oss-120b"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "rh-swe-bench"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 357,
31
- "n_errors": 20,
32
- "score": 0.23,
33
- "n_input_tokens": 419282595,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 1954817,
36
- "n_total_tokens": 421237412,
37
- "agent_time_seconds": 100632,
38
- "total_time_seconds": 168697,
39
- "cost_usd": 3.8,
40
- "mean_input_tokens_per_task": 1174461,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 5475,
43
- "mean_tokens_per_task": 1179936,
44
- "mean_cost_usd_per_task": 0.01,
45
- "mean_total_time_seconds_per_task": 472,
46
- "mean_agent_time_seconds_per_task": 281
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/rh-swe-bench-nemotron-120b-claude-code.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "RH SWE-Bench",
4
- "repo": "rounakbende10/rh-swe-bench",
5
- "num_tasks": 357,
6
- "url": "https://huggingface.co/datasets/rounakbende/rh-swe-bench"
7
- },
8
- "harness": {
9
- "name": "Claude Code",
10
- "skills": [],
11
- "is_oss": false,
12
- "url": "https://github.com/anthropics/claude-code"
13
- },
14
- "model": {
15
- "name": "Nemotron-3-Super-120B-NVFP4",
16
- "repo": "RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4",
17
- "is_oss": true,
18
- "num_params": 120,
19
- "precision": "nvfp4",
20
- "url": "https://huggingface.co/RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "rh-swe-bench"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 357,
31
- "n_errors": 14,
32
- "score": 0.224,
33
- "n_input_tokens": 783670817,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 5510291,
36
- "n_total_tokens": 789181108,
37
- "agent_time_seconds": 144352,
38
- "total_time_seconds": 355122,
39
- "cost_usd": 38.03,
40
- "mean_input_tokens_per_task": 2195156,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 15434,
43
- "mean_tokens_per_task": 2210591,
44
- "mean_cost_usd_per_task": 0.11,
45
- "mean_total_time_seconds_per_task": 994,
46
- "mean_agent_time_seconds_per_task": 404
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/rh-swe-bench-nemotron-120b-opencode.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "RH SWE-Bench",
4
- "repo": "rounakbende10/rh-swe-bench",
5
- "num_tasks": 357,
6
- "url": "https://huggingface.co/datasets/rounakbende/rh-swe-bench"
7
- },
8
- "harness": {
9
- "name": "OpenCode",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/anomalyco/opencode"
13
- },
14
- "model": {
15
- "name": "Nemotron-3-Super-120B-NVFP4",
16
- "repo": "RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4",
17
- "is_oss": true,
18
- "num_params": 120,
19
- "precision": "nvfp4",
20
- "url": "https://huggingface.co/RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "rh-swe-bench"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 357,
31
- "n_errors": 7,
32
- "score": 0.308,
33
- "n_input_tokens": 839586046,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 5706139,
36
- "n_total_tokens": 845292185,
37
- "agent_time_seconds": 94762,
38
- "total_time_seconds": 251102,
39
- "cost_usd": 37.44,
40
- "mean_input_tokens_per_task": 2351781,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 15983,
43
- "mean_tokens_per_task": 2367765,
44
- "mean_cost_usd_per_task": 0.1,
45
- "mean_total_time_seconds_per_task": 703,
46
- "mean_agent_time_seconds_per_task": 265
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/rh-swe-bench-nemotron-120b-pi.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "RH SWE-Bench",
4
- "repo": "rounakbende10/rh-swe-bench",
5
- "num_tasks": 357,
6
- "url": "https://huggingface.co/datasets/rounakbende/rh-swe-bench"
7
- },
8
- "harness": {
9
- "name": "Pi",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/earendil-works/pi/tree/main"
13
- },
14
- "model": {
15
- "name": "Nemotron-3-Super-120B-NVFP4",
16
- "repo": "RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4",
17
- "is_oss": true,
18
- "num_params": 120,
19
- "precision": "nvfp4",
20
- "url": "https://huggingface.co/RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "rh-swe-bench"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 357,
31
- "n_errors": 13,
32
- "score": 0.216,
33
- "n_input_tokens": 770574986,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 6519128,
36
- "n_total_tokens": 777094114,
37
- "agent_time_seconds": 116348,
38
- "total_time_seconds": 360934,
39
- "cost_usd": 30.65,
40
- "mean_input_tokens_per_task": 2158473,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 18260,
43
- "mean_tokens_per_task": 2176734,
44
- "mean_cost_usd_per_task": 0.09,
45
- "mean_total_time_seconds_per_task": 1011,
46
- "mean_agent_time_seconds_per_task": 325
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/rh-swe-bench-qwen3-6-27b-fp8-claude-code.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "RH SWE-Bench",
4
- "repo": "rounakbende/rh-swe-bench",
5
- "num_tasks": 357,
6
- "url": "https://huggingface.co/datasets/rounakbende/rh-swe-bench"
7
- },
8
- "harness": {
9
- "name": "Claude Code",
10
- "skills": [],
11
- "is_oss": false,
12
- "url": "https://github.com/anthropics/claude-code"
13
- },
14
- "model": {
15
- "name": "Qwen3.6-27B-FP8",
16
- "repo": "RedHatAI/Qwen3.6-27B-FP8",
17
- "is_oss": true,
18
- "num_params": 27,
19
- "precision": "fp8",
20
- "url": "https://huggingface.co/RedHatAI/Qwen3.6-27B-FP8"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "rh-swe-bench"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 357,
31
- "n_errors": 9,
32
- "score": 0.493,
33
- "n_input_tokens": 885869433,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 4763916,
36
- "n_total_tokens": 890633349,
37
- "agent_time_seconds": 201374,
38
- "total_time_seconds": 401657,
39
- "cost_usd": 73.84,
40
- "mean_input_tokens_per_task": 2481426,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 13344,
43
- "mean_tokens_per_task": 2494771,
44
- "mean_cost_usd_per_task": 0.21,
45
- "mean_total_time_seconds_per_task": 1125,
46
- "mean_agent_time_seconds_per_task": 564
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/rh-swe-bench-qwen3-6-27b-fp8-opencode.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "RH SWE-Bench",
4
- "repo": "rounakbende/rh-swe-bench",
5
- "num_tasks": 357,
6
- "url": "https://huggingface.co/datasets/rounakbende/rh-swe-bench"
7
- },
8
- "harness": {
9
- "name": "OpenCode",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/opencode-ai/opencode"
13
- },
14
- "model": {
15
- "name": "Qwen3.6-27B-FP8",
16
- "repo": "RedHatAI/Qwen3.6-27B-FP8",
17
- "is_oss": true,
18
- "num_params": 27,
19
- "precision": "fp8",
20
- "url": "https://huggingface.co/RedHatAI/Qwen3.6-27B-FP8"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "rh-swe-bench"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 357,
31
- "n_errors": 10,
32
- "score": 0.44,
33
- "n_input_tokens": 410001939,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 2851571,
36
- "n_total_tokens": 412853510,
37
- "agent_time_seconds": 115135,
38
- "total_time_seconds": 315451,
39
- "cost_usd": 42.22,
40
- "mean_input_tokens_per_task": 1148464,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 7987,
43
- "mean_tokens_per_task": 1156452,
44
- "mean_cost_usd_per_task": 0.12,
45
- "mean_total_time_seconds_per_task": 883,
46
- "mean_agent_time_seconds_per_task": 322
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/rh-swe-bench-qwen3-6-27b-fp8-pi.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "RH SWE-Bench",
4
- "repo": "rounakbende/rh-swe-bench",
5
- "num_tasks": 357,
6
- "url": "https://huggingface.co/datasets/rounakbende/rh-swe-bench"
7
- },
8
- "harness": {
9
- "name": "Pi",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/plandex-ai/plandex"
13
- },
14
- "model": {
15
- "name": "Qwen3.6-27B-FP8",
16
- "repo": "RedHatAI/Qwen3.6-27B-FP8",
17
- "is_oss": true,
18
- "num_params": 27,
19
- "precision": "fp8",
20
- "url": "https://huggingface.co/RedHatAI/Qwen3.6-27B-FP8"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "rh-swe-bench"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 357,
31
- "n_errors": 1,
32
- "score": 0.468,
33
- "n_input_tokens": 560672462,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 3618673,
36
- "n_total_tokens": 564291135,
37
- "agent_time_seconds": 114791,
38
- "total_time_seconds": 333385,
39
- "cost_usd": 42.09,
40
- "mean_input_tokens_per_task": 1570511,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 10136,
43
- "mean_tokens_per_task": 1580647,
44
- "mean_cost_usd_per_task": 0.12,
45
- "mean_total_time_seconds_per_task": 933,
46
- "mean_agent_time_seconds_per_task": 321
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/shellbench-gemma4-31b-fp8-openclaw.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "Shellbench",
4
- "repo": "ShellBench/public-tasks",
5
- "num_tasks": 115,
6
- "url": "https://github.com/ShellBench/public-tasks"
7
- },
8
- "harness": {
9
- "name": "OpenClaw",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/OpenClaw/OpenClaw"
13
- },
14
- "model": {
15
- "name": "Gemma4-31B-FP8",
16
- "repo": "RedHatAI/gemma-4-31B-it-FP8-block",
17
- "is_oss": true,
18
- "num_params": 31,
19
- "precision": "fp8",
20
- "url": "https://huggingface.co/RedHatAI/gemma-4-31B-it-FP8-block"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "path": "/Users/hveeradh/public-tasks/tasks/115-tasks"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 115,
31
- "n_errors": 6,
32
- "score": 0.0,
33
- "n_input_tokens": 0,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 0,
36
- "n_total_tokens": 0,
37
- "agent_time_seconds": 29895,
38
- "total_time_seconds": 36503,
39
- "cost_usd": 8.3,
40
- "mean_input_tokens_per_task": 0,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 0,
43
- "mean_tokens_per_task": 0,
44
- "mean_cost_usd_per_task": 0.07,
45
- "mean_total_time_seconds_per_task": 317,
46
- "mean_agent_time_seconds_per_task": 259
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/shellbench-gpt-oss-120b-openclaw.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "Shellbench",
4
- "repo": "ShellBench/public-tasks",
5
- "num_tasks": 115,
6
- "url": "https://github.com/ShellBench/public-tasks"
7
- },
8
- "harness": {
9
- "name": "OpenClaw",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/OpenClaw/OpenClaw"
13
- },
14
- "model": {
15
- "name": "GPT-OSS-120B",
16
- "repo": "RedHatAI/gpt-oss-120b",
17
- "is_oss": true,
18
- "num_params": 120,
19
- "precision": "",
20
- "url": "https://huggingface.co/RedHatAI/gpt-oss-120b"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "path": "/Users/hveeradh/public-tasks/tasks/115-tasks"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 115,
31
- "n_errors": 1,
32
- "score": 0.0,
33
- "n_input_tokens": 0,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 0,
36
- "n_total_tokens": 0,
37
- "agent_time_seconds": 8170,
38
- "total_time_seconds": 13296,
39
- "cost_usd": 2.27,
40
- "mean_input_tokens_per_task": 0,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 0,
43
- "mean_tokens_per_task": 0,
44
- "mean_cost_usd_per_task": 0.02,
45
- "mean_total_time_seconds_per_task": 115,
46
- "mean_agent_time_seconds_per_task": 71
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/shellbench-mistral4-119b-fp4-openclaw.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "Shellbench",
4
- "repo": "ShellBench/public-tasks",
5
- "num_tasks": 115,
6
- "url": "https://github.com/ShellBench/public-tasks"
7
- },
8
- "harness": {
9
- "name": "OpenClaw",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/OpenClaw/OpenClaw"
13
- },
14
- "model": {
15
- "name": "Mistral-Small-4-119B-2603-NVFP4",
16
- "repo": "RedHatAI/Mistral-Small-4-119B-2603-NVFP4",
17
- "is_oss": true,
18
- "num_params": 119,
19
- "precision": "fp4",
20
- "url": "https://huggingface.co/RedHatAI/Mistral-Small-4-119B-2603-NVFP4"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "path": "/Users/hveeradh/public-tasks/tasks/115-tasks"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 115,
31
- "n_errors": 2,
32
- "score": 0.009,
33
- "n_input_tokens": 0,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 0,
36
- "n_total_tokens": 0,
37
- "agent_time_seconds": 4846,
38
- "total_time_seconds": 9862,
39
- "cost_usd": 1.35,
40
- "mean_input_tokens_per_task": 0,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 0,
43
- "mean_tokens_per_task": 0,
44
- "mean_cost_usd_per_task": 0.01,
45
- "mean_total_time_seconds_per_task": 85,
46
- "mean_agent_time_seconds_per_task": 42
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/shellbench-nemotron-120b-openclaw.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "Shellbench",
4
- "repo": "ShellBench/public-tasks",
5
- "num_tasks": 115,
6
- "url": "https://github.com/ShellBench/public-tasks"
7
- },
8
- "harness": {
9
- "name": "OpenClaw",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/OpenClaw/OpenClaw"
13
- },
14
- "model": {
15
- "name": "Nemotron-3-Super-120B-NVFP4",
16
- "repo": "RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4",
17
- "is_oss": true,
18
- "num_params": 120,
19
- "precision": "fp4",
20
- "url": "https://huggingface.co/RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "path": "/Users/hveeradh/public-tasks/tasks/115-tasks"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 115,
31
- "n_errors": 1,
32
- "score": 0.014,
33
- "n_input_tokens": 0,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 0,
36
- "n_total_tokens": 0,
37
- "agent_time_seconds": 21575,
38
- "total_time_seconds": 26392,
39
- "cost_usd": 5.99,
40
- "mean_input_tokens_per_task": 0,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 0,
43
- "mean_tokens_per_task": 0,
44
- "mean_cost_usd_per_task": 0.05,
45
- "mean_total_time_seconds_per_task": 229,
46
- "mean_agent_time_seconds_per_task": 187
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/shellbench-qwen3-6-27b-fp8-openclaw.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "Shellbench",
4
- "repo": "ShellBench/public-tasks",
5
- "num_tasks": 115,
6
- "url": "https://github.com/ShellBench/public-tasks"
7
- },
8
- "harness": {
9
- "name": "OpenClaw",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/OpenClaw/OpenClaw"
13
- },
14
- "model": {
15
- "name": "Qwen3.6-27B-FP8",
16
- "repo": "RedHatAI/Qwen3.6-27B-FP8",
17
- "is_oss": true,
18
- "num_params": 27,
19
- "precision": "fp8",
20
- "url": "https://huggingface.co/RedHatAI/Qwen3.6-27B-FP8"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "path": "/Users/hveeradh/public-tasks/tasks/115-tasks"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 115,
31
- "n_errors": 1,
32
- "score": 0.128,
33
- "n_input_tokens": 0,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 0,
36
- "n_total_tokens": 0,
37
- "agent_time_seconds": 10812,
38
- "total_time_seconds": 16949,
39
- "cost_usd": 6.01,
40
- "mean_input_tokens_per_task": 0,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 0,
43
- "mean_tokens_per_task": 0,
44
- "mean_cost_usd_per_task": 0.05,
45
- "mean_total_time_seconds_per_task": 147,
46
- "mean_agent_time_seconds_per_task": 94
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-claude-opus-4-8-claude-code.json DELETED
@@ -1,60 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "ScaleAI/SWE-bench_Pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro"
7
- },
8
- "harness": {
9
- "name": "Claude Code",
10
- "skills": [],
11
- "is_oss": false,
12
- "url": "https://github.com/anthropics/claude-code"
13
- },
14
- "model": {
15
- "name": "Opus 4.8",
16
- "repo": "Opus 4.8",
17
- "is_oss": false,
18
- "num_params": 1000,
19
- "precision": "bf16",
20
- "url": "https://www.anthropic.com/news/claude-opus-4-8"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "path": null,
26
- "name": "scale-ai/swe-bench-pro",
27
- "version": null,
28
- "ref": "sha256:88411d32ff27e53a4c1a7e29f0c2aeba180c8e5d60f221cab5ed56325f33549d",
29
- "registry_url": null,
30
- "registry_path": null,
31
- "overwrite": false,
32
- "download_dir": null,
33
- "task_names": [
34
- "*ansible*"
35
- ],
36
- "exclude_task_names": null,
37
- "n_tasks": null
38
- },
39
- "url": "https://github.com/harbor-framework/harbor"
40
- },
41
- "metrics": {
42
- "n_tasks": 96,
43
- "n_errors": 0,
44
- "score": 0.698,
45
- "n_input_tokens": 192346997,
46
- "n_cache_tokens": 186506482,
47
- "n_output_tokens": 2179945,
48
- "n_total_tokens": 381033424,
49
- "agent_time_seconds": 32745,
50
- "total_time_seconds": 39030,
51
- "cost_usd": 185.66155285,
52
- "mean_input_tokens_per_task": 2003614,
53
- "mean_cache_tokens_per_task": 1942775,
54
- "mean_output_tokens_per_task": 22707,
55
- "mean_tokens_per_task": 3969098,
56
- "mean_cost_usd_per_task": 1.93,
57
- "mean_total_time_seconds_per_task": 406,
58
- "mean_agent_time_seconds_per_task": 341
59
- }
60
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-claude-opus-4-8-opencode.json DELETED
@@ -1,60 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "ScaleAI/SWE-bench_Pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro"
7
- },
8
- "harness": {
9
- "name": "OpenCode",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/anomalyco/opencode"
13
- },
14
- "model": {
15
- "name": "Opus 4.8",
16
- "repo": "Opus 4.8",
17
- "is_oss": false,
18
- "num_params": 1000,
19
- "precision": "bf16",
20
- "url": "https://www.anthropic.com/news/claude-opus-4-8"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "path": null,
26
- "name": "scale-ai/swe-bench-pro",
27
- "version": null,
28
- "ref": "sha256:88411d32ff27e53a4c1a7e29f0c2aeba180c8e5d60f221cab5ed56325f33549d",
29
- "registry_url": null,
30
- "registry_path": null,
31
- "overwrite": false,
32
- "download_dir": null,
33
- "task_names": [
34
- "*ansible*"
35
- ],
36
- "exclude_task_names": null,
37
- "n_tasks": null
38
- },
39
- "url": "https://github.com/harbor-framework/harbor"
40
- },
41
- "metrics": {
42
- "n_tasks": 96,
43
- "n_errors": 0,
44
- "score": 0.781,
45
- "n_input_tokens": 187217712,
46
- "n_cache_tokens": 187209844,
47
- "n_output_tokens": 1280944,
48
- "n_total_tokens": 375708500,
49
- "agent_time_seconds": 30686,
50
- "total_time_seconds": 39352,
51
- "cost_usd": 151.4104807499999,
52
- "mean_input_tokens_per_task": 1950184,
53
- "mean_cache_tokens_per_task": 1950102,
54
- "mean_output_tokens_per_task": 13343,
55
- "mean_tokens_per_task": 3913630,
56
- "mean_cost_usd_per_task": 1.58,
57
- "mean_total_time_seconds_per_task": 409,
58
- "mean_agent_time_seconds_per_task": 319
59
- }
60
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-claude-sonnet-4-6-claude-code.json DELETED
@@ -1,60 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "ScaleAI/SWE-bench_Pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro"
7
- },
8
- "harness": {
9
- "name": "Claude Code",
10
- "skills": [],
11
- "is_oss": false,
12
- "url": "https://github.com/anthropics/claude-code"
13
- },
14
- "model": {
15
- "name": "Sonnet 4.6",
16
- "repo": "Sonnet 4.6",
17
- "is_oss": false,
18
- "num_params": 1000,
19
- "precision": "bf16",
20
- "url": "https://www.anthropic.com/news/claude-sonnet-4-6"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "path": null,
26
- "name": "scale-ai/swe-bench-pro",
27
- "version": null,
28
- "ref": "sha256:88411d32ff27e53a4c1a7e29f0c2aeba180c8e5d60f221cab5ed56325f33549d",
29
- "registry_url": null,
30
- "registry_path": null,
31
- "overwrite": false,
32
- "download_dir": null,
33
- "task_names": [
34
- "*ansible*"
35
- ],
36
- "exclude_task_names": null,
37
- "n_tasks": null
38
- },
39
- "url": "https://github.com/harbor-framework/harbor"
40
- },
41
- "metrics": {
42
- "n_tasks": 96,
43
- "n_errors": 1,
44
- "score": 0.5,
45
- "n_input_tokens": 190672390,
46
- "n_cache_tokens": 184409111,
47
- "n_output_tokens": 1593112,
48
- "n_total_tokens": 376674613,
49
- "agent_time_seconds": 40527,
50
- "total_time_seconds": 49734,
51
- "cost_usd": 184.42824125000004,
52
- "mean_input_tokens_per_task": 1986170,
53
- "mean_cache_tokens_per_task": 1920928,
54
- "mean_output_tokens_per_task": 16594,
55
- "mean_tokens_per_task": 3923693,
56
- "mean_cost_usd_per_task": 1.92,
57
- "mean_total_time_seconds_per_task": 518,
58
- "mean_agent_time_seconds_per_task": 422
59
- }
60
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-gemma4-31b-fp8-claude-code.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "ScaleAI/SWE-bench_Pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro"
7
- },
8
- "harness": {
9
- "name": "Claude Code",
10
- "skills": [],
11
- "is_oss": false,
12
- "url": "https://github.com/anthropics/claude-code"
13
- },
14
- "model": {
15
- "name": "Gemma4-31B-FP8",
16
- "repo": "RedHatAI/gemma-4-31B-it-FP8-block",
17
- "is_oss": true,
18
- "num_params": 31,
19
- "precision": "fp8",
20
- "url": "https://huggingface.co/RedHatAI/gemma-4-31B-it-FP8-block"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "SWE-bench_Pro"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 96,
31
- "n_errors": 16,
32
- "score": 0.417,
33
- "n_input_tokens": 122366824,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 1307027,
36
- "n_total_tokens": 123673851,
37
- "agent_time_seconds": 138148,
38
- "total_time_seconds": 158812,
39
- "cost_usd": 54.82,
40
- "mean_input_tokens_per_task": 1274654,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 13614,
43
- "mean_tokens_per_task": 1288269,
44
- "mean_cost_usd_per_task": 0.57,
45
- "mean_total_time_seconds_per_task": 1654,
46
- "mean_agent_time_seconds_per_task": 1439
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-gemma4-31b-fp8-opencode.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "ScaleAI/SWE-bench_Pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro"
7
- },
8
- "harness": {
9
- "name": "OpenCode",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/anomalyco/opencode"
13
- },
14
- "model": {
15
- "name": "Gemma4-31B-FP8",
16
- "repo": "RedHatAI/gemma-4-31B-it-FP8-block",
17
- "is_oss": true,
18
- "num_params": 31,
19
- "precision": "fp8",
20
- "url": "https://huggingface.co/RedHatAI/gemma-4-31B-it-FP8-block"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "SWE-bench_Pro"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 96,
31
- "n_errors": 12,
32
- "score": 0.417,
33
- "n_input_tokens": 100068358,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 1261237,
36
- "n_total_tokens": 101329595,
37
- "agent_time_seconds": 60747,
38
- "total_time_seconds": 77623,
39
- "cost_usd": 19.28,
40
- "mean_input_tokens_per_task": 1042378,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 13137,
43
- "mean_tokens_per_task": 1055516,
44
- "mean_cost_usd_per_task": 0.2,
45
- "mean_total_time_seconds_per_task": 808,
46
- "mean_agent_time_seconds_per_task": 632
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-gemma4-31b-fp8-pi.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "ScaleAI/SWE-bench_Pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro"
7
- },
8
- "harness": {
9
- "name": "Pi",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/earendil-works/pi/tree/main"
13
- },
14
- "model": {
15
- "name": "Gemma4-31B-FP8",
16
- "repo": "RedHatAI/gemma-4-31B-it-FP8-block",
17
- "is_oss": true,
18
- "num_params": 31,
19
- "precision": "fp8",
20
- "url": "https://huggingface.co/RedHatAI/gemma-4-31B-it-FP8-block"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "SWE-bench_Pro"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 96,
31
- "n_errors": 2,
32
- "score": 0.469,
33
- "n_input_tokens": 78678324,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 1370430,
36
- "n_total_tokens": 80048754,
37
- "agent_time_seconds": 51767,
38
- "total_time_seconds": 66845,
39
- "cost_usd": 16.43,
40
- "mean_input_tokens_per_task": 819565,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 14275,
43
- "mean_tokens_per_task": 833841,
44
- "mean_cost_usd_per_task": 0.17,
45
- "mean_total_time_seconds_per_task": 696,
46
- "mean_agent_time_seconds_per_task": 539
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-gpt-5-5-codex.json DELETED
@@ -1,60 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "ScaleAI/SWE-bench_Pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro"
7
- },
8
- "harness": {
9
- "name": "Codex",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/openai/codex"
13
- },
14
- "model": {
15
- "name": "GPT 5.5 - high",
16
- "repo": "GPT 5.5 - high",
17
- "is_oss": false,
18
- "num_params": 9700,
19
- "precision": "bf16",
20
- "url": "https://openai.com/index/introducing-gpt-5-5"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "path": null,
26
- "name": "scale-ai/swe-bench-pro",
27
- "version": null,
28
- "ref": "sha256:88411d32ff27e53a4c1a7e29f0c2aeba180c8e5d60f221cab5ed56325f33549d",
29
- "registry_url": null,
30
- "registry_path": null,
31
- "overwrite": false,
32
- "download_dir": null,
33
- "task_names": [
34
- "*ansible*"
35
- ],
36
- "exclude_task_names": null,
37
- "n_tasks": null
38
- },
39
- "url": "https://github.com/harbor-framework/harbor"
40
- },
41
- "metrics": {
42
- "n_tasks": 96,
43
- "n_errors": 0,
44
- "score": 0.604,
45
- "n_input_tokens": 198924339,
46
- "n_cache_tokens": 189578624,
47
- "n_output_tokens": 1560836,
48
- "n_total_tokens": 390063799,
49
- "agent_time_seconds": 32914,
50
- "total_time_seconds": 39468,
51
- "cost_usd": 188.34296700000002,
52
- "mean_input_tokens_per_task": 2072128,
53
- "mean_cache_tokens_per_task": 1974777,
54
- "mean_output_tokens_per_task": 16258,
55
- "mean_tokens_per_task": 4063164,
56
- "mean_cost_usd_per_task": 1.96,
57
- "mean_total_time_seconds_per_task": 411,
58
- "mean_agent_time_seconds_per_task": 342
59
- }
60
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-gpt-oss-120b-claude-code.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "scale-ai/swe-bench-pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/scale-ai/swe-bench-pro"
7
- },
8
- "harness": {
9
- "name": "Claude Code",
10
- "skills": [],
11
- "is_oss": false,
12
- "url": "https://docs.anthropic.com/en/docs/claude-code"
13
- },
14
- "model": {
15
- "name": "GPT-OSS-120B",
16
- "repo": "RedHatAI/gpt-oss-120b",
17
- "is_oss": true,
18
- "num_params": 120,
19
- "precision": "mxfp4",
20
- "url": "https://huggingface.co/RedHatAI/gpt-oss-120b"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "swebench-pro-ansible"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 96,
31
- "n_errors": 2,
32
- "score": 0.375,
33
- "n_input_tokens": 347744043,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 1903023,
36
- "n_total_tokens": 349647066,
37
- "agent_time_seconds": 59653,
38
- "total_time_seconds": 67586,
39
- "cost_usd": 2.25,
40
- "mean_input_tokens_per_task": 3622333,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 19823,
43
- "mean_tokens_per_task": 3642156,
44
- "mean_cost_usd_per_task": 0.02,
45
- "mean_total_time_seconds_per_task": 704,
46
- "mean_agent_time_seconds_per_task": 621
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-gpt-oss-120b-opencode.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "scale-ai/swe-bench-pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/scale-ai/swe-bench-pro"
7
- },
8
- "harness": {
9
- "name": "OpenCode",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/opencode-ai/opencode"
13
- },
14
- "model": {
15
- "name": "GPT-OSS-120B",
16
- "repo": "RedHatAI/gpt-oss-120b",
17
- "is_oss": true,
18
- "num_params": 120,
19
- "precision": "mxfp4",
20
- "url": "https://huggingface.co/RedHatAI/gpt-oss-120b"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "swebench-pro-ansible"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 96,
31
- "n_errors": 1,
32
- "score": 0.333,
33
- "n_input_tokens": 112041538,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 781173,
36
- "n_total_tokens": 112822711,
37
- "agent_time_seconds": 25086,
38
- "total_time_seconds": 31180,
39
- "cost_usd": 0.95,
40
- "mean_input_tokens_per_task": 1167099,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 8137,
43
- "mean_tokens_per_task": 1175236,
44
- "mean_cost_usd_per_task": 0.01,
45
- "mean_total_time_seconds_per_task": 324,
46
- "mean_agent_time_seconds_per_task": 261
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-gpt-oss-120b-pi.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "scale-ai/swe-bench-pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/scale-ai/swe-bench-pro"
7
- },
8
- "harness": {
9
- "name": "Pi",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/earendil-works/pi/tree/main"
13
- },
14
- "model": {
15
- "name": "GPT-OSS-120B",
16
- "repo": "RedHatAI/gpt-oss-120b",
17
- "is_oss": true,
18
- "num_params": 120,
19
- "precision": "mxfp4",
20
- "url": "https://huggingface.co/RedHatAI/gpt-oss-120b"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "swebench-pro-ansible"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 96,
31
- "n_errors": 15,
32
- "score": 0.292,
33
- "n_input_tokens": 125247664,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 597435,
36
- "n_total_tokens": 125845099,
37
- "agent_time_seconds": 75715,
38
- "total_time_seconds": 79741,
39
- "cost_usd": 2.86,
40
- "mean_input_tokens_per_task": 1304663,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 6223,
43
- "mean_tokens_per_task": 1310886,
44
- "mean_cost_usd_per_task": 0.03,
45
- "mean_total_time_seconds_per_task": 830,
46
- "mean_agent_time_seconds_per_task": 788
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-mistral-small-4-119b-nvfp4-claude-code.json DELETED
@@ -1,58 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "ScaleAI/SWE-bench_Pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro"
7
- },
8
- "harness": {
9
- "name": "Claude Code",
10
- "skills": [],
11
- "is_oss": false,
12
- "url": "https://github.com/anthropics/claude-code"
13
- },
14
- "model": {
15
- "name": "Mistral-Small-4-119B-2603-NVFP4",
16
- "repo": "RedHatAI/Mistral-Small-4-119B-2603-NVFP4",
17
- "is_oss": true,
18
- "num_params": 119,
19
- "precision": "nvfp4",
20
- "url": "https://huggingface.co/RedHatAI/Mistral-Small-4-119B-2603-NVFP4"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "path": null,
26
- "name": "scale-ai/swe-bench-pro",
27
- "version": null,
28
- "ref": "sha256:88411d32ff27e53a4c1a7e29f0c2aeba180c8e5d60f221cab5ed56325f33549d",
29
- "registry_url": null,
30
- "registry_path": null,
31
- "overwrite": false,
32
- "download_dir": null,
33
- "task_names": null,
34
- "exclude_task_names": null,
35
- "n_tasks": null
36
- },
37
- "url": "https://github.com/harbor-framework/harbor"
38
- },
39
- "metrics": {
40
- "n_tasks": 96,
41
- "n_errors": 1,
42
- "score": 0.26,
43
- "n_input_tokens": 147452235,
44
- "n_cache_tokens": 0,
45
- "n_output_tokens": 953241,
46
- "n_total_tokens": 148405476,
47
- "agent_time_seconds": 33613,
48
- "total_time_seconds": 55241,
49
- "cost_usd": 5.84,
50
- "mean_input_tokens_per_task": 1535960,
51
- "mean_cache_tokens_per_task": 0,
52
- "mean_output_tokens_per_task": 9929,
53
- "mean_tokens_per_task": 1545890,
54
- "mean_cost_usd_per_task": 0.06,
55
- "mean_total_time_seconds_per_task": 575,
56
- "mean_agent_time_seconds_per_task": 350
57
- }
58
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-mistral-small-4-119b-nvfp4-opencode.json DELETED
@@ -1,58 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "ScaleAI/SWE-bench_Pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro"
7
- },
8
- "harness": {
9
- "name": "OpenCode",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/anomalyco/opencode"
13
- },
14
- "model": {
15
- "name": "Mistral-Small-4-119B-2603-NVFP4",
16
- "repo": "RedHatAI/Mistral-Small-4-119B-2603-NVFP4",
17
- "is_oss": true,
18
- "num_params": 119,
19
- "precision": "nvfp4",
20
- "url": "https://huggingface.co/RedHatAI/Mistral-Small-4-119B-2603-NVFP4"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "path": null,
26
- "name": "scale-ai/swe-bench-pro",
27
- "version": null,
28
- "ref": "sha256:88411d32ff27e53a4c1a7e29f0c2aeba180c8e5d60f221cab5ed56325f33549d",
29
- "registry_url": null,
30
- "registry_path": null,
31
- "overwrite": false,
32
- "download_dir": null,
33
- "task_names": null,
34
- "exclude_task_names": null,
35
- "n_tasks": null
36
- },
37
- "url": "https://github.com/harbor-framework/harbor"
38
- },
39
- "metrics": {
40
- "n_tasks": 96,
41
- "n_errors": 0,
42
- "score": 0.385,
43
- "n_input_tokens": 140362798,
44
- "n_cache_tokens": 0,
45
- "n_output_tokens": 1230697,
46
- "n_total_tokens": 141593495,
47
- "agent_time_seconds": 23543,
48
- "total_time_seconds": 49289,
49
- "cost_usd": 6.54,
50
- "mean_input_tokens_per_task": 1462112,
51
- "mean_cache_tokens_per_task": 0,
52
- "mean_output_tokens_per_task": 12819,
53
- "mean_tokens_per_task": 1474932,
54
- "mean_cost_usd_per_task": 0.07,
55
- "mean_total_time_seconds_per_task": 513,
56
- "mean_agent_time_seconds_per_task": 245
57
- }
58
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-mistral-small-4-119b-nvfp4-pi.json DELETED
@@ -1,58 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "ScaleAI/SWE-bench_Pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro"
7
- },
8
- "harness": {
9
- "name": "Pi",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/earendil-works/pi/tree/main"
13
- },
14
- "model": {
15
- "name": "Mistral-Small-4-119B-2603-NVFP4",
16
- "repo": "RedHatAI/Mistral-Small-4-119B-2603-NVFP4",
17
- "is_oss": true,
18
- "num_params": 119,
19
- "precision": "nvfp4",
20
- "url": "https://huggingface.co/RedHatAI/Mistral-Small-4-119B-2603-NVFP4"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "path": null,
26
- "name": "scale-ai/swe-bench-pro",
27
- "version": null,
28
- "ref": "sha256:88411d32ff27e53a4c1a7e29f0c2aeba180c8e5d60f221cab5ed56325f33549d",
29
- "registry_url": null,
30
- "registry_path": null,
31
- "overwrite": false,
32
- "download_dir": null,
33
- "task_names": null,
34
- "exclude_task_names": null,
35
- "n_tasks": null
36
- },
37
- "url": "https://github.com/harbor-framework/harbor"
38
- },
39
- "metrics": {
40
- "n_tasks": 96,
41
- "n_errors": 0,
42
- "score": 0.333,
43
- "n_input_tokens": 104994429,
44
- "n_cache_tokens": 0,
45
- "n_output_tokens": 1095179,
46
- "n_total_tokens": 106089608,
47
- "agent_time_seconds": 15004,
48
- "total_time_seconds": 55176,
49
- "cost_usd": 4.17,
50
- "mean_input_tokens_per_task": 1093691,
51
- "mean_cache_tokens_per_task": 0,
52
- "mean_output_tokens_per_task": 11408,
53
- "mean_tokens_per_task": 1105100,
54
- "mean_cost_usd_per_task": 0.04,
55
- "mean_total_time_seconds_per_task": 574,
56
- "mean_agent_time_seconds_per_task": 156
57
- }
58
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-nemotron-120b-claude-code.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "ScaleAI/SWE-bench_Pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro"
7
- },
8
- "harness": {
9
- "name": "Claude Code",
10
- "skills": [],
11
- "is_oss": false,
12
- "url": "https://github.com/anthropics/claude-code"
13
- },
14
- "model": {
15
- "name": "Nemotron-3-Super-120B-NVFP4",
16
- "repo": "RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4",
17
- "is_oss": true,
18
- "num_params": 120,
19
- "precision": "nvfp4",
20
- "url": "https://huggingface.co/RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "swe-bench-pro-ansible"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 96,
31
- "n_errors": 0,
32
- "score": 0.432,
33
- "n_input_tokens": 406026150,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 2839236,
36
- "n_total_tokens": 408865386,
37
- "agent_time_seconds": 100355,
38
- "total_time_seconds": 115220,
39
- "cost_usd": 26.44,
40
- "mean_input_tokens_per_task": 4229439,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 29575,
43
- "mean_tokens_per_task": 4259014,
44
- "mean_cost_usd_per_task": 0.28,
45
- "mean_total_time_seconds_per_task": 1200,
46
- "mean_agent_time_seconds_per_task": 1045
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-nemotron-120b-opencode.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "ScaleAI/SWE-bench_Pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro"
7
- },
8
- "harness": {
9
- "name": "OpenCode",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/anomalyco/opencode"
13
- },
14
- "model": {
15
- "name": "Nemotron-3-Super-120B-NVFP4",
16
- "repo": "RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4",
17
- "is_oss": true,
18
- "num_params": 120,
19
- "precision": "nvfp4",
20
- "url": "https://huggingface.co/RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "swe-bench-pro"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 96,
31
- "n_errors": 4,
32
- "score": 0.323,
33
- "n_input_tokens": 686392098,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 2915876,
36
- "n_total_tokens": 689307974,
37
- "agent_time_seconds": 86130,
38
- "total_time_seconds": 99705,
39
- "cost_usd": 19.45,
40
- "mean_input_tokens_per_task": 7149917,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 30373,
43
- "mean_tokens_per_task": 7180291,
44
- "mean_cost_usd_per_task": 0.2,
45
- "mean_total_time_seconds_per_task": 1038,
46
- "mean_agent_time_seconds_per_task": 897
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-nemotron-120b-pi.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "ScaleAI/SWE-bench_Pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro"
7
- },
8
- "harness": {
9
- "name": "Pi",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/earendil-works/pi/tree/main"
13
- },
14
- "model": {
15
- "name": "Nemotron-3-Super-120B-NVFP4",
16
- "repo": "RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4",
17
- "is_oss": true,
18
- "num_params": 120,
19
- "precision": "nvfp4",
20
- "url": "https://huggingface.co/RedHatAI/NVIDIA-Nemotron-3-Super-120B-A12B-NVFP4"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "swe-bench-pro"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 96,
31
- "n_errors": 14,
32
- "score": 0.375,
33
- "n_input_tokens": 1051387065,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 3651367,
36
- "n_total_tokens": 1055038432,
37
- "agent_time_seconds": 113768,
38
- "total_time_seconds": 127326,
39
- "cost_usd": 25.69,
40
- "mean_input_tokens_per_task": 10951948,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 38035,
43
- "mean_tokens_per_task": 10989983,
44
- "mean_cost_usd_per_task": 0.27,
45
- "mean_total_time_seconds_per_task": 1326,
46
- "mean_agent_time_seconds_per_task": 1185
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-qwen3-6-27b-fp8-claude-code.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "scale-ai/swe-bench-pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/scale-ai/swe-bench-pro"
7
- },
8
- "harness": {
9
- "name": "Claude Code",
10
- "skills": [],
11
- "is_oss": false,
12
- "url": "https://github.com/anthropics/claude-code"
13
- },
14
- "model": {
15
- "name": "Qwen3.6-27B-FP8",
16
- "repo": "RedHatAI/Qwen3.6-27B-FP8",
17
- "is_oss": true,
18
- "num_params": 27,
19
- "precision": "fp8",
20
- "url": "https://huggingface.co/RedHatAI/Qwen3.6-27B-FP8"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "swe-bench-pro-ansible"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 96,
31
- "n_errors": 8,
32
- "score": 0.521,
33
- "n_input_tokens": 386929017,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 1847087,
36
- "n_total_tokens": 388776104,
37
- "agent_time_seconds": 118693,
38
- "total_time_seconds": 137736,
39
- "cost_usd": 43.52,
40
- "mean_input_tokens_per_task": 4030510,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 19240,
43
- "mean_tokens_per_task": 4049751,
44
- "mean_cost_usd_per_task": 0.45,
45
- "mean_total_time_seconds_per_task": 1434,
46
- "mean_agent_time_seconds_per_task": 1236
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-qwen3-6-27b-fp8-opencode.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "scale-ai/swe-bench-pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/scale-ai/swe-bench-pro"
7
- },
8
- "harness": {
9
- "name": "OpenCode",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/opencode-ai/opencode"
13
- },
14
- "model": {
15
- "name": "Qwen3.6-27B-FP8",
16
- "repo": "RedHatAI/Qwen3.6-27B-FP8",
17
- "is_oss": true,
18
- "num_params": 27,
19
- "precision": "fp8",
20
- "url": "https://huggingface.co/RedHatAI/Qwen3.6-27B-FP8"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "swe-bench-pro-ansible"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 96,
31
- "n_errors": 0,
32
- "score": 0.573,
33
- "n_input_tokens": 344853232,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 1661197,
36
- "n_total_tokens": 346514429,
37
- "agent_time_seconds": 118356,
38
- "total_time_seconds": 196235,
39
- "cost_usd": 43.4,
40
- "mean_input_tokens_per_task": 3592221,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 17304,
43
- "mean_tokens_per_task": 3609525,
44
- "mean_cost_usd_per_task": 0.45,
45
- "mean_total_time_seconds_per_task": 2044,
46
- "mean_agent_time_seconds_per_task": 1232
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-qwen3-6-27b-fp8-pi.json DELETED
@@ -1,48 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "scale-ai/swe-bench-pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/scale-ai/swe-bench-pro"
7
- },
8
- "harness": {
9
- "name": "Pi",
10
- "skills": [],
11
- "is_oss": true,
12
- "url": "https://github.com/plandex-ai/plandex"
13
- },
14
- "model": {
15
- "name": "Qwen3.6-27B-FP8",
16
- "repo": "RedHatAI/Qwen3.6-27B-FP8",
17
- "is_oss": true,
18
- "num_params": 27,
19
- "precision": "fp8",
20
- "url": "https://huggingface.co/RedHatAI/Qwen3.6-27B-FP8"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "name": "swe-bench-pro-ansible"
26
- },
27
- "url": "https://github.com/harbor-framework/harbor"
28
- },
29
- "metrics": {
30
- "n_tasks": 96,
31
- "n_errors": 0,
32
- "score": 0.49,
33
- "n_input_tokens": 395189021,
34
- "n_cache_tokens": 0,
35
- "n_output_tokens": 2206097,
36
- "n_total_tokens": 397395118,
37
- "agent_time_seconds": 80305,
38
- "total_time_seconds": 91995,
39
- "cost_usd": 29.45,
40
- "mean_input_tokens_per_task": 4116552,
41
- "mean_cache_tokens_per_task": 0,
42
- "mean_output_tokens_per_task": 22980,
43
- "mean_tokens_per_task": 4139532,
44
- "mean_cost_usd_per_task": 0.31,
45
- "mean_total_time_seconds_per_task": 958,
46
- "mean_agent_time_seconds_per_task": 836
47
- }
48
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
results/swe-bench-pro--ansible-qwen3-6-35b-nvfp4-claude-code.json DELETED
@@ -1,60 +0,0 @@
1
- {
2
- "benchmark": {
3
- "name": "SWE-Bench Pro -- Ansible",
4
- "repo": "ScaleAI/SWE-bench_Pro",
5
- "num_tasks": 96,
6
- "url": "https://huggingface.co/datasets/ScaleAI/SWE-bench_Pro"
7
- },
8
- "harness": {
9
- "name": "Claude Code",
10
- "skills": [],
11
- "is_oss": false,
12
- "url": "https://github.com/anthropics/claude-code"
13
- },
14
- "model": {
15
- "name": "Qwen3.6-35B-A3B-NVFP4",
16
- "repo": "RedHatAI/Qwen3.6-35B-A3B-NVFP4",
17
- "is_oss": true,
18
- "num_params": 35,
19
- "precision": "nvfp4",
20
- "url": "https://huggingface.co/RedHatAI/Qwen3.6-35B-A3B-NVFP4"
21
- },
22
- "environment": {
23
- "name": "harbor",
24
- "config": {
25
- "path": null,
26
- "name": "scale-ai/swe-bench-pro",
27
- "version": null,
28
- "ref": "sha256:88411d32ff27e53a4c1a7e29f0c2aeba180c8e5d60f221cab5ed56325f33549d",
29
- "registry_url": null,
30
- "registry_path": null,
31
- "overwrite": false,
32
- "download_dir": null,
33
- "task_names": [
34
- "*ansible*"
35
- ],
36
- "exclude_task_names": null,
37
- "n_tasks": null
38
- },
39
- "url": "https://github.com/harbor-framework/harbor"
40
- },
41
- "metrics": {
42
- "n_tasks": 96,
43
- "n_errors": 6,
44
- "score": 0.458,
45
- "n_input_tokens": 367897697,
46
- "n_cache_tokens": 0,
47
- "n_output_tokens": 1694885,
48
- "n_total_tokens": 369592582,
49
- "agent_time_seconds": 39024,
50
- "total_time_seconds": 46758,
51
- "cost_usd": 9.64,
52
- "mean_input_tokens_per_task": 3832267,
53
- "mean_cache_tokens_per_task": 0,
54
- "mean_output_tokens_per_task": 17655,
55
- "mean_tokens_per_task": 3849922,
56
- "mean_cost_usd_per_task": 0.1,
57
- "mean_total_time_seconds_per_task": 487,
58
- "mean_agent_time_seconds_per_task": 406
59
- }
60
- }