{"abstract":"A multi-day duration loses its day component, and a negative duration looks like a positive time of day.","category":"Time representation","checks":7,"contract":"Format an integer microsecond duration as optional '-' followed by H:MM:SS.ffffff. Hours are unbounded, minutes and seconds are 00 through 59, and zero has no negative sign.","contract_signature":"microseconds","evaluation_group":"model-5875edc4d9c5474f","failed_approach":"Adding a sign and absolute value fixes negative display but retaining modulo-twenty-four hours still discards full days.","family":"time-signed-duration-format","id":"FA-311","implementations":{"attempt":{"sha256":"213ebe73305bcd24606cd05d151f45578d151d9dc13a12b687dfaaffb845ddbf","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom datetime import timedelta\nN = 1\nobservations = []\ndef solve(microseconds):\n    seconds, fraction = divmod(abs(microseconds), 1000000)\n    hours, rest = divmod(seconds, 3600)\n    minutes, seconds = divmod(rest, 60)\n    sign = '-' if microseconds < 0 else ''\n    return f'{sign}{hours % 24}:{minutes:02d}:{seconds:02d}.{fraction:06d}'\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nhours = 24 * N + 3\nvalue = (hours * 3600 + 2 * 60 + 1) * 1000000 + N\ncheck('multi-day positive duration', solve(value), f'{hours}:02:01.{N:06d}')\ncheck('multi-day negative duration', solve(-value), f'-{hours}:02:01.{N:06d}')\ncheck('negative subsecond value', solve(-N), f'-0:00:00.{N:06d}')\ncheck('positive subsecond value', solve(N), f'0:00:00.{N:06d}')\ncheck('zero has no sign', solve(0), '0:00:00.000000')\ncheck('whole minute', solve(60000000), '0:01:00.000000')\ncheck('exact full day is twenty-four hours', solve(86400000000), '24:00:00.000000')\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"ebf02fcfe2b33cdf5aff9f8e9216082e771bb048ea908ea6898665e25843cb7d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom datetime import timedelta\nN = 1\nobservations = []\ndef solve(microseconds):\n    value = timedelta(microseconds=microseconds)\n    hours, rest = divmod(value.seconds, 3600)\n    minutes, seconds = divmod(rest, 60)\n    return f'{hours}:{minutes:02d}:{seconds:02d}.{value.microseconds:06d}'\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nhours = 24 * N + 3\nvalue = (hours * 3600 + 2 * 60 + 1) * 1000000 + N\ncheck('multi-day positive duration', solve(value), f'{hours}:02:01.{N:06d}')\ncheck('multi-day negative duration', solve(-value), f'-{hours}:02:01.{N:06d}')\ncheck('negative subsecond value', solve(-N), f'-0:00:00.{N:06d}')\ncheck('positive subsecond value', solve(N), f'0:00:00.{N:06d}')\ncheck('zero has no sign', solve(0), '0:00:00.000000')\ncheck('whole minute', solve(60000000), '0:01:00.000000')\ncheck('exact full day is twenty-four hours', solve(86400000000), '24:00:00.000000')\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":" This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"time-signed-duration-format","generated_at":"2026-09-29T14:36:52.069500+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Elapsed durations are not times of day. Reusing clock formatting can conceal long outages or reverse the apparent sign of a measurement.","root_cause":"The duration is decomposed using a normalized seconds-within-day field or a modulo-twenty-four hour field.","sha256":"d1693125a474560f62f89ab3b7fde089738a8da936b80478768e416f7cd69109","title":"Duration formatting wraps elapsed hours at midnight · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":34.563,"exit_code":1,"observations":[{"actual":"3:02:01.000001","check":"multi-day positive duration","expected":"27:02:01.000001","passed":false},{"actual":"-3:02:01.000001","check":"multi-day negative duration","expected":"-27:02:01.000001","passed":false},{"actual":"-0:00:00.000001","check":"negative subsecond value","expected":"-0:00:00.000001","passed":true},{"actual":"0:00:00.000001","check":"positive subsecond value","expected":"0:00:00.000001","passed":true},{"actual":"0:00:00.000000","check":"zero has no sign","expected":"0:00:00.000000","passed":true},{"actual":"0:01:00.000000","check":"whole minute","expected":"0:01:00.000000","passed":true},{"actual":"0:00:00.000000","check":"exact full day is twenty-four hours","expected":"24:00:00.000000","passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"multi-day positive duration\", \"actual\": \"3:02:01.000001\", \"expected\": \"27:02:01.000001\", \"passed\": false}, {\"check\": \"multi-day negative duration\", \"actual\": \"-3:02:01.000001\", \"expected\": \"-27:02:01.000001\", \"passed\": false}, {\"check\": \"negative subsecond value\", \"actual\": \"-0:00:00.000001\", \"expected\": \"-0:00:00.000001\", \"passed\": true}, {\"check\": \"positive subsecond value\", \"actual\": \"0:00:00.000001\", \"expected\": \"0:00:00.000001\", \"passed\": true}, {\"check\": \"zero has no sign\", \"actual\": \"0:00:00.000000\", \"expected\": \"0:00:00.000000\", \"passed\": true}, {\"check\": \"whole minute\", \"actual\": \"0:01:00.000000\", \"expected\": \"0:01:00.000000\", \"passed\": true}, {\"check\": \"exact full day is twenty-four hours\", \"actual\": \"0:00:00.000000\", \"expected\": \"24:00:00.000000\", \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":33.898,"exit_code":1,"observations":[{"actual":"3:02:01.000001","check":"multi-day positive duration","expected":"27:02:01.000001","passed":false},{"actual":"20:57:58.999999","check":"multi-day negative duration","expected":"-27:02:01.000001","passed":false},{"actual":"23:59:59.999999","check":"negative subsecond value","expected":"-0:00:00.000001","passed":false},{"actual":"0:00:00.000001","check":"positive subsecond value","expected":"0:00:00.000001","passed":true},{"actual":"0:00:00.000000","check":"zero has no sign","expected":"0:00:00.000000","passed":true},{"actual":"0:01:00.000000","check":"whole minute","expected":"0:01:00.000000","passed":true},{"actual":"0:00:00.000000","check":"exact full day is twenty-four hours","expected":"24:00:00.000000","passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"multi-day positive duration\", \"actual\": \"3:02:01.000001\", \"expected\": \"27:02:01.000001\", \"passed\": false}, {\"check\": \"multi-day negative duration\", \"actual\": \"20:57:58.999999\", \"expected\": \"-27:02:01.000001\", \"passed\": false}, {\"check\": \"negative subsecond value\", \"actual\": \"23:59:59.999999\", \"expected\": \"-0:00:00.000001\", \"passed\": false}, {\"check\": \"positive subsecond value\", \"actual\": \"0:00:00.000001\", \"expected\": \"0:00:00.000001\", \"passed\": true}, {\"check\": \"zero has no sign\", \"actual\": \"0:00:00.000000\", \"expected\": \"0:00:00.000000\", \"passed\": true}, {\"check\": \"whole minute\", \"actual\": \"0:01:00.000000\", \"expected\": \"0:01:00.000000\", \"passed\": true}, {\"check\": \"exact full day is twenty-four hours\", \"actual\": \"0:00:00.000000\", \"expected\": \"24:00:00.000000\", \"passed\": false}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}