FAILURE MAP
← Case archive

FA-96036 / Postal address normalization / Open access

House number parser: improper fractions are consumed · case 01

"13 2/2 FAKE ST" consumes "2/2" as a fraction.

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

ROOT CAUSE

The numerator is compared with <= against the denominator and zero is not excluded.

VERIFIED REPAIR

Require 0 < numerator < denominator.

Unsuccessful approach: A strict upper bound alone still accepts the zero fraction "0/4".

Case contract

Uppercase and split the line. The first token must start with digits: the digits form the house number (an int, which must not be 0); an optional single hyphen is dropped and at most one letter may follow as the suffix. If the second token is a/b with b in 2,3,4 and 0 < a < b it is the fraction and is consumed. Return [number, suffix, fraction, rest] or None.

Why this case matters

House-number parsing decides the delivery point; fractions and suffixes distinguish separate dwellings on one lot.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(x):
    t = x.upper().split()
    if not t:
        return None
    head = t[0]
    i = 0
    while i < len(head) and head[i].isdigit():
        i += 1
    if i == 0:
        return None
    number, tail = int(head[:i]), head[i:]
    if number == 0:
        return None
    if tail.startswith('-'):
        tail = tail[1:]
    if len(tail) > 1 or (tail and not tail.isalpha()):
        return None
    frac, k = '', 1
    if len(t) > 1 and t[1].count('/') == 1:
        a, b = t[1].split('/')
        if a.isdigit() and b.isdigit() and b in ('2', '3', '4') and int(a) <= int(b):
            frac, k = t[1], 2
    return [number, tail, frac, ' '.join(t[k:])]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['plain number', '13 FAKE ST', [13, '', '', 'FAKE ST']], ['letter suffix', '13b Fake St', [13, 'B', '', 'FAKE ST']], ['hyphenated letter suffix', '13-B FAKE ST', [13, 'B', '', 'FAKE ST']], ['doubled hyphen is malformed', '13--B FAKE ST', None], ['two-letter suffix rejected', '13AB FAKE ST', None], ['half fraction consumed', '13 1/2 FAKE ST', [13, '', '1/2', 'FAKE ST']], ['third fraction consumed', '13 1/3 FAKE ST', [13, '', '1/3', 'FAKE ST']], ['eighths are not house fractions', '13 5/8 FAKE ST', [13, '', '', '5/8 FAKE ST']], ['improper fraction stays in the street', '13 2/2 FAKE ST', [13, '', '', '2/2 FAKE ST']], ['zero numerator stays in the street', '13 0/4 FAKE ST', [13, '', '', '0/4 FAKE ST']], ['house number zero rejected', '0 FAKE ST', None], ['padded zero rejected', '00 FAKE ST', None]], [['plain number', '23 FAKE ST', [23, '', '', 'FAKE ST']], ['letter suffix', '23b Fake St', [23, 'B', '', 'FAKE ST']], ['hyphenated letter suffix', '23-B FAKE ST', [23, 'B', '', 'FAKE ST']], ['doubled hyphen is malformed', '23--B FAKE ST', None], ['two-letter suffix rejected', '23AB FAKE ST', None], ['half fraction consumed', '23 1/2 FAKE ST', [23, '', '1/2', 'FAKE ST']], ['third fraction consumed', '23 1/3 FAKE ST', [23, '', '1/3', 'FAKE ST']], ['eighths are not house fractions', '23 5/8 FAKE ST', [23, '', '', '5/8 FAKE ST']], ['improper fraction stays in the street', '23 2/2 FAKE ST', [23, '', '', '2/2 FAKE ST']], ['zero numerator stays in the street', '23 0/4 FAKE ST', [23, '', '', '0/4 FAKE ST']], ['house number zero rejected', '0 FAKE ST', None], ['padded zero rejected', '00 FAKE ST', None]], [['plain number', '33 FAKE ST', [33, '', '', 'FAKE ST']], ['letter suffix', '33b Fake St', [33, 'B', '', 'FAKE ST']], ['hyphenated letter suffix', '33-B FAKE ST', [33, 'B', '', 'FAKE ST']], ['doubled hyphen is malformed', '33--B FAKE ST', None], ['two-letter suffix rejected', '33AB FAKE ST', None], ['half fraction consumed', '33 1/2 FAKE ST', [33, '', '1/2', 'FAKE ST']], ['third fraction consumed', '33 1/3 FAKE ST', [33, '', '1/3', 'FAKE ST']], ['eighths are not house fractions', '33 5/8 FAKE ST', [33, '', '', '5/8 FAKE ST']], ['improper fraction stays in the street', '33 2/2 FAKE ST', [33, '', '', '2/2 FAKE ST']], ['zero numerator stays in the street', '33 0/4 FAKE ST', [33, '', '', '0/4 FAKE ST']], ['house number zero rejected', '0 FAKE ST', None], ['padded zero rejected', '00 FAKE ST', None]], [['plain number', '43 FAKE ST', [43, '', '', 'FAKE ST']], ['letter suffix', '43b Fake St', [43, 'B', '', 'FAKE ST']], ['hyphenated letter suffix', '43-B FAKE ST', [43, 'B', '', 'FAKE ST']], ['doubled hyphen is malformed', '43--B FAKE ST', None], ['two-letter suffix rejected', '43AB FAKE ST', None], ['half fraction consumed', '43 1/2 FAKE ST', [43, '', '1/2', 'FAKE ST']], ['third fraction consumed', '43 1/3 FAKE ST', [43, '', '1/3', 'FAKE ST']], ['eighths are not house fractions', '43 5/8 FAKE ST', [43, '', '', '5/8 FAKE ST']], ['improper fraction stays in the street', '43 2/2 FAKE ST', [43, '', '', '2/2 FAKE ST']], ['zero numerator stays in the street', '43 0/4 FAKE ST', [43, '', '', '0/4 FAKE ST']], ['house number zero rejected', '0 FAKE ST', None], ['padded zero rejected', '00 FAKE ST', None]], [['plain number', '53 FAKE ST', [53, '', '', 'FAKE ST']], ['letter suffix', '53b Fake St', [53, 'B', '', 'FAKE ST']], ['hyphenated letter suffix', '53-B FAKE ST', [53, 'B', '', 'FAKE ST']], ['doubled hyphen is malformed', '53--B FAKE ST', None], ['two-letter suffix rejected', '53AB FAKE ST', None], ['half fraction consumed', '53 1/2 FAKE ST', [53, '', '1/2', 'FAKE ST']], ['third fraction consumed', '53 1/3 FAKE ST', [53, '', '1/3', 'FAKE ST']], ['eighths are not house fractions', '53 5/8 FAKE ST', [53, '', '', '5/8 FAKE ST']], ['improper fraction stays in the street', '53 2/2 FAKE ST', [53, '', '', '2/2 FAKE ST']], ['zero numerator stays in the street', '53 0/4 FAKE ST', [53, '', '', '0/4 FAKE ST']], ['house number zero rejected', '0 FAKE ST', None], ['padded zero rejected', '00 FAKE ST', None]]]
