Round #397

09 May 2026, 10:05· hr-law· llama-3.3-70b-versatile· r13-clean-hints
Complexity
band 0
ZP / UO / OBS
3 / 0 / 1
Journey weight
340
Lightshift ΔL
+0.50

Prompt

We are restructuring and one of three identical roles is no longer needed. How do we decide which employees are in the selection pool for redundancy?

Zero-point index (what the engine surfaced)

ZPI-ZPI-0004 | 2026-05-09T10:05:37Z We are restructuring and one of three identical roles is no longer needed. How do we decide which employees are in the selection pool for redundancy? ZERO POINT — 3 entries (structural invariants) ● hsl(142.90, 100%, 15%) selection criteria [contract] ● hsl(124.95, 100%, 15%) individual consultation [contract] ● hsl(69.11, 100%, 15%) statutory redundancy pay [contract] UNOBSERVED — 0 entries (implied truths) OBSERVED — 1 entries (explicit in request) ◉ hsl(251.00, 100%, 15%) selection pool [feature] COMPLEXITY │ 4 entries │ spread: 0° │ band: LOW

Baseline response (no ZPI)

Deciding which employees to include in the selection pool for redundancy can be a challenging and sensitive task. Here are some general guidelines to consider: 1. **Identify the role**: Clearly define the role that is being made redundant. In your case, since the three roles are identical, this step is straightforward. 2. **Determine the selection criteria**: Establish fair and objective criteria to select employees for the redundancy pool. Common criteria include: * Performance: Consider employees' job performance, including their attendance, productivity, and quality of work. * Length of service: You may consider employees with shorter lengths of service or those who have been with the company for a shorter period. * Skills and qualifications: If the role requires specific skills or qualifications, you may consider employees who possess these. * Business needs: Consider the needs of the business and the impact of removing each employee from the team. 3. **Consider 'at risk' employees**: Identify employees who are already underperforming, on a performance improvement plan, or have been subject to disciplinary action. These employees may be considered for the redundancy pool. 4. **Voluntary redundancy**: You may also consider offering voluntary redundancy to employees who are interested in leaving the company. This can help reduce the number of employees in the selection pool. 5. **Exclusions**: Consider excluding certain employees from the selection pool, such as: * Employees on maternity or paternity leave * Employees with disabilities or long-term illnesses * Employees who are currently undergoing a grievance or disciplinary procedure 6. **Transparent and fair process**: Ensure that the selection process is transparent, fair, and communicated clearly to all employees. This includes: * Clearly explaining the selection criteria and process * Providing employees with an opportunity to ask questions and seek feedback * Documenting all decisions and communications 7. **Consult with HR and/or legal experts**: It's essential to consult with HR and/or legal experts to ensure that your selection process complies with relevant employment laws and regulations. Example of a selection pool criteria: | Employee | Performance | Length of Service | Skills and Qualifications | Business Needs | | --- | --- | --- | --- | --- | | John | Average | 2 years | Meets requirements | Low | | Jane | High | 5 years | Exceeds requirements | High | | Bob | Low | 1 year | Meets requirements | Medium | In this example, the selection pool criteria include performance, length of service, skills and qualifications, and business needs. The employees are scored against these criteria, and the employee with the lowest overall score (Bob) may be considered for redundancy. Remember to follow your company's policies and procedures, as well as relevant employment laws and regulations, when selecting employees for the redundancy pool. Here is a sample C# code to demonstrate how you can create a simple selection pool criteria system: ```csharp using System; using System.Collections.Generic; public class Employee { public string Name { get; set; } public string Performance { get; set; } public int LengthOfService { get; set; } public string SkillsAndQualifications { get; set; } public string BusinessNeeds { get; set; } } public class SelectionPool { public List<Employee> Employees { get; set; } public List<string> Criteria { get; set; } public SelectionPool() { Employees = new List<Employee>(); Criteria = new List<string> { "Performance", "LengthOfService", "SkillsAndQualifications", "BusinessNeeds" }; } public void AddEmployee(Employee employee) { Employees.Add(employee); } public void EvaluateEmployees() { foreach (var employee in Employees) { // Evaluate employee against each criterion foreach (var criterion in Criteria) { // Assign a score based on the criterion int score = 0; switch (criterion) { case "Performance": if (employee.Performance == "High") score = 3; else if (employee.Performance == "Average") score = 2; else score = 1; break; case "LengthOfService": score = employee.LengthOfService; break; case "SkillsAndQualifications": if (employee.SkillsAndQualifications == "Exceeds requirements") score = 3; else if (employee.SkillsAndQualifications == "Meets requirements") score = 2; else score = 1; break; case "BusinessNeeds": if (employee.BusinessNeeds == "High") score = 3; else if (employee.BusinessNeeds == "Medium") score = 2; else score = 1; break; } Console.WriteLine($"Employee {employee.Name} scored {score} for {criterion}"); } } } } class Program { static void Main(string[] args) { var selectionPool = new SelectionPool(); var employee1 = new Employee { Name = "John", Performance = "Average", LengthOfService = 2, SkillsAndQualifications = "Meets requirements", BusinessNeeds = "Low" }; var employee2 = new Employee { Name = "Jane", Performance = "High", LengthOfService = 5, SkillsAndQualifications = "Exceeds requirements", BusinessNeeds = "High" }; var employee3 = new Employee { Name = "Bob", Performance = "Low", LengthOfService = 1, SkillsAndQualifications = "Meets requirements", BusinessNeeds = "Medium" }; selectionPool.AddEmployee(employee1); selectionPool.AddEmployee(employee2); selectionPool.AddEmployee(employee3); selectionPool.EvaluateEmployees(); } } ``` This code creates a simple selection pool system with a list of employees and criteria. It evaluates each employee against each criterion and assigns a score. The output shows the score for each employee and criterion. Note that this is a simplified example and you should adapt it to your specific needs and requirements.

