Round #384

08 May 2026, 22:28· hr-law· claude-haiku-4-5-20251001· r13-clean-hints
Complexity
band 1
ZP / UO / OBS
6 / 4 / 1
Journey weight
768
Lightshift ΔL
+0.00

Prompt

An employee has been caught stealing from the till on CCTV. We want to dismiss them immediately. What procedure must we follow even for gross misconduct?

Zero-point index (what the engine surfaced)

ZPI-ZPI-0001 | 2026-05-08T22:28:53Z An employee has been caught stealing from the till on CCTV. We want to dismiss them immediately. What procedure must we follow even for gross misconduct? ZERO POINT — 6 entries (structural invariants) ● hsl(89.73, 100%, 30%) band of reasonable responses [contract] ● hsl(203.07, 100%, 30%) reason for dismissal [contract] ● hsl(77.05, 100%, 30%) effective date of termination [contract] ● hsl(157.40, 100%, 34%) ACAS Code of Practice [contract] ● hsl(34.71, 100%, 34%) procedural fairness [contract] ● hsl(280.96, 100%, 34%) appeal right [contract] UNOBSERVED — 4 entries (implied truths) ○ hsl(222.00, 100%, 24%) statutory minimum notice [feature] ○ hsl(223.00, 100%, 24%) contractual notice [feature] ○ hsl(193.00, 100%, 24%) qualifying period [feature] ○ hsl(195.75, 100%, 16%) Write dismissal letter [function] OBSERVED — 1 entries (explicit in request) ◉ hsl(180.00, 100%, 50%) employee [feature] COMPLEXITY │ 11 entries │ spread: 43° │ band: MEDIUM

Baseline response (no ZPI)

# Dismissal Procedure for Gross Misconduct Even with clear evidence, you must follow a fair process: ## Essential Steps **1. Suspension (if needed)** - Suspend on full pay pending investigation - Not automatic, but reasonable given the offense **2. Investigation** - Gather all evidence (CCTV footage, till records, witness statements) - Document findings thoroughly - Keep records confidential **3. Disciplinary Hearing** - Invite employee in writing with reasonable notice (typically 5+ working days) - Explain the allegations and evidence clearly - Allow them to: - Respond to accusations - Present their case - Bring a companion/representative - Ask questions - Have an impartial decision-maker if possible **4. Decision & Communication** - Consider their response carefully - Make a fair decision - Communicate in writing with: - Outcome and reasons - Right to appeal - Notice period/final payment details **5. Right of Appeal** - Must allow appeal to a different person - Follow same fair process ## Critical Points - **Dismissal for theft is justified**, but procedural failures can lead to unfair dismissal claims - Even "obvious" cases need proper process - Document everything - Consider legal advice before proceeding ## Key Risk Skipping steps can result in employment tribunal claims, costs, and potential rehiring orders—even with misconduct proven. What's your jurisdiction? Procedures vary (UK/US/other).

Enhanced response (with ZPI)

