FAILURE MAP
← Case archive

FA-13611 / Numerical aggregation / Open access

Time weighted step level: Segment levels are summed without duration weights. · case 01

The reduction disagrees with its explicit aggregation oracle.

Verified by executionVariant 1 · 8 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

Segment levels are summed without duration weights.

VERIFIED REPAIR

Preserve the time weighted step level contract at the identified reduction decision.

Unsuccessful approach: Inclusive lattice-point duration double-counts every change boundary.

Case contract

Events set a right-continuous integer-timestamp level; later-listed events win timestamp ties. Initial level before any event is zero. Return exact average over [start,end), including level carried from earlier history, or None if interval has no duration.

Why this case matters

Exact bounded examples isolate a reduction defect without floating-point or external-service effects.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
from collections import Counter, defaultdict
import math
import itertools
N = 1
observations = []
def solve(events, start, end):
    if end<=start: return None
    changes={}
    for t,value in events:
        changes[t]=value
    points=sorted(set([start,end]+[t for t in changes if start<t<end]))
    area=0
    for left,right in zip(points,points[1:]):
        earlier=[t for t in changes if t<=left]
        value=changes[max(earlier)] if earlier else 0
        area+=value
    return str(Fraction(area,end-start))
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('regression 1', solve(*([(0, 2), (3, 8)], 1, 5)), '5')
check('regression 2', solve(*([], 0, 4)), '0')
check('regression 3', solve(*([(3, 5)], 0, 5)), '2')
check('regression 4', solve(*([(0, 4), (0, 7), (4, 9)], 0, 4)), '7')
check('regression 5', solve(*([(2, -3), (-2, 8), (5, 1)], 0, 7)), '9/7')
check('regression 6', solve(*([(0, 2)], 3, 3)), None)
check('regression 7', solve(*([(0, 1), (1, 10), (2, 2)], 0, 5)), '17/5')
check("variable duration weighting",solve([(0,0),(N,6)],0,N+2),str(Fraction(12,N+2)))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression 15/25Failed
regression 200Passed
regression 312Failed
regression 47/47Failed
regression 56/79/7Failed
regression 6NoneNonePassed
regression 713/517/5Failed
variable duration weighting24Failed

SHA-256 / e6242419bef92d3b00db272871692382e67e69ea05f3d342ca57e1d3937562b7

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
from collections import Counter, defaultdict
import math
import itertools
N = 1
observations = []
def solve(events, start, end):
    if end<=start: return None
    changes={}
    for t,value in events:
        changes[t]=value
    points=sorted(set([start,end]+[t for t in changes if start<t<end]))
    area=0
    for left,right in zip(points,points[1:]):
        earlier=[t for t in changes if t<=left]
        value=changes[max(earlier)] if earlier else 0
        area+=value*(right-left+1)
    return str(Fraction(area,end-start))
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('regression 1', solve(*([(0, 2), (3, 8)], 1, 5)), '5')
check('regression 2', solve(*([], 0, 4)), '0')
check('regression 3', solve(*([(3, 5)], 0, 5)), '2')
check('regression 4', solve(*([(0, 4), (0, 7), (4, 9)], 0, 4)), '7')
check('regression 5', solve(*([(2, -3), (-2, 8), (5, 1)], 0, 7)), '9/7')
check('regression 6', solve(*([(0, 2)], 3, 3)), None)
check('regression 7', solve(*([(0, 1), (1, 10), (2, 2)], 0, 5)), '17/5')
check("variable duration weighting",solve([(0,0),(N,6)],0,N+2),str(Fraction(12,N+2)))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression 115/25Failed
regression 200Passed
regression 332Failed
regression 435/47Failed
regression 515/79/7Failed
regression 6NoneNonePassed
regression 7617/5Failed
variable duration weighting64Failed

SHA-256 / bf820f34e122fe7cdc4a3ad6aad29113c45afaefde5ac6284c73a096fd968c05

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
from collections import Counter, defaultdict
import math
import itertools
N = 1
observations = []
def solve(events, start, end):
    if end<=start: return None
    changes={}
    for t,value in events:
        changes[t]=value
    points=sorted(set([start,end]+[t for t in changes if start<t<end]))
    area=0
    for left,right in zip(points,points[1:]):
        earlier=[t for t in changes if t<=left]
        value=changes[max(earlier)] if earlier else 0
        area+=value*(right-left)
    return str(Fraction(area,end-start))
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('regression 1', solve(*([(0, 2), (3, 8)], 1, 5)), '5')
check('regression 2', solve(*([], 0, 4)), '0')
check('regression 3', solve(*([(3, 5)], 0, 5)), '2')
check('regression 4', solve(*([(0, 4), (0, 7), (4, 9)], 0, 4)), '7')
check('regression 5', solve(*([(2, -3), (-2, 8), (5, 1)], 0, 7)), '9/7')
check('regression 6', solve(*([(0, 2)], 3, 3)), None)
check('regression 7', solve(*([(0, 1), (1, 10), (2, 2)], 0, 5)), '17/5')
check("variable duration weighting",solve([(0,0),(N,6)],0,N+2),str(Fraction(12,N+2)))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression 155Passed
regression 200Passed
regression 322Passed
regression 477Passed
regression 59/79/7Passed
regression 6NoneNonePassed
regression 717/517/5Passed
variable duration weighting44Passed

SHA-256 / ec56b09168128a2cff596d10d65fb53579b28d586988114cb3e4e6f00788e2c7

Verification & scope

Small offline integer/rational inputs only; no performance, statistical inference, or production-library conformance claim. 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.

Observations recorded using Python 3.12.14 at 2026-09-29T14:39:08.910270+00:00.

Case digest / 23ea4c8449e66e91017fb8e19d68a3ee4318bf81a15f47872e51e145cc4d6d11