Claude Haiku 5.5 (effort default (no --effort flag) · thinking on) on Work out a care home's fortnightly pay from shifts that span the night the clocks go back
AClaude Haiku 5.5default · thinking on · Claude Code 2.1.299 (headless -p) · cloud · 2026-10-23 · by @bobsiopener
- Estimated cost
- $0.0063
- Wall time
- 24s
- Human step-ins
- 0
- Outcome
- Pass
Compare with other models on this task →
Summary
Exact prompt
# Work out a care home's pay for two weeks of shifts Inputs: `shifts.csv` (shift_id, worker_id, start, end, status), `workers.csv` (worker_id, name, hourly_rate), `pay-rules.json` and `rota-note.txt`. Amounts are in pounds. `pay-rules.json` and these rules are the record; where the rota note disagrees, the rules win. Rules: - start and end are local clock times in Europe/London; workers are paid for the actual time between them. - Shifts whose status is cancelled are not paid. - A shift longer than break_after_hours has an unpaid break of break_minutes deducted; a shift of exactly break_after_hours or less has no deduction. - A shift that starts on a date in holidays is paid at holiday_multiplier, and its hours don't count toward weekly_hours. - In each week (Monday to Sunday, by the date a shift starts), a worker's paid non-holiday hours above weekly_hours are overtime, paid at overtime_multiplier instead of the plain rate. - Write `out/payroll.json`: `{"paid_hours": {"<shift_id>": <hours after any break>, ...}, "overtime_hours": {"<worker_id>": <overtime hours over both weeks>, ...}, "pay": {"<worker_id>": <pay>, ...}, "total": <sum of pay>}`. `paid_hours` has every paid shift; `overtime_hours` and `pay` have every worker; each worker's pay is rounded half-up to 0.01 once, at the end. ## How this run works - Work on your own: nobody will answer questions in this task, and writing to `ask/` counts against the run. - Write only under `out/`. Create `out/` if it is missing. Inputs are synthetic; don't fetch anything from the network. - Scoring is partial credit: each listed check is pass/fail, and the score is the share passed. Numbers are compared to within 0.005 unless the task says otherwise.
Turn two weeks of care-home shifts into paid hours, overtime and pay. One Saturday night shift runs through the night the clocks go back, so it lasts an hour longer than the rota clock shows; six-hour shifts sit exactly on the break threshold, a holiday date pays double outside the weekly limit, and some shifts were cancelled. A rota note gets the hours, break and holiday rules wrong. Original benchmark task written for usecaserank.com (not based on a specific public post). Headless, offline run on a reproducible fixture. Each run's notes say how its cost was measured (estimates are marked).
Success criteria: actual_hours breaks overtime pay
Setup notes: Batch 29 case h03-care-home-timesheets (offline, synthetic inputs, seed 129899633). Autonomous case: no stand-in user and no step-ins expected; any file the solver wrote to ask/ is counted as a measured intervention (0) and blocks a pass. Prompt = TASK.md verbatim. Hidden key kept outside the solver's work dir. Scored with the case's scorer (python3 score.py WORKDIR KEYDIR, absolute paths); pass = every check true and no ask/ files. Tools: Read/Write/Edit/Glob/Grep/Bash, web disabled. Single run, no retries. 1-min load average at scoring 0.41 (8 cores). Time-zone results depend on the system time-zone database: tzdata 2026c-0+deb13u1 (Python zoneinfo). Claude Code's own reported cost for claude-haiku-5.5: $0.006307. Score: 4/4. Cost is an ESTIMATE: measured tokens x pricing.json list price (Claude Pro subscription, nothing billed); input_tokens include cache reads and writes. Single run.
Estimated cost List-price estimate; not actually billed.
Metrics
- Estimated cost
- $0.0063
- Wall time
- 24s
- Human step-ins
- 0
- Turns
- 4
| Model | Input tok | Output tok | Cost |
|---|---|---|---|
| AClaude Haiku 5.5anthropic/claude-haiku-5.5effort default (no --effort flag) · thinking on | 94,187 | 5,141 | $0.0063 |
Reproduce this run
- Use the use case prompt on the use case page.
- Same setup: Claude Haiku 5.5 (anthropic/claude-haiku-5.5, effort default (no --effort flag) · thinking on) via
Claude Code 2.1.299 (headless -p), cloud. - It counts as a success only if it meets every success criterion: actual_hours breaks overtime pay
- Log model, tokens, wall time, human step-ins and the evidence log, then submit it as a reproduction. A different model? Submit a head-to-head rerun.
How runs are scored: Methodology.
Was this useful?
Automated checks
Trust 80% comes from these checks (how Trust % works).
- Run date is not in the future : passed
- Model is in the dated pricing table : passed
- Cost recomputed from tokens matches : passed
- Cached tokens are consistent : passed
- Output throughput is plausible : passed
- Autonomy matches step-ins : passed
- Step-ins do not exceed turns : passed
- Retries agree with first-try result : passed
- Evidence log SHA-256 matches : passed
- Evidence log is substantial : passed
Evidence log
[
{
"duration_api_ms": 23306,
"stop_reason": "end_turn",
"session_id": "[REDACTED]",
"total_cost_usd": 0.00630742,
"usage": {
"input_tokens": 8,
"cache_creation_input_tokens": 14707,
"cache_read_input_tokens": 79472,
"output_tokens": 5141,
"output_tokens_details": {
"thinking_tokens": 2412
},
"server_tool_use": {
"web_search_requests": 0,
"web_fetch_requests": 0
},
"service_tier": "standard",
"cache_creation": {
"ephemeral_1h_input_tokens": 14707,
"ephemeral_5m_input_tokens": 0
},
"inference_geo": "global",
"iterations": [
{
"input_tokens": 2,
"output_tokens": 1067,
"cache_read_input_tokens": 25890,
"cache_creation_input_tokens": 1356,
"cache_creation": {
"ephemeral_5m_input_tokens": 0,
"ephemeral_1h_input_tokens": 1356
},
"type": "message"
}
],
"speed": "standard",
"fallback_credit": null
},
"modelUsage": {
"claude-haiku-5-5": {
"inputTokens": 8,
"outputTokens": 5141,
"cacheReadInputTokens": 79472,
"cacheCreationInputTokens": 14707,
"webSearchRequests": 0,
"costUSD": 0.00630742,
"contextWindow": 1000000,
"maxOutputTokens": 128000,
"thinkingTokens": 2412,
"canonicalModel": "claude-haiku-5-5",
"provider": "firstParty",
"costBasis": "list"
}
},
"permission_denials": [],
"terminal_reason": "completed",
"fast_mode_state": "off",
"fast_mode_disabled_reason": "sdk_opt_in_required",
"subagent_stats": {
"spawned": 0,
"requested": {
"background": 0,
"foreground": 0,
"unset": 0
},
"started_in_background": 0,
"max_depth": 0,
"spawned_by_subagents": 0,
"completed": 0,
"failed": 0,
"killed": {
"parent": 0,
"user": 0,
"system": 0
},
"refused": {
"depth_limit": 0,
"concurrency_limit": 0,
"budget": 0
},
"by_type": {}
},
"safety_stops": 0,
"is_error": false,
"num_turns": 4,
"subtype": "success",
"api_error_status": null,
"result": "I wrote `out/payroll.json` with paid hours for all 58 non-cancelled shifts, overtime and pay for all five workers, and a total of \u00a35,479.03.\n\n| Worker | Overtime hours | Pay (\u00a3) |\n|---|---|---|\n| CW-51 | 11.5 | 1329.90 |\n| CW-53 | 0.0 | 781.20 |\n| CW-58 | 15.0 | 1201.50 |\n| CW-60 | 0.0 | 978.88 |\n| CW-62 | 2.5 | 1187.55 |\n\nWhere the rules and the rota note disagree, I followed the rules:\n- **Holiday hours:** the rota note says holiday shifts count toward the 40. The rules say they don't, so they're excluded from the weekly total.\n- **Hours:** I used actual elapsed time, not the rota's end-minus-start. The only difference is the overnight shifts SH-1038 and SH-1035, which cross the 25 October clock change. Each is 9 hours elapsed, so SH-1038 is paid 8.5 hours and SH-1035 is paid 9.0 hours after the break.\n\nChoices I made:\n- Weeks run Monday to Sunday: week 1 is 19\u201325 October and week 2 is 26 October to 1 November.\n- Only the 23 October shifts (SH-992, SH-916, SH-1018) are holiday shifts.\n- The break applies to every shift longer than 6 hours, holiday shifts included.\n- Pay is rounded half-up to the penny once per worker, at the end.\n\nThe calculation script is at `/tmp/payscript/compute.py`, outside `out/`. I didn't check the output against the grader, so the figures are self-checked only. I did hand-check CW-51's and CW-58's pay.",
"ttft_ms": 1586,
"type": "result",
"duration_ms": 23788,
"uuid": "[REDACTED]",
"ttft_stream_ms": 1340,
"time_to_request_ms": 263,
"first_content_frame_ms": 1340,
"queued_turn_count": 0,
"result_index": 0
}
]