Round #888

11 May 2026, 09:59· csharp· Meta-Llama-3.3-70B-Instruct· r15-firing-v3
Complexity
band 0
ZP / UO / OBS
3 / 0 / 4
Journey weight
455
Lightshift ΔL

Prompt

Implement nullable reference type annotations on a 'Person' class with FirstName (non-null), MiddleName (nullable), LastName (non-null). Show a constructor that enforces non-nullness.

Zero-point index (what the engine surfaced)

ZPI-ZPI-0020 | 2026-05-11T09:59:13Z Implement nullable reference type annotations on a 'Person' class with FirstName (non-null), MiddleName (nullable), LastName (non-null). Show a constructor that enforces non-nullness. 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 — 4 entries (explicit in request) ◉ hsl(73.85, 100%, 15%) on [feature] ◉ hsl(82.05, 100%, 15%) null [feature] ◉ hsl(98.46, 100%, 50%) with [feature] ◉ hsl(136.41, 100%, 15%) Nullable of T [feature] COMPLEXITY │ 7 entries │ spread: 63° │ band: LOW

Baseline response (no ZPI)

```csharp #nullable enable public class Person { public string FirstName { get; set; } public string? MiddleName { get; set; } public string LastName { get; set; } public Person(string firstName, string lastName, string? middleName = null) { FirstName = firstName ?? throw new ArgumentNullException(nameof(firstName)); LastName = lastName ?? throw new ArgumentNullException(nameof(lastName)); MiddleName = middleName; } } class Program { static void Main() { var person1 = new Person("John", "Doe"); var person2 = new Person("Jane", "Doe", "Mary"); System.Console.WriteLine(person1.FirstName); // John System.Console.WriteLine(person1.MiddleName); // System.Console.WriteLine(person1.LastName); // Doe System.Console.WriteLine(person2.FirstName); // Jane System.Console.WriteLine(person2.MiddleName); // Mary System.Console.WriteLine(person2.LastName); // Doe } } ```

Enhanced response (with ZPI)

```csharp public class Person { public string FirstName { get; set; } public string? MiddleName { get; set; } public string LastName { get; set; } public Person(string firstName, string lastName, string? middleName = null) { if (string.IsNullOrEmpty(firstName)) { throw new ArgumentException("First name cannot be null or empty", nameof(firstName)); } if (string.IsNullOrEmpty(lastName)) { throw new ArgumentException("Last name cannot be null or empty", nameof(lastName)); } FirstName = firstName; MiddleName = middleName; LastName = lastName; } } ``` This implementation uses nullable reference type annotations to indicate that `MiddleName` can be null, while `FirstName` and `LastName` cannot. The constructor enforces non-nullness for `firstName` and `lastName` by throwing an `ArgumentException` if either is null or empty. The `middleName` parameter is optional and defaults to null if not provided.

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