for label, arg, expected in fixtures[N - 1]:
    check(label, solve(arg), expected)
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
plain number[13, '', '', 'FAKE ST'][13, '', '', 'FAKE ST']Passed
letter suffix[13, 'B', '', 'FAKE ST'][13, 'B', '', 'FAKE ST']Passed
hyphenated letter suffix[13, 'B', '', 'FAKE ST'][13, 'B', '', 'FAKE ST']Passed
doubled hyphen is malformedNoneNonePassed
two-letter suffix rejectedNoneNonePassed
half fraction consumed[13, '', '1/2', 'FAKE ST'][13, '', '1/2', 'FAKE ST']Passed
third fraction consumed[13, '', '1/3', 'FAKE ST'][13, '', '1/3', 'FAKE ST']Passed
eighths are not house fractions[13, '', '', '5/8 FAKE ST'][13, '', '', '5/8 FAKE ST']Passed
improper fraction stays in the street[13, '', '2/2', 'FAKE ST'][13, '', '', '2/2 FAKE ST']Failed
zero numerator stays in the street[13, '', '0/4', 'FAKE ST'][13, '', '', '0/4 FAKE ST']Failed
house number zero rejectedNoneNonePassed
padded zero rejectedNoneNonePassed

SHA-256 / fc8e5e05c2e658ea2008951f2d1c06bb76a298ddf3d38ea38d66b36e3d30c051

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(x):
    t = x.upper().split()
    if not t:
        return None
    head = t[0]
    i = 0
    while i < len(head) and head[i].isdigit():
        i += 1
    if i == 0:
        return None
    number, tail = int(head[:i]), head[i:]
    if number == 0:
        return None
    if tail.startswith('-'):
        tail = tail[1:]
    if len(tail) > 1 or (tail and not tail.isalpha()):
        return None
    frac, k = '', 1
    if len(t) > 1 and t[1].count('/') == 1:
        a, b = t[1].split('/')
        if a.isdigit() and b.isdigit() and b in ('2', '3', '4') and int(a) < int(b):
            frac, k = t[1], 2
    return [number, tail, frac, ' '.join(t[k:])]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['plain number', '13 FAKE ST', [13, '', '', 'FAKE ST']], ['letter suffix', '13b Fake St', [13, 'B', '', 'FAKE ST']], ['hyphenated letter suffix', '13-B FAKE ST', [13, 'B', '', 'FAKE ST']], ['doubled hyphen is malformed', '13--B FAKE ST', None], ['two-letter suffix rejected', '13AB FAKE ST', None], ['half fraction consumed', '13 1/2 FAKE ST', [13, '', '1/2', 'FAKE ST']], ['third fraction consumed', '13 1/3 FAKE ST', [13, '', '1/3', 'FAKE ST']], ['eighths are not house fractions', '13 5/8 FAKE ST', [13, '', '', '5/8 FAKE ST']], ['improper fraction stays in the street', '13 2/2 FAKE ST', [13, '', '', '2/2 FAKE ST']], ['zero numerator stays in the street', '13 0/4 FAKE ST', [13, '', '', '0/4 FAKE ST']], ['house number zero rejected', '0 FAKE ST', None], ['padded zero rejected', '00 FAKE ST', None]], [['plain number', '23 FAKE ST', [23, '', '', 'FAKE ST']], ['letter suffix', '23b Fake St', [23, 'B', '', 'FAKE ST']], ['hyphenated letter suffix', '23-B FAKE ST', [23, 'B', '', 'FAKE ST']], ['doubled hyphen is malformed', '23--B FAKE ST', None], ['two-letter suffix rejected', '23AB FAKE ST', None], ['half fraction consumed', '23 1/2 FAKE ST', [23, '', '1/2', 'FAKE ST']], ['third fraction consumed', '23 1/3 FAKE ST', [23, '', '1/3', 'FAKE ST']], ['eighths are not house fractions', '23 5/8 FAKE ST', [23, '', '', '5/8 FAKE ST']], ['improper fraction stays in the street', '23 2/2 FAKE ST', [23, '', '', '2/2 FAKE ST']], ['zero numerator stays in the street', '23 0/4 FAKE ST', [23, '', '', '0/4 FAKE ST']], ['house number zero rejected', '0 FAKE ST', None], ['padded zero rejected', '00 FAKE ST', None]], [['plain number', '33 FAKE ST', [33, '', '', 'FAKE ST']], ['letter suffix', '33b Fake St', [33, 'B', '', 'FAKE ST']], ['hyphenated letter suffix', '33-B FAKE ST', [33, 'B', '', 'FAKE ST']], ['doubled hyphen is malformed', '33--B FAKE ST', None], ['two-letter suffix rejected', '33AB FAKE ST', None], ['half fraction consumed', '33 1/2 FAKE ST', [33, '', '1/2', 'FAKE ST']], ['third fraction consumed', '33 1/3 FAKE ST', [33, '', '1/3', 'FAKE ST']], ['eighths are not house fractions', '33 5/8 FAKE ST', [33, '', '', '5/8 FAKE ST']], ['improper fraction stays in the street', '33 2/2 FAKE ST', [33, '', '', '2/2 FAKE ST']], ['zero numerator stays in the street', '33 0/4 FAKE ST', [33, '', '', '0/4 FAKE ST']], ['house number zero rejected', '0 FAKE ST', None], ['padded zero rejected', '00 FAKE ST', None]], [['plain number', '43 FAKE ST', [43, '', '', 'FAKE ST']], ['letter suffix', '43b Fake St', [43, 'B', '', 'FAKE ST']], ['hyphenated letter suffix', '43-B FAKE ST', [43, 'B', '', 'FAKE ST']], ['doubled hyphen is malformed', '43--B FAKE ST', None], ['two-letter suffix rejected', '43AB FAKE ST', None], ['half fraction consumed', '43 1/2 FAKE ST', [43, '', '1/2', 'FAKE ST']], ['third fraction consumed', '43 1/3 FAKE ST', [43, '', '1/3', 'FAKE ST']], ['eighths are not house fractions', '43 5/8 FAKE ST', [43, '', '', '5/8 FAKE ST']], ['improper fraction stays in the street', '43 2/2 FAKE ST', [43, '', '', '2/2 FAKE ST']], ['zero numerator stays in the street', '43 0/4 FAKE ST', [43, '', '', '0/4 FAKE ST']], ['house number zero rejected', '0 FAKE ST', None], ['padded zero rejected', '00 FAKE ST', None]], [['plain number', '53 FAKE ST', [53, '', '', 'FAKE ST']], ['letter suffix', '53b Fake St', [53, 'B', '', 'FAKE ST']], ['hyphenated letter suffix', '53-B FAKE ST', [53, 'B', '', 'FAKE ST']], ['doubled hyphen is malformed', '53--B FAKE ST', None], ['two-letter suffix rejected', '53AB FAKE ST', None], ['half fraction consumed', '53 1/2 FAKE ST', [53, '', '1/2', 'FAKE ST']], ['third fraction consumed', '53 1/3 FAKE ST', [53, '', '1/3', 'FAKE ST']], ['eighths are not house fractions', '53 5/8 FAKE ST', [53, '', '', '5/8 FAKE ST']], ['improper fraction stays in the street', '53 2/2 FAKE ST', [53, '', '', '2/2 FAKE ST']], ['zero numerator stays in the street', '53 0/4 FAKE ST', [53, '', '', '0/4 FAKE ST']], ['house number zero rejected', '0 FAKE ST', None], ['padded zero rejected', '00 FAKE ST', None]]]
