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
BetterV4qwen2.5-coder-3b-instruct
BetterV5openrouter/qwen/qwen3-235b-a22b-2507
BetterV7qwen2.5-coder-7b-instruct
SameV8openai/gpt-4.1
WorseV9anthropic/claude-opus-4-7
WorseV12openai/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.