Skip to content
Banja Labs
HomeWorkWhat we doThe lab
Let's talk

Parse a SemVer 2.0.0 version string

One task across 30 published runs. Inspect the scores and outputs together, with each run's execution method shown.

All experimentsModel resultsDesigner buildsCompare models
Task
CODE-0002
Domain
Programming
Difficulty
medium

Leading published run: claude-opus-4-8 (low reasoning) at 100.0% composite. Lowest: claude-opus-4-8 at 0.0%. 30 published runs shown on this task.

How this task was evaluated

Results are ordered by this task's published score. API runs use one prompt and one completion; agent runs use a coding harness with tools and iteration. Inspect the execution method when comparing results.

Objective scores use the benchmark's execution checks. Judge scores use a vision panel's fixed rubric; the published score leaves out a model's own family. Missing values are labelled rather than treated as zero.

Read the brief

Implement a Python function `parse_semver(s)` that parses a Semantic Versioning 2.0.0 version string and returns a dict, or returns None if the string is not a valid SemVer version. A valid version is `MAJOR.MINOR.PATCH` followed by an optional `-prerelease` and an optional `+build` metadata section, in that order. Rules: - MAJOR, MINOR and PATCH are each a non-negative integer with no leading zeros (so "0" is allowed, "01" is not). - The optional prerelease starts with "-" and is a dot-separated list of one or more identifiers. A numeric identifier must not have leading zeros. Identifiers are made of [0-9A-Za-z-]. - The optional build metadata starts with "+" and is a dot-separated list of one or more identifiers made of [0-9A-Za-z-] (leading zeros allowed here). On success return a dict with keys: - "major", "minor", "patch": the three integers, - "prerelease": the prerelease string without the leading "-", or None, - "build": the build string without the leading "+", or None. Return None for any input that does not match (including non-strings). Use only the Python standard library. Write your solution to `solution.py`.

Anthropicclaude-opus-4-8
Low reasoning
Agent harness2026-07-21
Composite 100.0%Objective 100.0%
Open outputFull run
Anthropicclaude-opus-4-8
High reasoning
Agent harness2026-07-21
Composite 100.0%Objective 100.0%
Open outputFull run
Anthropicclaude-opus-4-8
Extra-high reasoning
Agent harness2026-07-21
Composite 100.0%Objective 100.0%
Open outputFull run
Anthropicclaude-sonnet-4-6
High reasoning
Agent harness2026-07-21
Composite 100.0%Objective 100.0%
Open outputFull run
Anthropicclaude-sonnet-5
High reasoning
Agent harness2026-07-21
Composite 100.0%Objective 100.0%
Open outputFull run
Anthropicclaude-fable-5
High reasoning
Agent harness2026-07-09
Composite 100.0%Objective 100.0%
Open outputFull run
Anthropicclaude-haiku-4-5
High reasoning
Agent harness2026-07-09
Composite 100.0%Objective 100.0%
Open outputFull run
Zhipuglm-5.2
default reasoning
API single-shot2026-07-17
Composite 100.0%Objective 100.0%
Open outputFull run
Moonshotkimi-k2.7-code
default reasoning
API single-shot2026-07-17
Composite 100.0%Objective 100.0%
Open outputFull run
Moonshotkimi-k3
default reasoning
API single-shot2026-07-17
Composite 100.0%Objective 100.0%
Open outputFull run
OpenAIgpt-5.5
High reasoning
API single-shot2026-07-17
Composite 100.0%Objective 100.0%
Open outputFull run
OpenAIgpt-5.4-mini
High reasoning
API single-shot2026-06-23
Composite 100.0%Objective 100.0%
Open outputFull run
OpenAIgpt-5.6-sol
High reasoning
API single-shot2026-07-09
Composite 100.0%Objective 100.0%
Open outputFull run
OpenAIgpt-5.6-sol
Max reasoning
API single-shot2026-07-09
Composite 100.0%Objective 100.0%
Open outputFull run
OpenAIgpt-5.6-terra
High reasoning
API single-shot2026-07-09
Composite 100.0%Objective 100.0%
Open outputFull run
OpenAIgpt-5.6-luna
High reasoning
API single-shot2026-07-09
Composite 100.0%Objective 100.0%
Open outputFull run
Googlegemini-3.1-pro-preview
High reasoning
API single-shot2026-06-23
Composite 100.0%Objective 100.0%
Open outputFull run
Googlegemini-3.5-flash
default reasoning
API single-shot2026-06-23
Composite 100.0%Objective 100.0%
Open outputFull run
Googlegemini-3.1-flash-lite
default reasoning
API single-shot2026-06-23
Composite 100.0%Objective 100.0%
Open outputFull run
xAIgrok-4.5
High reasoning
API single-shot2026-07-09
Composite 100.0%Objective 100.0%
Open outputFull run
xAIgrok-4.5
Medium reasoning
API single-shot2026-07-09
Composite 100.0%Objective 100.0%
Open outputFull run
xAIgrok-4.5
Low reasoning
API single-shot2026-07-09
Composite 100.0%Objective 100.0%
Open outputFull run
xAIgrok-4.3
default reasoning
API single-shot2026-07-03
Composite 100.0%Objective 100.0%
Open outputFull run
xAIgrok-4.20-reasoning
default reasoning
API single-shot2026-06-25
Composite 100.0%Objective 100.0%
Open outputFull run
xAIgrok-build-0.1
default reasoning
API single-shot2026-06-25
Composite 100.0%Objective 100.0%
Open outputFull run
xAIgrok-composer-2.5-fast
default reasoning
Agent harness2026-06-25
Composite 100.0%Objective 100.0%
Open outputFull run
DeepSeekdeepseek-v4-pro
default reasoning
API single-shot2026-06-25
Composite 100.0%Objective 100.0%
Open outputFull run
DeepSeekdeepseek-v4-flash
default reasoning
API single-shot2026-06-25
Composite 100.0%Objective 100.0%
Open outputFull run
Anthropicclaude-opus-4-8
Medium reasoning
Agent harness2026-07-21
Composite 0.0%Objective 0.0%
Open outputFull run
Anthropicclaude-opus-4-8
Max reasoning
Agent harness2026-07-21
Composite 0.0%Objective 0.0%
Open outputFull run

Product thinking,
design and engineering

An independent product lab, building in Australia.

hello@banja.au
HomeWorkWhat we doThe labStart a conversation
About the labProductsExperimentsJournalWebsites & brand? Norex
© 2026 Banja LabsBuilt together in Australia
PrivacyTermsLinkedIn ↗