for label, arg, expected in fixtures[N - 1]:
    check(label, solve(arg), expected)
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
plain number[13, '', '', 'FAKE ST'][13, '', '', 'FAKE ST']Passed
letter suffix[13, 'B', '', 'FAKE ST'][13, 'B', '', 'FAKE ST']Passed
hyphenated letter suffix[13, 'B', '', 'FAKE ST'][13, 'B', '', 'FAKE ST']Passed
doubled hyphen is malformedNoneNonePassed
two-letter suffix rejectedNoneNonePassed
half fraction consumed[13, '', '1/2', 'FAKE ST'][13, '', '1/2', 'FAKE ST']Passed
third fraction consumed[13, '', '1/3', 'FAKE ST'][13, '', '1/3', 'FAKE ST']Passed
eighths are not house fractions[13, '', '', '5/8 FAKE ST'][13, '', '', '5/8 FAKE ST']Passed
improper fraction stays in the street[13, '', '', '2/2 FAKE ST'][13, '', '', '2/2 FAKE ST']Passed
zero numerator stays in the street[13, '', '0/4', 'FAKE ST'][13, '', '', '0/4 FAKE ST']Failed
house number zero rejectedNoneNonePassed
padded zero rejectedNoneNonePassed

SHA-256 / 41500925899c7fd43988608e3a907135f1c7ec4958985c780767d3e3ed5dbbbc

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(x):
    t = x.upper().split()
    if not t:
        return None
    head = t[0]
    i = 0
    while i < len(head) and head[i].isdigit():
        i += 1
    if i == 0:
        return None
    number, tail = int(head[:i]), head[i:]
    if number == 0:
        return None
    if tail.startswith('-'):
        tail = tail[1:]
    if len(tail) > 1 or (tail and not tail.isalpha()):
        return None
    frac, k = '', 1
    if len(t) > 1 and t[1].count('/') == 1:
        a, b = t[1].split('/')
        if a.isdigit() and b.isdigit() and b in ('2', '3', '4') and 0 < int(a) < int(b):
            frac, k = t[1], 2
    return [number, tail, frac, ' '.join(t[k:])]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['plain number', '13 FAKE ST', [13, '', '', 'FAKE ST']], ['letter suffix', '13b Fake St', [13, 'B', '', 'FAKE ST']], ['hyphenated letter suffix', '13-B FAKE ST', [13, 'B', '', 'FAKE ST']], ['doubled hyphen is malformed', '13--B FAKE ST', None], ['two-letter suffix rejected', '13AB FAKE ST', None], ['half fraction consumed', '13 1/2 FAKE ST', [13, '', '1/2', 'FAKE ST']], ['third fraction consumed', '13 1/3 FAKE ST', [13, '', '1/3', 'FAKE ST']], ['eighths are not house fractions', '13 5/8 FAKE ST', [13, '', '', '5/8 FAKE ST']], ['improper fraction stays in the street', '13 2/2 FAKE ST', [13, '', '', '2/2 FAKE ST']], ['zero numerator stays in the street', '13 0/4 FAKE ST', [13, '', '', '0/4 FAKE ST']], ['house number zero rejected', '0 FAKE ST', None], ['padded zero rejected', '00 FAKE ST', None]], [['plain number', '23 FAKE ST', [23, '', '', 'FAKE ST']], ['letter suffix', '23b Fake St', [23, 'B', '', 'FAKE ST']], ['hyphenated letter suffix', '23-B FAKE ST', [23, 'B', '', 'FAKE ST']], ['doubled hyphen is malformed', '23--B FAKE ST', None], ['two-letter suffix rejected', '23AB FAKE ST', None], ['half fraction consumed', '23 1/2 FAKE ST', [23, '', '1/2', 'FAKE ST']], ['third fraction consumed', '23 1/3 FAKE ST', [23, '', '1/3', 'FAKE ST']], ['eighths are not house fractions', '23 5/8 FAKE ST', [23, '', '', '5/8 FAKE ST']], ['improper fraction stays in the street', '23 2/2 FAKE ST', [23, '', '', '2/2 FAKE ST']], ['zero numerator stays in the street', '23 0/4 FAKE ST', [23, '', '', '0/4 FAKE ST']], ['house number zero rejected', '0 FAKE ST', None], ['padded zero rejected', '00 FAKE ST', None]], [['plain number', '33 FAKE ST', [33, '', '', 'FAKE ST']], ['letter suffix', '33b Fake St', [33, 'B', '', 'FAKE ST']], ['hyphenated letter suffix', '33-B FAKE ST', [33, 'B', '', 'FAKE ST']], ['doubled hyphen is malformed', '33--B FAKE ST', None], ['two-letter suffix rejected', '33AB FAKE ST', None], ['half fraction consumed', '33 1/2 FAKE ST', [33, '', '1/2', 'FAKE ST']], ['third fraction consumed', '33 1/3 FAKE ST', [33, '', '1/3', 'FAKE ST']], ['eighths are not house fractions', '33 5/8 FAKE ST', [33, '', '', '5/8 FAKE ST']], ['improper fraction stays in the street', '33 2/2 FAKE ST', [33, '', '', '2/2 FAKE ST']], ['zero numerator stays in the street', '33 0/4 FAKE ST', [33, '', '', '0/4 FAKE ST']], ['house number zero rejected', '0 FAKE ST', None], ['padded zero rejected', '00 FAKE ST', None]], [['plain number', '43 FAKE ST', [43, '', '', 'FAKE ST']], ['letter suffix', '43b Fake St', [43, 'B', '', 'FAKE ST']], ['hyphenated letter suffix', '43-B FAKE ST', [43, 'B', '', 'FAKE ST']], ['doubled hyphen is malformed', '43--B FAKE ST', None], ['two-letter suffix rejected', '43AB FAKE ST', None], ['half fraction consumed', '43 1/2 FAKE ST', [43, '', '1/2', 'FAKE ST']], ['third fraction consumed', '43 1/3 FAKE ST', [43, '', '1/3', 'FAKE ST']], ['eighths are not house fractions', '43 5/8 FAKE ST', [43, '', '', '5/8 FAKE ST']], ['improper fraction stays in the street', '43 2/2 FAKE ST', [43, '', '', '2/2 FAKE ST']], ['zero numerator stays in the street', '43 0/4 FAKE ST', [43, '', '', '0/4 FAKE ST']], ['house number zero rejected', '0 FAKE ST', None], ['padded zero rejected', '00 FAKE ST', None]], [['plain number', '53 FAKE ST', [53, '', '', 'FAKE ST']], ['letter suffix', '53b Fake St', [53, 'B', '', 'FAKE ST']], ['hyphenated letter suffix', '53-B FAKE ST', [53, 'B', '', 'FAKE ST']], ['doubled hyphen is malformed', '53--B FAKE ST', None], ['two-letter suffix rejected', '53AB FAKE ST', None], ['half fraction consumed', '53 1/2 FAKE ST', [53, '', '1/2', 'FAKE ST']], ['third fraction consumed', '53 1/3 FAKE ST', [53, '', '1/3', 'FAKE ST']], ['eighths are not house fractions', '53 5/8 FAKE ST', [53, '', '', '5/8 FAKE ST']], ['improper fraction stays in the street', '53 2/2 FAKE ST', [53, '', '', '2/2 FAKE ST']], ['zero numerator stays in the street', '53 0/4 FAKE ST', [53, '', '', '0/4 FAKE ST']], ['house number zero rejected', '0 FAKE ST', None], ['padded zero rejected', '00 FAKE ST', None]]]
