{"abstract":"Median lifetimes are a year too long.","category":"Actuarial life tables","checks":8,"contract":"Input l (from age x) and p (per mille surviving, 0<p<1000 else 'invalid'; also l_0<=0). Find the first t with l_t <= l_0 p/1000 and interpolate linearly: t-1 + (l_{t-1}-target)/(l_{t-1}-l_t). No crossing -> 'beyond table'. Rounded to 6.","evaluation_group":"w2-actuarial_life_tables-median-future-lifetime","failed_approach":"t-frac measures backwards from the end of the year.","family":"w2-actuarial_life_tables-median-future-lifetime-crossing-year-offset","id":"FA-63821","implementations":{"attempt":{"sha256":"f761155115e8fbe6a9695fd89a35e3f329bda54227c014b668761ee865d0c689","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    l=x['l']\n    if l[0]<=0 or not 0<x['p']<1000: return 'invalid'\n    target=Fraction(l[0]*x['p'],1000)\n    for t in range(1,len(l)):\n        if l[t]<=target:\n            frac=(l[t-1]-target)/(l[t-1]-l[t])\n            return round(float(t-frac),6)\n    return 'beyond table'\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['median', {'l': [100000, 99387, 98676, 97881, 96960, 95885, 94662, 93295, 91792, 90121, 88233, 0], 'p': 500}, 10.433319], ['upper quartile survival', {'l': [100000, 99475, 98885, 98208, 97456, 96585, 95576, 94404, 93122, 91705, 90114, 0], 'p': 750}, 10.167721], ['crossing in first year', {'l': [1000, 301, 100, 0], 'p': 500}, 0.715308], ['crossing at last age', {'l': [1000, 900, 800, 399], 'p': 500}, 2.74813], ['never crosses', {'l': [1000, 950, 900], 'p': 500}, 'beyond table'], ['p zero rejected', {'l': [1000, 500, 0], 'p': 0}, 'invalid'], ['p full rejected', {'l': [1000, 500, 0], 'p': 1000}, 'invalid'], ['low quantile', {'l': [100000, 99796, 99551, 99257, 98907, 98508, 98032, 97478, 96832, 96111, 95312, 0], 'p': 101}, 10.894032]], [['median', {'l': [100000, 99728, 99400, 99011, 98531, 97972, 97317, 96577, 95722, 94733, 93633, 0], 'p': 500}, 10.466], ['upper quartile survival', {'l': [100000, 99497, 98924, 98231, 97459, 96611, 95636, 94522, 93247, 91843, 90240, 0], 'p': 750}, 10.168883], ['crossing in first year', {'l': [1000, 302, 100, 0], 'p': 500}, 0.716332], ['crossing at last age', {'l': [1000, 900, 800, 398], 'p': 500}, 2.746269], ['never crosses', {'l': [1000, 950, 900], 'p': 500}, 'beyond table'], ['p zero rejected', {'l': [1000, 500, 0], 'p': 0}, 'invalid'], ['p full rejected', {'l': [1000, 500, 0], 'p': 1000}, 'invalid'], ['low quantile', {'l': [100000, 99549, 99016, 98408, 97709, 96926, 96052, 95042, 93885, 92604, 91159, 0], 'p': 102}, 10.888108]], [['median', {'l': [100000, 99519, 98953, 98284, 97516, 96640, 95632, 94490, 93212, 91778, 90214, 0], 'p': 500}, 10.445762], ['upper quartile survival', {'l': [100000, 99696, 99292, 98815, 98275, 97687, 97001, 96211, 95276, 94196, 92976, 0], 'p': 750}, 10.19334], ['crossing in first year', {'l': [1000, 303, 100, 0], 'p': 500}, 0.71736], ['crossing at last age', {'l': [1000, 900, 800, 397], 'p': 500}, 2.744417], ['never crosses', {'l': [1000, 950, 900], 'p': 500}, 'beyond table'], ['p zero rejected', {'l': [1000, 500, 0], 'p': 0}, 'invalid'], ['p full rejected', {'l': [1000, 500, 0], 'p': 1000}, 'invalid'], ['low quantile', {'l': [100000, 99674, 99256, 98791, 98244, 97618, 96907, 96078, 95119, 94025, 92792, 0], 'p': 103}, 10.888999]], [['median', {'l': [100000, 99629, 99193, 98668, 98069, 97392, 96584, 95658, 94604, 93390, 92018, 0], 'p': 500}, 10.456628], ['upper quartile survival', {'l': [100000, 99416, 98748, 97985, 97109, 96096, 94934, 93641, 92205, 90578, 88748, 0], 'p': 750}, 10.154911], ['crossing in first year', {'l': [1000, 304, 100, 0], 'p': 500}, 0.718391], ['crossing at last age', {'l': [1000, 900, 800, 396], 'p': 500}, 2.742574], ['never crosses', {'l': [1000, 950, 900], 'p': 500}, 'beyond table'], ['p zero rejected', {'l': [1000, 500, 0], 'p': 0}, 'invalid'], ['p full rejected', {'l': [1000, 500, 0], 'p': 1000}, 'invalid'], ['low quantile', {'l': [100000, 99428, 98766, 98052, 97212, 96267, 95157, 93939, 92567, 91036, 89325, 0], 'p': 104}, 10.883571]], [['median', {'l': [100000, 99481, 98876, 98212, 97434, 96547, 95571, 94472, 93234, 91812, 90252, 0], 'p': 500}, 10.445996], ['upper quartile survival', {'l': [100000, 99429, 98814, 98062, 97236, 96330, 95319, 94161, 92874, 91437, 89822, 0], 'p': 750}, 10.165015], ['crossing in first year', {'l': [1000, 305, 100, 0], 'p': 500}, 0.719424], ['crossing at last age', {'l': [1000, 900, 800, 395], 'p': 500}, 2.740741], ['never crosses', {'l': [1000, 950, 900], 'p': 500}, 'beyond table'], ['p zero rejected', {'l': [1000, 500, 0], 'p': 0}, 'invalid'], ['p full rejected', {'l': [1000, 500, 0], 'p': 1000}, 'invalid'], ['low quantile', {'l': [100000, 99395, 98716, 97924, 97019, 95986, 94803, 93476, 91996, 90309, 88450, 0], 'p': 105}, 10.881289]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\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":"3b60ced48b4063d0fa162a03c6c88244c4b6e35f3876d08017fb5f04671703d6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    l=x['l']\n    if l[0]<=0 or not 0<x['p']<1000: return 'invalid'\n    target=Fraction(l[0]*x['p'],1000)\n    for t in range(1,len(l)):\n        if l[t]<=target:\n            frac=(l[t-1]-target)/(l[t-1]-l[t])\n            return round(float(t+frac),6)\n    return 'beyond table'\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['median', {'l': [100000, 99387, 98676, 97881, 96960, 95885, 94662, 93295, 91792, 90121, 88233, 0], 'p': 500}, 10.433319], ['upper quartile survival', {'l': [100000, 99475, 98885, 98208, 97456, 96585, 95576, 94404, 93122, 91705, 90114, 0], 'p': 750}, 10.167721], ['crossing in first year', {'l': [1000, 301, 100, 0], 'p': 500}, 0.715308], ['crossing at last age', {'l': [1000, 900, 800, 399], 'p': 500}, 2.74813], ['never crosses', {'l': [1000, 950, 900], 'p': 500}, 'beyond table'], ['p zero rejected', {'l': [1000, 500, 0], 'p': 0}, 'invalid'], ['p full rejected', {'l': [1000, 500, 0], 'p': 1000}, 'invalid'], ['low quantile', {'l': [100000, 99796, 99551, 99257, 98907, 98508, 98032, 97478, 96832, 96111, 95312, 0], 'p': 101}, 10.894032]], [['median', {'l': [100000, 99728, 99400, 99011, 98531, 97972, 97317, 96577, 95722, 94733, 93633, 0], 'p': 500}, 10.466], ['upper quartile survival', {'l': [100000, 99497, 98924, 98231, 97459, 96611, 95636, 94522, 93247, 91843, 90240, 0], 'p': 750}, 10.168883], ['crossing in first year', {'l': [1000, 302, 100, 0], 'p': 500}, 0.716332], ['crossing at last age', {'l': [1000, 900, 800, 398], 'p': 500}, 2.746269], ['never crosses', {'l': [1000, 950, 900], 'p': 500}, 'beyond table'], ['p zero rejected', {'l': [1000, 500, 0], 'p': 0}, 'invalid'], ['p full rejected', {'l': [1000, 500, 0], 'p': 1000}, 'invalid'], ['low quantile', {'l': [100000, 99549, 99016, 98408, 97709, 96926, 96052, 95042, 93885, 92604, 91159, 0], 'p': 102}, 10.888108]], [['median', {'l': [100000, 99519, 98953, 98284, 97516, 96640, 95632, 94490, 93212, 91778, 90214, 0], 'p': 500}, 10.445762], ['upper quartile survival', {'l': [100000, 99696, 99292, 98815, 98275, 97687, 97001, 96211, 95276, 94196, 92976, 0], 'p': 750}, 10.19334], ['crossing in first year', {'l': [1000, 303, 100, 0], 'p': 500}, 0.71736], ['crossing at last age', {'l': [1000, 900, 800, 397], 'p': 500}, 2.744417], ['never crosses', {'l': [1000, 950, 900], 'p': 500}, 'beyond table'], ['p zero rejected', {'l': [1000, 500, 0], 'p': 0}, 'invalid'], ['p full rejected', {'l': [1000, 500, 0], 'p': 1000}, 'invalid'], ['low quantile', {'l': [100000, 99674, 99256, 98791, 98244, 97618, 96907, 96078, 95119, 94025, 92792, 0], 'p': 103}, 10.888999]], [['median', {'l': [100000, 99629, 99193, 98668, 98069, 97392, 96584, 95658, 94604, 93390, 92018, 0], 'p': 500}, 10.456628], ['upper quartile survival', {'l': [100000, 99416, 98748, 97985, 97109, 96096, 94934, 93641, 92205, 90578, 88748, 0], 'p': 750}, 10.154911], ['crossing in first year', {'l': [1000, 304, 100, 0], 'p': 500}, 0.718391], ['crossing at last age', {'l': [1000, 900, 800, 396], 'p': 500}, 2.742574], ['never crosses', {'l': [1000, 950, 900], 'p': 500}, 'beyond table'], ['p zero rejected', {'l': [1000, 500, 0], 'p': 0}, 'invalid'], ['p full rejected', {'l': [1000, 500, 0], 'p': 1000}, 'invalid'], ['low quantile', {'l': [100000, 99428, 98766, 98052, 97212, 96267, 95157, 93939, 92567, 91036, 89325, 0], 'p': 104}, 10.883571]], [['median', {'l': [100000, 99481, 98876, 98212, 97434, 96547, 95571, 94472, 93234, 91812, 90252, 0], 'p': 500}, 10.445996], ['upper quartile survival', {'l': [100000, 99429, 98814, 98062, 97236, 96330, 95319, 94161, 92874, 91437, 89822, 0], 'p': 750}, 10.165015], ['crossing in first year', {'l': [1000, 305, 100, 0], 'p': 500}, 0.719424], ['crossing at last age', {'l': [1000, 900, 800, 395], 'p': 500}, 2.740741], ['never crosses', {'l': [1000, 950, 900], 'p': 500}, 'beyond table'], ['p zero rejected', {'l': [1000, 500, 0], 'p': 0}, 'invalid'], ['p full rejected', {'l': [1000, 500, 0], 'p': 1000}, 'invalid'], ['low quantile', {'l': [100000, 99395, 98716, 97924, 97019, 95986, 94803, 93476, 91996, 90309, 88450, 0], 'p': 105}, 10.881289]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\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"},"fixed":{"sha256":"377193cc6eecf2ccd6b495867c15c1f84d624f85f459076e7a2696f315e428c1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    l=x['l']\n    if l[0]<=0 or not 0<x['p']<1000: return 'invalid'\n    target=Fraction(l[0]*x['p'],1000)\n    for t in range(1,len(l)):\n        if l[t]<=target:\n            frac=(l[t-1]-target)/(l[t-1]-l[t])\n            return round(float(t-1+frac),6)\n    return 'beyond table'\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['median', {'l': [100000, 99387, 98676, 97881, 96960, 95885, 94662, 93295, 91792, 90121, 88233, 0], 'p': 500}, 10.433319], ['upper quartile survival', {'l': [100000, 99475, 98885, 98208, 97456, 96585, 95576, 94404, 93122, 91705, 90114, 0], 'p': 750}, 10.167721], ['crossing in first year', {'l': [1000, 301, 100, 0], 'p': 500}, 0.715308], ['crossing at last age', {'l': [1000, 900, 800, 399], 'p': 500}, 2.74813], ['never crosses', {'l': [1000, 950, 900], 'p': 500}, 'beyond table'], ['p zero rejected', {'l': [1000, 500, 0], 'p': 0}, 'invalid'], ['p full rejected', {'l': [1000, 500, 0], 'p': 1000}, 'invalid'], ['low quantile', {'l': [100000, 99796, 99551, 99257, 98907, 98508, 98032, 97478, 96832, 96111, 95312, 0], 'p': 101}, 10.894032]], [['median', {'l': [100000, 99728, 99400, 99011, 98531, 97972, 97317, 96577, 95722, 94733, 93633, 0], 'p': 500}, 10.466], ['upper quartile survival', {'l': [100000, 99497, 98924, 98231, 97459, 96611, 95636, 94522, 93247, 91843, 90240, 0], 'p': 750}, 10.168883], ['crossing in first year', {'l': [1000, 302, 100, 0], 'p': 500}, 0.716332], ['crossing at last age', {'l': [1000, 900, 800, 398], 'p': 500}, 2.746269], ['never crosses', {'l': [1000, 950, 900], 'p': 500}, 'beyond table'], ['p zero rejected', {'l': [1000, 500, 0], 'p': 0}, 'invalid'], ['p full rejected', {'l': [1000, 500, 0], 'p': 1000}, 'invalid'], ['low quantile', {'l': [100000, 99549, 99016, 98408, 97709, 96926, 96052, 95042, 93885, 92604, 91159, 0], 'p': 102}, 10.888108]], [['median', {'l': [100000, 99519, 98953, 98284, 97516, 96640, 95632, 94490, 93212, 91778, 90214, 0], 'p': 500}, 10.445762], ['upper quartile survival', {'l': [100000, 99696, 99292, 98815, 98275, 97687, 97001, 96211, 95276, 94196, 92976, 0], 'p': 750}, 10.19334], ['crossing in first year', {'l': [1000, 303, 100, 0], 'p': 500}, 0.71736], ['crossing at last age', {'l': [1000, 900, 800, 397], 'p': 500}, 2.744417], ['never crosses', {'l': [1000, 950, 900], 'p': 500}, 'beyond table'], ['p zero rejected', {'l': [1000, 500, 0], 'p': 0}, 'invalid'], ['p full rejected', {'l': [1000, 500, 0], 'p': 1000}, 'invalid'], ['low quantile', {'l': [100000, 99674, 99256, 98791, 98244, 97618, 96907, 96078, 95119, 94025, 92792, 0], 'p': 103}, 10.888999]], [['median', {'l': [100000, 99629, 99193, 98668, 98069, 97392, 96584, 95658, 94604, 93390, 92018, 0], 'p': 500}, 10.456628], ['upper quartile survival', {'l': [100000, 99416, 98748, 97985, 97109, 96096, 94934, 93641, 92205, 90578, 88748, 0], 'p': 750}, 10.154911], ['crossing in first year', {'l': [1000, 304, 100, 0], 'p': 500}, 0.718391], ['crossing at last age', {'l': [1000, 900, 800, 396], 'p': 500}, 2.742574], ['never crosses', {'l': [1000, 950, 900], 'p': 500}, 'beyond table'], ['p zero rejected', {'l': [1000, 500, 0], 'p': 0}, 'invalid'], ['p full rejected', {'l': [1000, 500, 0], 'p': 1000}, 'invalid'], ['low quantile', {'l': [100000, 99428, 98766, 98052, 97212, 96267, 95157, 93939, 92567, 91036, 89325, 0], 'p': 104}, 10.883571]], [['median', {'l': [100000, 99481, 98876, 98212, 97434, 96547, 95571, 94472, 93234, 91812, 90252, 0], 'p': 500}, 10.445996], ['upper quartile survival', {'l': [100000, 99429, 98814, 98062, 97236, 96330, 95319, 94161, 92874, 91437, 89822, 0], 'p': 750}, 10.165015], ['crossing in first year', {'l': [1000, 305, 100, 0], 'p': 500}, 0.719424], ['crossing at last age', {'l': [1000, 900, 800, 395], 'p': 500}, 2.740741], ['never crosses', {'l': [1000, 950, 900], 'p': 500}, 'beyond table'], ['p zero rejected', {'l': [1000, 500, 0], 'p': 0}, 'invalid'], ['p full rejected', {'l': [1000, 500, 0], 'p': 1000}, 'invalid'], ['low quantile', {'l': [100000, 99395, 98716, 97924, 97019, 95986, 94803, 93476, 91996, 90309, 88450, 0], 'p': 105}, 10.881289]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\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":"A deterministic bounded teaching model of a stipulated toy actuarial contract. Rates are small synthetic tables, exact rationals are used where practical and floats are rounded at the output; it makes no claim of conformance with any published table, standard of practice or regulation. 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":"w2-actuarial_life_tables-median-future-lifetime-crossing-year-offset","generated_at":"2026-09-29T14:47:18.186929+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Life-table arithmetic compounds across ages, so one misplaced index or assumption shifts every downstream value.","repair":"Start from t-1.","root_cause":"The crossing year is added in full before the fraction.","sha256":"49bb59217acbd08d306118fc3e50e1cf53c5a957d23fcda3a32f2ef63edff60d","title":"Median and quantile future lifetime: Crossing time counts the whole crossing year · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.703,"exit_code":1,"observations":[{"actual":10.566681,"check":"median","expected":10.433319,"passed":false},{"actual":10.832279,"check":"upper quartile survival","expected":10.167721,"passed":false},{"actual":0.284692,"check":"crossing in first year","expected":0.715308,"passed":false},{"actual":2.25187,"check":"crossing at last age","expected":2.74813,"passed":false},{"actual":"beyond table","check":"never crosses","expected":"beyond table","passed":true},{"actual":"invalid","check":"p zero rejected","expected":"invalid","passed":true},{"actual":"invalid","check":"p full rejected","expected":"invalid","passed":true},{"actual":10.105968,"check":"low quantile","expected":10.894032,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"median\", \"actual\": 10.566681, \"expected\": 10.433319, \"passed\": false}, {\"check\": \"upper quartile survival\", \"actual\": 10.832279, \"expected\": 10.167721, \"passed\": false}, {\"check\": \"crossing in first year\", \"actual\": 0.284692, \"expected\": 0.715308, \"passed\": false}, {\"check\": \"crossing at last age\", \"actual\": 2.25187, \"expected\": 2.74813, \"passed\": false}, {\"check\": \"never crosses\", \"actual\": \"beyond table\", \"expected\": \"beyond table\", \"passed\": true}, {\"check\": \"p zero rejected\", \"actual\": \"invalid\", \"expected\": \"invalid\", \"passed\": true}, {\"check\": \"p full rejected\", \"actual\": \"invalid\", \"expected\": \"invalid\", \"passed\": true}, {\"check\": \"low quantile\", \"actual\": 10.105968, \"expected\": 10.894032, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.195,"exit_code":1,"observations":[{"actual":11.433319,"check":"median","expected":10.433319,"passed":false},{"actual":11.167721,"check":"upper quartile survival","expected":10.167721,"passed":false},{"actual":1.715308,"check":"crossing in first year","expected":0.715308,"passed":false},{"actual":3.74813,"check":"crossing at last age","expected":2.74813,"passed":false},{"actual":"beyond table","check":"never crosses","expected":"beyond table","passed":true},{"actual":"invalid","check":"p zero rejected","expected":"invalid","passed":true},{"actual":"invalid","check":"p full rejected","expected":"invalid","passed":true},{"actual":11.894032,"check":"low quantile","expected":10.894032,"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"median\", \"actual\": 11.433319, \"expected\": 10.433319, \"passed\": false}, {\"check\": \"upper quartile survival\", \"actual\": 11.167721, \"expected\": 10.167721, \"passed\": false}, {\"check\": \"crossing in first year\", \"actual\": 1.715308, \"expected\": 0.715308, \"passed\": false}, {\"check\": \"crossing at last age\", \"actual\": 3.74813, \"expected\": 2.74813, \"passed\": false}, {\"check\": \"never crosses\", \"actual\": \"beyond table\", \"expected\": \"beyond table\", \"passed\": true}, {\"check\": \"p zero rejected\", \"actual\": \"invalid\", \"expected\": \"invalid\", \"passed\": true}, {\"check\": \"p full rejected\", \"actual\": \"invalid\", \"expected\": \"invalid\", \"passed\": true}, {\"check\": \"low quantile\", \"actual\": 11.894032, \"expected\": 10.894032, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.859,"exit_code":0,"observations":[{"actual":10.433319,"check":"median","expected":10.433319,"passed":true},{"actual":10.167721,"check":"upper quartile survival","expected":10.167721,"passed":true},{"actual":0.715308,"check":"crossing in first year","expected":0.715308,"passed":true},{"actual":2.74813,"check":"crossing at last age","expected":2.74813,"passed":true},{"actual":"beyond table","check":"never crosses","expected":"beyond table","passed":true},{"actual":"invalid","check":"p zero rejected","expected":"invalid","passed":true},{"actual":"invalid","check":"p full rejected","expected":"invalid","passed":true},{"actual":10.894032,"check":"low quantile","expected":10.894032,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"median\", \"actual\": 10.433319, \"expected\": 10.433319, \"passed\": true}, {\"check\": \"upper quartile survival\", \"actual\": 10.167721, \"expected\": 10.167721, \"passed\": true}, {\"check\": \"crossing in first year\", \"actual\": 0.715308, \"expected\": 0.715308, \"passed\": true}, {\"check\": \"crossing at last age\", \"actual\": 2.74813, \"expected\": 2.74813, \"passed\": true}, {\"check\": \"never crosses\", \"actual\": \"beyond table\", \"expected\": \"beyond table\", \"passed\": true}, {\"check\": \"p zero rejected\", \"actual\": \"invalid\", \"expected\": \"invalid\", \"passed\": true}, {\"check\": \"p full rejected\", \"actual\": \"invalid\", \"expected\": \"invalid\", \"passed\": true}, {\"check\": \"low quantile\", \"actual\": 10.894032, \"expected\": 10.894032, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}