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
Same
V4qwen2.5-coder-3b-instruct
Better
V5openrouter/qwen/qwen3-235b-a22b-2507
Same
V7qwen2.5-coder-7b-instruct
Same
V8openai/gpt-4.1
Same
V9anthropic/claude-opus-4-7
Same
V12openai/gpt-4o
Better

Comments

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.

← back to all rounds