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
BetterV4qwen2.5-coder-7b-instruct
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.