Page actions
instrument / verified-clean
Work Hours / Timesheet Calculator
The current ledger marks this instrument verified clean within the source-bound verification corpus.
Inspectable records
Ledger state
The current ledger marks this instrument verified clean within the source-bound verification corpus.
- Area
- Everyday & Life
- Tranche
- tranche-5
- Evidence ID
- t5-029
- Ledger rows
- 1
No ledger note is attached.
Review findings
The instrument cannot PASS as written. At minimum, replace 40 with the supplied threshold, define regular hours and total-pay formulas, specify time and break units, and define overnight, overlap, validation, payroll-period, rounding, and overtime-premium rules.
Formula and scope findings
- The overtime formula hardcodes 40 instead of using the supplied overtime threshold input.
- The specification does not define the regular-hours formula explicitly; it should be regular = max(0, total − overtime), or equivalently min(total, threshold).
- The claimed total pay output has no formula. Pay requires at least a base rate and a defined overtime multiplier, along with rules for whether overtime is paid at the multiplier.
- The expression Σ(clock_out−clock_in) is incomplete for overnight shifts unless timestamps include dates or an explicit next-day rule.
- The specification does not state how breaks are assigned to shifts or validated against worked intervals.
Unit assumptions
- Clock times are interpreted as elapsed intervals using timestamps or an explicit overnight convention; plain clock times alone are ambiguous across midnight.
- Break durations are represented in minutes in the test vectors and converted to decimal hours by dividing by 60.
- Hours are decimal hours, not clock-format hours and minutes.
- The overtime threshold is measured in hours for the relevant overtime period, assumed to be a weekly threshold unless otherwise specified.
- The pay example assumes a base hourly rate applied uniformly to all hours; no overtime premium is assumed because none is specified.
Boundary hardening
BREAK_CLAIMED · SELF_FLAGGED
A missing clock-out produces an undefined duration unless the calculator validates and rejects the input. Overnight clock pairs without dates are also convention-ambiguous and can produce a negative duration if same-day subtraction is applied.
Errata and corrections
No applied erratum is attached to this unique-name record.
Inspectable example
4 review vectors are recorded. One source-bound sample is shown below.
{
"inputs": {
"shifts": [
{
"clock_in": "2025-01-06T09:00",
"clock_out": "2025-01-06T17:00",
"unpaid_break_minutes": 30
},
{
"clock_in": "2025-01-07T09:00",
"clock_out": "2025-01-07T17:00",
"unpaid_break_minutes": 30
},
{
"clock_in": "2025-01-08T09:00",
"clock_out": "2025-01-08T17:00",
"unpaid_break_minutes": 30
},
{
"clock_in": "2025-01-09T09:00",
"clock_out": "2025-01-09T17:00",
"unpaid_break_minutes": 30
},
{
"clock_in": "2025-01-10T09:00",
"clock_out": "2025-01-10T17:00",
"unpaid_break_minutes": 30
}
],
"overtime_threshold_hours": 40
},
"expected_outputs": {
"total_hours": 37.5,
"regular_hours": 37.5,
"overtime_hours": 0
},
"working": "Each shift: 17:00 − 09:00 = 8 hours gross. Each break: 30 ÷ 60 = 0.5 hours. Each shift net: 8 − 0.5 = 7.5 hours. Weekly total: 5 × 7.5 = 37.5 hours. Overtime: max(0, 37.5 − 40) = max(0, −2.5) = 0 hours. Regular: 37.5 − 0 = 37.5 hours."
}Related workflows
No source-defined multi-instrument workflow membership is recorded.
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.json · VERIFIED_CLEANevidence-tranche5/tranche5-results.jsonBOUNDARY_HAZARD_CATALOG.json