Enhanced response (with ZPI)

To determine the selection pool for redundancy, you can follow a fair and transparent process. Here's a step-by-step approach: 1. **Identify the Redundant Role**: Clearly define the role that is no longer needed due to restructuring. 2. **Establish Selection Criteria**: Develop a set of objective criteria to evaluate employees in the selection pool. These criteria may include: * Job performance (e.g., performance reviews, ratings) * Attendance and punctuality records * Skills and qualifications relevant to the role * Length of service (seniority) * Disciplinary records 3. **Define the Selection Pool**: Identify all employees who hold the redundant role or a similar role that can be considered for redundancy. This may include employees in the same department, team, or job function. 4. **Apply Selection Criteria**: Evaluate each employee in the selection pool against the established criteria. You can use a scoring system or a ranking method to assess each employee's performance. 5. **Individual Consultation**: Meet with each employee in the selection pool to discuss their individual circumstances, performance, and any relevant factors that may impact the redundancy decision. 6. **Statutory Redundancy Pay**: Ensure that you comply with relevant employment laws and regulations regarding statutory redundancy pay. This may include calculating the employee's entitlement to redundancy pay based on their length of service, age, and weekly pay. Here's an example of how you can implement this process in C#: ```csharp using System; using System.Collections.Generic; using System.Linq; public class Employee { public string Name { get; set; } public string Role { get; set; } public int PerformanceRating { get; set; } public int AttendanceRating { get; set; } public int LengthOfService { get; set; } public decimal WeeklyPay { get; set; } } public class RedundancySelection { private List<Employee> employees; private List<string> selectionCriteria; public RedundancySelection(List<Employee> employees) { this.employees = employees; this.selectionCriteria = new List<string> { "PerformanceRating", "AttendanceRating", "LengthOfService" }; } public List<Employee> GetSelectionPool() { return employees.Where(e => e.Role == "RedundantRole").ToList(); } public Dictionary<Employee, int> EvaluateEmployees() { var evaluationResults = new Dictionary<Employee, int>(); foreach (var employee in GetSelectionPool()) { int score = 0; foreach (var criterion in selectionCriteria) { switch (criterion) { case "PerformanceRating": score += employee.PerformanceRating; break; case "AttendanceRating": score += employee.AttendanceRating; break; case "LengthOfService": score += employee.LengthOfService; break; } } evaluationResults.Add(employee, score); } return evaluationResults; } public void ConsultWithEmployees(Dictionary<Employee, int> evaluationResults) { foreach (var employee in evaluationResults.Keys) { Console.WriteLine($"Consulting with {employee.Name}..."); // Perform individual consultation } } public void CalculateStatutoryRedundancyPay(Employee employee) { // Calculate statutory redundancy pay based on employee's length of service, age, and weekly pay decimal redundancyPay = 0; if (employee.LengthOfService >= 2 && employee.LengthOfService < 12) { redundancyPay = employee.WeeklyPay * 0.5m; } else if (employee.LengthOfService >= 12) { redundancyPay = employee.WeeklyPay * 1.5m; } Console.WriteLine($"Statutory redundancy pay for {employee.Name}: {redundancyPay}"); } } class Program { static void Main(string[] args) { var employees = new List<Employee> { new Employee { Name = "John", Role = "RedundantRole", PerformanceRating = 4, AttendanceRating = 5, LengthOfService = 5, WeeklyPay = 500 }, new Employee { Name = "Jane", Role = "RedundantRole", PerformanceRating = 3, AttendanceRating = 4, LengthOfService = 3, WeeklyPay = 450 }, new Employee { Name = "Bob", Role = "RedundantRole", PerformanceRating = 5, AttendanceRating = 5, LengthOfService = 10, WeeklyPay = 600 } }; var redundancySelection = new RedundancySelection(employees); var selectionPool = redundancySelection.GetSelectionPool(); var evaluationResults = redundancySelection.EvaluateEmployees(); redundancySelection.ConsultWithEmployees(evaluationResults); foreach (var employee in selectionPool) { redundancySelection.CalculateStatutoryRedundancyPay(employee); } } } ``` This example demonstrates a basic approach to selecting employees for redundancy. You should adapt this code to your specific requirements and ensure compliance with relevant employment laws and regulations.

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