# Employee Dismissal Procedure for Gross Misconduct Even for gross misconduct like theft, you must follow a fair procedure. Here's a complete implementation: ```csharp using System; using System.Collections.Generic; using System.Text; namespace EmploymentLaw.Dismissal { /// <summary> /// Represents the formal dismissal process compliant with UK employment law /// and ACAS Code of Practice, even for gross misconduct cases. /// </summary> public class GrossMisconductDismissal { public enum DismissalStage { Investigation, InvestigationMeeting, DisciplinaryHearing, Decision, AppealHearing, FinalDecision } public class DismissalContext { public string EmployeeId { get; set; } public string EmployeeName { get; set; } public DateTime IncidentDate { get; set; } public string IncidentDescription { get; set; } public List<string> EvidenceItems { get; set; } = new(); public string WitnessStatement { get; set; } public DateTime InvestigationCompletedDate { get; set; } public DateTime DisciplinaryHearingDate { get; set; } public string EmployeeRepresentative { get; set; } public DateTime DismissalEffectiveDate { get; set; } public string AppealDeadline { get; set; } public List<string> ProcedureStepsCompleted { get; set; } = new(); } /// <summary> /// Step 1: Conduct a fair investigation before any disciplinary action. /// This is MANDATORY even for apparent gross misconduct. /// </summary> public InvestigationReport ConductInvestigation( DismissalContext context, string investigatorName) { var report = new InvestigationReport { InvestigationDate = DateTime.UtcNow, Investigator = investigatorName, EmployeeId = context.EmployeeId, IncidentDate = context.IncidentDate }; // Document all evidence report.EvidenceCollected = new() { "CCTV footage - till area - incident time", "Till records - transaction logs", "Stock discrepancy report", "Witness statements from colleagues", "Employee's employment record" }; report.FindingsSummary = $"Investigation into alleged theft on {context.IncidentDate:dd/MM/yyyy}. " + $"Evidence reviewed: {string.Join(", ", report.EvidenceCollected)}"; report.ConclusionStatement = "Sufficient evidence to proceed to disciplinary hearing. " + "Employee to be invited to formal hearing to respond to allegations."; context.ProcedureStepsCompleted.Add("Investigation conducted"); context.InvestigationCompletedDate = DateTime.UtcNow; return report; } /// <summary> /// Step 2: Invite employee to disciplinary hearing with proper notice. /// ACAS Code requires written notice with reasonable time to prepare. /// </summary> public DisciplinaryHearingInvitation InviteToDisciplinaryHearing( DismissalContext context, int daysNoticeRequired = 5) { var hearingDate = DateTime.UtcNow.AddDays(daysNoticeRequired); context.DisciplinaryHearingDate = hearingDate; var invitation = new DisciplinaryHearingInvitation { EmployeeId = context.EmployeeId, EmployeeName = context.EmployeeName, HearingDate = hearingDate, HearingTime = "10:00 AM", Location = "HR Office, Meeting Room 2", IssuedDate = DateTime.UtcNow, DeadlineToRespond = DateTime.UtcNow.AddDays(daysNoticeRequired - 1), RightToCompanion = true, CompanionCanBe = "Trade union representative, work colleague, or chosen companion", CanRequestPostponement = true }; context.ProcedureStepsCompleted.Add("Disciplinary hearing invitation issued"); return invitation; } /// <summary> /// Step 3: Conduct the disciplinary hearing. /// Employee must be heard before any decision is made. /// </summary> public DisciplinaryHearingRecord CondictDisciplinaryHearing( DismissalContext context, string hearingOutcome, string employeeResponse) { var record = new DisciplinaryHearingRecord { EmployeeId = context.EmployeeId, HearingDate = context.DisciplinaryHearingDate, EmployeeRepresentative = context.EmployeeRepresentative, PresentingOfficer = "HR Manager", AllegationsPresented = "Theft - taking cash from till without authorization", EvidencePresented = "CCTV footage, till records, witness statements", EmployeeResponse = employeeResponse, HearingOutcome = hearingOutcome, MinutesRecorded = true, RecordingDate = DateTime.UtcNow }; context.ProcedureStepsCompleted.Add("Disciplinary hearing conducted"); return record; } /// <summary> /// Step 4: Issue dismissal decision in writing within reasonable time. /// Even for gross misconduct, dismissal requires a formal decision letter. /// </summary> public DismissalLetter GenerateDismissalLetter( DismissalContext context, string reason, DateTime effectiveDate) { context.DismissalEffectiveDate = effectiveDate; var daysToAppeal = 10; context.AppealDeadline = effectiveDate.AddDays(daysToAppeal).ToString("dd/MM/yyyy"); var letter = new DismissalLetter { LetterDate = DateTime.UtcNow, EmployeeName = context.EmployeeName, EmployeeAddress = "Employee Address", ReferenceNumber = $"DISMISS-{context.EmployeeId}-{DateTime.UtcNow:yyyyMMdd}", ReasonForDismissal = reason, SpecificIncident = $"Incident on {context.IncidentDate:dd/MM/yyyy}: {context.IncidentDescription}", DisciplinaryProcess = "Fair disciplinary hearing was conducted. You were given opportunity to respond.", EffectiveDate = effectiveDate, FinalPayment = "Final payment calculated in accordance with contract and statutory obligations", OutstandingLiabilities = "All outstanding expenses and liabilities will be deducted where legally permissible", AppealRightExplained = true, AppealDeadlineDays = daysToAppeal, AppealDeadlineDate = effectiveDate.AddDays(daysToAppeal), AppealProcess = "Written appeal must be submitted to [HR Director name] within 10 calendar days", ACASCodeReference = "This dismissal has been conducted in accordance with the ACAS Code of Practice (2015)", ReferencesAvailable = false }; context.ProcedureStepsCompleted.Add("Dismissal letter issued"); return letter; } /// <summary> /// Step 5: Handle employee appeal (if requested). /// Appeal is a legal right and must be offered. /// </summary> public AppealHearingRecord HandleAppeal( DismissalContext context, string appealGrounds, string appealOutcome, string seniorDecisionMaker = "Managing Director") { var appeal = new AppealHearingRecord { EmployeeId = context.EmployeeId, OriginalDismissalDate = context.DismissalEffectiveDate, AppealSubmitt

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-7b-instruct
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