for label, arg, expected in fixtures[N - 1]:
    check(label, solve(arg), expected)
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
plain number[13, '', '', 'FAKE ST'][13, '', '', 'FAKE ST']Passed
letter suffix[13, 'B', '', 'FAKE ST'][13, 'B', '', 'FAKE ST']Passed
hyphenated letter suffix[13, 'B', '', 'FAKE ST'][13, 'B', '', 'FAKE ST']Passed
doubled hyphen is malformedNoneNonePassed
two-letter suffix rejectedNoneNonePassed
half fraction consumed[13, '', '1/2', 'FAKE ST'][13, '', '1/2', 'FAKE ST']Passed
third fraction consumed[13, '', '1/3', 'FAKE ST'][13, '', '1/3', 'FAKE ST']Passed
eighths are not house fractions[13, '', '', '5/8 FAKE ST'][13, '', '', '5/8 FAKE ST']Passed
improper fraction stays in the street[13, '', '', '2/2 FAKE ST'][13, '', '', '2/2 FAKE ST']Passed
zero numerator stays in the street[13, '', '', '0/4 FAKE ST'][13, '', '', '0/4 FAKE ST']Passed
house number zero rejectedNoneNonePassed
padded zero rejectedNoneNonePassed

SHA-256 / eaed61f9a53eeba73422981afcd5e065a0cdb1b01ff4621bb02f09bd98753c2c

Verification & scope

A deterministic toy contract over synthetic, obviously fictitious addresses. The rules are stipulated for this model only and make no claim of conformance with any postal authority standard. 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:52:19.050442+00:00.

Case digest / 9fabd77d1e33196f865c20f244cd66b9d54880f87a07aab10d781eb334b35055