← Heatmap / GLM 5.3 Flash · Task 14
GLM 5.3 Flash · Single-turn · Task 14 (Traps, missing gross pay)
Mean 50.0%
| Field | Expected | Rollout #1 (-50%) | Rollout #2 (100%) | Rollout #3 (100%) |
|---|---|---|---|---|
| decision | clarify | (malformed) | clarify | clarify |
| reason code | MISSING_GROSS_PAY | (malformed) | MISSING_GROSS_PAY | MISSING_GROSS_PAY |
| clauses | R1 R7 | (malformed) | R1 R7 | R1 R7 |
Prompt
Process this monthly payroll record under the supplied rulebook. Return the R6 or R7 JSON answer.
Source documents: {"e83ea8e208903b54-payroll": {"kind": "payroll", "record": {"payroll_month": "2026-01", "allowed_deduction": "345.85"}}}
Authoritative case reference schedule: {"first-half": {"rate": "0.06", "cap": "5000.00", "deduction": "400.00", "free": "1100.00", "upper": "2800.00", "middle_rate": "0.12", "upper_rate": "0.18"}, "second-half": {"rate": "0.08", "cap": "4500.00", "deduction": "400.00", "free": "900.00", "upper": "3600.00", "middle_rate": "0.10", "upper_rate": "0.22"}}
Rollouts
Rollout #1 -50.0% malformed · 3.1s · $0.0004
| Component | Score | Clauses |
|---|---|---|
| decision | 0.0% | R1 R7 |
| exact | 0.0% | R1 R7 |
| field accuracy | 0.0% | R1 R7 |
| citations | 0.0% | R1 R7 |
Assistant
```json
{
"decision": "clarify",
"reason_code": "MISSING_GROSS_PAY",
"clauses": [
"R1",
"R7"
],
"explanation": "The payroll record for 2026-01 is missing the required gross_pay value, so the payslip cannot be calculated. Please supply the employee's gross_pay for this month (and note that the supplied allowed_deduction of 345.85 will be checked against the case schedule's first-half deduction cap of 400.00 and the available-pay limit once gross_pay is provided)."
}
```
Reasoning
Let me analyze this task.
The payroll record has:
- payroll_month: "2026-01"
- allowed_deduction: "345.85"
Missing: gross_pay.
According to R7:
1. Missing `gross_pay`: return `decision: "clarify"` and `reason_code: "MISSING_GROSS_PAY"`, citing R1 and R7.
So the answer is clarify with MISSING_GROSS_PAY.
The clarification JSON format: uses decision, reason_code, clauses. An optional explanation string is permitted. For clarification include a short explanation naming the unresolved blocker and asking for its resolution.
Clauses: R1 and R7.
The allowed_deduction of 345.85 — per R1's note: "When the month or applicable row is absent, accept structurally valid deductions up to 350.00 for task validation, but do not calculate a payslip or assume a reference row." Here the month is present (2026-01), and the schedule is supplied, so the first-half row applies with deduction cap 400.00. 345.85 ≤ 400.00, structurally valid. But gross_pay is missing, so we still clarify.
Note: the case schedule replaces defaults. First-half: rate 0.06, cap 5000.00, deduction 400.00, free 1100.00, upper 2800.00, middle_rate 0.12, upper_rate 0.18. But since gross_pay is missing, we cannot calculate.
Output JSON:
{
"decision": "clarify",
"reason_code": "MISSING_GROSS_PAY",
"clauses": ["R1", "R7"],
"explanation": "..."
}
The explanation should name the unresolved blocker and ask for its resolution.
Rollout #2 100.0% passed · 3.6s · $0.0002
| Component | Score | Clauses |
|---|---|---|
| decision | 100.0% | R1 R7 |
| exact | 100.0% | R1 R7 |
| field accuracy | 100.0% | R1 R7 |
| citations | 100.0% | R1 R7 |
| explanation | 100.0% | R1 R7 |
Assistant
{
"decision": "clarify",
"reason_code": "MISSING_GROSS_PAY",
"clauses": ["R1", "R7"],
"explanation": "The payroll record is missing gross_pay, which is required under R1 before any calculation can proceed. Please supply the gross pay for payroll month 2026-01 so the payslip can be calculated."
}
Reasoning
Let me analyze this task. The payroll record has: - payroll_month: "2026-01" - allowed_deduction: "345.85" Missing: gross_pay. Per R7, order of checks: 1. Missing gross_pay: return clarify with reason_code MISSING_GROSS_PAY, citing R1 and R7. So the answer is clarify with MISSING_GROSS_PAY. The case has an authoritative reference schedule, but that doesn't matter since gross_pay is missing. Format: clarify uses decision, reason_code, clauses. Optional explanation string permitted. For clarification include a short explanation naming the unresolved blocker and asking for its resolution. Clauses: R1 and R7. Output JSON without markdown fences.
Rollout #3 100.0% passed · 3.6s · $0.0003
| Component | Score | Clauses |
|---|---|---|
| decision | 100.0% | R1 R7 |
| exact | 100.0% | R1 R7 |
| field accuracy | 100.0% | R1 R7 |
| citations | 100.0% | R1 R7 |
| explanation | 100.0% | R1 R7 |
Assistant
{
"decision": "clarify",
"reason_code": "MISSING_GROSS_PAY",
"clauses": ["R1", "R7"],
"explanation": "The payroll record lacks gross_pay, which is required under R1 before any calculation can proceed. Please supply the employee's gross pay for 2026-01 so the payroll can be calculated."
}
Reasoning
We have a payroll record with payroll_month "2026-01" and allowed_deduction "345.85", but gross_pay is missing. According to R7, missing gross_pay → clarify with reason_code MISSING_GROSS_PAY, citing R1 and R7. Check order: 1. Missing gross_pay → clarify MISSING_GROSS_PAY. So we don't need to check anything else. Answer format: clarify uses decision, reason_code, clauses. Include short explanation naming unresolved blocker and asking for resolution. Allowed fields: decision, reason_code, clauses, and optional explanation. Clauses: R1 and R7. Note: the case has an authoritative schedule, but that doesn't matter since gross pay is missing. Also the allowed_deduction 345.85 is within 400.00 cap per schedule... but we can't calculate. R4 says accept structurally valid deductions up to 350.00 for task validation when month/row absent — but here month is present and schedule exists. Regardless, missing gross pay blocks. Return JSON object without markdown fences.