Round #880
11 May 2026, 09:56· csharp· Meta-Llama-3.3-70B-Instruct· r15-firing-v3
- Complexity
- band 0
- ZP / UO / OBS
- 3 / 0 / 2
- Journey weight
- 320
- Lightshift ΔL
- —
Prompt
Implement IComparable<T> on a 'SemVer' struct (Major, Minor, Patch). Show sorting a List<SemVer>.
Zero-point index (what the engine surfaced)
ZPI-ZPI-0012 | 2026-05-11T09:56:57Z
Implement IComparable<T> on a 'SemVer' struct (Major, Minor, Patch). Show sorting a List<SemVer>.
ZERO POINT — 3 entries (structural invariants)
● hsl(7.18, 100%, 50%) class [feature]
● hsl(0.00, 100%, 50%) public [feature]
● hsl(84.10, 100%, 50%) namespace [feature]
UNOBSERVED — 0 entries (implied truths)
OBSERVED — 2 entries (explicit in request)
◉ hsl(8.21, 100%, 15%) struct [feature]
◉ hsl(73.85, 100%, 15%) on [feature]
COMPLEXITY │ 5 entries │ spread: 66° │ band: LOW
Baseline response (no ZPI)
```csharp
using System;
using System.Collections.Generic;
using System.Linq;
public struct SemVer : IComparable<SemVer>
{
public int Major { get; }
public int Minor { get; }
public int Patch { get; }
public SemVer(int major, int minor, int patch)
{
Major = major;
Minor = minor;
Patch = patch;
}
public int CompareTo(SemVer other)
{
if (Major != other.Major)
return Major.CompareTo(other.Major);
if (Minor != other.Minor)
return Minor.CompareTo(other.Minor);
return Patch.CompareTo(other.Patch);
}
public override string ToString()
{
return $"{Major}.{Minor}.{Patch}";
}
}
class Program
{
static void Main()
{
var semvers = new List<SemVer>
{
new SemVer(1, 2, 3),
new SemVer(1, 2, 1),
new SemVer(1, 1, 1),
new SemVer(2, 0, 0),
new SemVer(1, 2, 0),
new SemVer(1, 0, 0),
};
var sortedSemvers = semvers.OrderBy(s => s).ToList();
foreach (var semver in sortedSemvers)
{
Console.WriteLine(semver);
}
}
}
```
Enhanced response (with ZPI)
```csharp
using System;
using System.Collections.Generic;
using System.Linq;
public struct SemVer : IComparable<SemVer>
{
public int Major { get; }
public int Minor { get; }
public int Patch { get; }
public SemVer(int major, int minor, int patch)
{
Major = major;
Minor = minor;
Patch = patch;
}
public int CompareTo(SemVer other)
{
var majorComparison = Major.CompareTo(other.Major);
if (majorComparison != 0) return majorComparison;
var minorComparison = Minor.CompareTo(other.Minor);
if (minorComparison != 0) return minorComparison;
return Patch.CompareTo(other.Patch);
}
public override string ToString()
{
return $"{Major}.{Minor}.{Patch}";
}
}
class Program
{
static void Main()
{
var semVers = new List<SemVer>
{
new SemVer(1, 2, 3),
new SemVer(1, 2, 1),
new SemVer(1, 1, 1),
new SemVer(2, 0, 0),
new SemVer(1, 2, 4),
};
var sortedSemVers = semVers.OrderBy(s => s).ToList();
foreach (var semVer in sortedSemVers)
{
Console.WriteLine(semVer);
}
}
}
```
This implementation of `IComparable<T>` on the `SemVer` struct allows for correct sorting of semantic versions. The `CompareTo` method first compares the major version, then the minor version, and finally the patch version. The `Main` method demonstrates how to use this implementation to sort a list of `SemVer` instances. The output will be the sorted list of semantic versions. This implementation requires additional explanation due to the need to describe the sorting logic and the example usage.
Grader chain
Each grader reads the same baseline + enhanced pair and casts an independent verdict. Disagreement is the framework's own signal — not noise to be averaged away.
V1samba/Meta-Llama-3.3-70B-Instruct
SameV4qwen2.5-coder-3b-instruct
BetterV5openrouter/qwen/qwen3-235b-a22b-2507
SameV7qwen2.5-coder-7b-instruct
SameV8openai/gpt-4.1
SameV9anthropic/claude-opus-4-7
SameV12openai/gpt-4o
BetterComments
Our grader said what it said. What do you say? Comment as a guest below.
No comments yet. Be the first to say what you make of this round.