{"abstract":"Guaranteed minimum coupons above zero are not honored.","category":"Options payoff and settlement","checks":8,"contract":"Inputs reset prices (first is the initial level), local cap, local floor, global floor and notional. Each period return is S_i/S_{i-1} - 1 clipped to [local floor, local cap]. Payoff = notional * max(global floor, sum of clipped returns), in exact fractions, rounded to 6.","contract_signature":"resets, cap, floor, global_floor, notional","evaluation_group":"w2-options_payoff_and_settlement-cliquet-ratchet","failed_approach":"Paying zero when below the global floor inverts the guarantee.","family":"w2-options_payoff_and_settlement-cliquet-ratchet-global-floor","id":"FA-61711","implementations":{"attempt":{"sha256":"15673a0ac784d53ad95785b095343f161d511af571349c57249cc70306d2ff16","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(resets, cap, floor, global_floor, notional):\n    px = [Fraction(str(v)) for v in resets]\n    c = Fraction(str(cap))\n    f = Fraction(str(floor))\n    total = Fraction(0)\n    for prev, cur in zip(px, px[1:]):\n        r = cur / prev - 1\n        total += min(max(r, f), c)\n    pay = notional * (total if total > Fraction(str(global_floor)) else 0)\n    return float(round(pay, 6))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression global floor 1', [[100.0, 92.0, 92.0, 78.2, 71.94, 82.73, 76.11], 0.08, -0.05, 0.01, 1000], 10.0], ['regression global floor 2', [[100.0, 85.0, 78.2, 78.2, 76.64], 0.08, -0.05, 0.01, 1000000], 10000.0], ['partial repair probe 1', [[100.0, 103.0, 94.76], 0.08, -0.02, 0.01, 1000000], 10000.0], ['partial repair probe 2', [[100.0, 92.0, 98.44, 98.44, 83.67], 0.05, -0.02, 0.01, 1000], 10.0], ['boundary control 1', [[100.0, 110.0, 99.0], 0.05, -0.02, 0.01, 1000], 30.0], ['normal control 1', [[100.0, 107.0], 0.08, -0.02, 0.02, 1000000], 70000.0], ['normal control 2', [[100.0, 115.0, 105.8], 0.08, -0.02, 0.01, 1000], 60.0], ['normal control 3', [[100.0, 115.0], 0.05, -0.02, 0.0, 1000000], 50000.0]], [['regression global floor 1', [[100.0, 98.0, 96.04], 0.05, 0.0, 0.02, 1000], 20.0], ['regression global floor 2', [[100.0, 98.0, 83.3, 70.8], 0.08, -0.02, 0.02, 1000000], 20000.0], ['partial repair probe 1', [[100.0, 107.0, 90.95], 0.08, -0.05, 0.02, 1000000], 20000.0], ['partial repair probe 2', [[100.0, 103.0, 100.94], 0.08, -0.05, 0.01, 1000], 10.0], ['boundary control 1', [[100.0, 110.0, 99.0], 0.05, -0.02, 0.01, 1000], 30.0], ['normal control 1', [[100.0, 100.0, 115.0, 123.05, 113.21], 0.05, 0.0, 0.01, 1000], 100.0], ['normal control 2', [[100.0, 107.0, 104.86, 120.59, 102.5], 0.08, 0.0, 0.02, 1000], 150.0], ['normal control 3', [[100.0, 107.0, 104.86, 96.47], 0.05, 0.0, 0.02, 1000], 50.0]], [['regression global floor 1', [[100.0, 103.0, 87.55, 80.55, 78.94, 81.31], 0.05, -0.02, 0.01, 1000000], 10000.0], ['regression global floor 2', [[100.0, 107.0, 90.95, 83.67], 0.08, -0.05, 0.02, 1000000], 20000.0], ['partial repair probe 1', [[100.0, 103.0, 100.94], 0.05, -0.05, 0.01, 1000000], 10000.0], ['partial repair probe 2', [[100.0, 92.0, 105.8, 89.93, 89.93, 82.74], 0.08, -0.02, 0.02, 1000000], 20000.0], ['boundary control 1', [[100.0, 110.0, 99.0], 0.05, -0.02, 0.01, 1000], 30.0], ['normal control 1', [[100.0, 103.0, 118.45, 122.0, 122.0, 112.24, 120.1], 0.05, 0.0, 0.01, 1000000], 159970.451667], ['normal control 2', [[100.0, 107.0, 123.05, 123.05, 123.05, 141.51, 145.76], 0.08, -0.05, 0.01, 1000000], 260033.2132], ['normal control 3', [[100.0, 100.0, 92.0, 84.64, 90.56, 104.14, 104.14], 0.05, 0.0, 0.01, 1000000], 100000.0]], [['regression global floor 1', [[100.0, 92.0], 0.08, -0.02, 0.01, 1000000], 10000.0], ['regression global floor 2', [[100.0, 92.0, 94.76, 80.55, 80.55], 0.08, -0.05, 0.02, 1000000], 20000.0], ['partial repair probe 1', [[100.0, 103.0, 100.94, 98.92, 98.92, 84.08, 89.97], 0.05, -0.02, 0.02, 1000000], 20000.0], ['partial repair probe 2', [[100.0, 103.0, 106.09, 106.09, 90.18, 76.65], 0.08, -0.02, 0.02, 1000000], 20000.0], ['boundary control 1', [[100.0, 110.0, 99.0], 0.05, -0.02, 0.01, 1000], 30.0], ['normal control 1', [[100.0, 100.0, 115.0, 97.75, 100.68], 0.08, -0.02, 0.0, 1000], 89.974425], ['normal control 2', [[100.0, 107.0, 123.05, 126.74, 130.54, 120.1], 0.05, -0.02, 0.0, 1000000], 139970.451462], ['normal control 3', [[100.0, 100.0, 115.0, 123.05], 0.08, -0.02, 0.01, 1000], 150.0]], [['regression global floor 1', [[100.0, 85.0, 85.0, 83.3, 83.3, 83.3], 0.05, -0.02, 0.01, 1000000], 10000.0], ['regression global floor 2', [[100.0, 92.0, 94.76, 92.86, 99.36], 0.05, -0.05, 0.02, 1000], 20.0], ['partial repair probe 1', [[100.0, 92.0, 94.76], 0.05, -0.02, 0.01, 1000], 10.0], ['partial repair probe 2', [[100.0, 92.0, 94.76], 0.05, -0.02, 0.01, 1000000], 10000.0], ['boundary control 1', [[100.0, 110.0, 99.0], 0.05, -0.02, 0.01, 1000], 30.0], ['normal control 1', [[100.0, 103.0], 0.05, 0.0, 0.02, 1000], 30.0], ['normal control 2', [[100.0, 107.0, 104.86, 120.59, 124.21, 105.58, 112.97], 0.08, -0.02, 0.0, 1000000], 210013.389997], ['normal control 3', [[100.0, 100.0, 107.0], 0.08, -0.02, 0.0, 1000000], 70000.0]]]\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":"15002c1f0642646ef3cd2fe7314577d93fc0a0e55f983af9af305687616dd63c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(resets, cap, floor, global_floor, notional):\n    px = [Fraction(str(v)) for v in resets]\n    c = Fraction(str(cap))\n    f = Fraction(str(floor))\n    total = Fraction(0)\n    for prev, cur in zip(px, px[1:]):\n        r = cur / prev - 1\n        total += min(max(r, f), c)\n    pay = notional * max(Fraction(0), total)\n    return float(round(pay, 6))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression global floor 1', [[100.0, 92.0, 92.0, 78.2, 71.94, 82.73, 76.11], 0.08, -0.05, 0.01, 1000], 10.0], ['regression global floor 2', [[100.0, 85.0, 78.2, 78.2, 76.64], 0.08, -0.05, 0.01, 1000000], 10000.0], ['partial repair probe 1', [[100.0, 103.0, 94.76], 0.08, -0.02, 0.01, 1000000], 10000.0], ['partial repair probe 2', [[100.0, 92.0, 98.44, 98.44, 83.67], 0.05, -0.02, 0.01, 1000], 10.0], ['boundary control 1', [[100.0, 110.0, 99.0], 0.05, -0.02, 0.01, 1000], 30.0], ['normal control 1', [[100.0, 107.0], 0.08, -0.02, 0.02, 1000000], 70000.0], ['normal control 2', [[100.0, 115.0, 105.8], 0.08, -0.02, 0.01, 1000], 60.0], ['normal control 3', [[100.0, 115.0], 0.05, -0.02, 0.0, 1000000], 50000.0]], [['regression global floor 1', [[100.0, 98.0, 96.04], 0.05, 0.0, 0.02, 1000], 20.0], ['regression global floor 2', [[100.0, 98.0, 83.3, 70.8], 0.08, -0.02, 0.02, 1000000], 20000.0], ['partial repair probe 1', [[100.0, 107.0, 90.95], 0.08, -0.05, 0.02, 1000000], 20000.0], ['partial repair probe 2', [[100.0, 103.0, 100.94], 0.08, -0.05, 0.01, 1000], 10.0], ['boundary control 1', [[100.0, 110.0, 99.0], 0.05, -0.02, 0.01, 1000], 30.0], ['normal control 1', [[100.0, 100.0, 115.0, 123.05, 113.21], 0.05, 0.0, 0.01, 1000], 100.0], ['normal control 2', [[100.0, 107.0, 104.86, 120.59, 102.5], 0.08, 0.0, 0.02, 1000], 150.0], ['normal control 3', [[100.0, 107.0, 104.86, 96.47], 0.05, 0.0, 0.02, 1000], 50.0]], [['regression global floor 1', [[100.0, 103.0, 87.55, 80.55, 78.94, 81.31], 0.05, -0.02, 0.01, 1000000], 10000.0], ['regression global floor 2', [[100.0, 107.0, 90.95, 83.67], 0.08, -0.05, 0.02, 1000000], 20000.0], ['partial repair probe 1', [[100.0, 103.0, 100.94], 0.05, -0.05, 0.01, 1000000], 10000.0], ['partial repair probe 2', [[100.0, 92.0, 105.8, 89.93, 89.93, 82.74], 0.08, -0.02, 0.02, 1000000], 20000.0], ['boundary control 1', [[100.0, 110.0, 99.0], 0.05, -0.02, 0.01, 1000], 30.0], ['normal control 1', [[100.0, 103.0, 118.45, 122.0, 122.0, 112.24, 120.1], 0.05, 0.0, 0.01, 1000000], 159970.451667], ['normal control 2', [[100.0, 107.0, 123.05, 123.05, 123.05, 141.51, 145.76], 0.08, -0.05, 0.01, 1000000], 260033.2132], ['normal control 3', [[100.0, 100.0, 92.0, 84.64, 90.56, 104.14, 104.14], 0.05, 0.0, 0.01, 1000000], 100000.0]], [['regression global floor 1', [[100.0, 92.0], 0.08, -0.02, 0.01, 1000000], 10000.0], ['regression global floor 2', [[100.0, 92.0, 94.76, 80.55, 80.55], 0.08, -0.05, 0.02, 1000000], 20000.0], ['partial repair probe 1', [[100.0, 103.0, 100.94, 98.92, 98.92, 84.08, 89.97], 0.05, -0.02, 0.02, 1000000], 20000.0], ['partial repair probe 2', [[100.0, 103.0, 106.09, 106.09, 90.18, 76.65], 0.08, -0.02, 0.02, 1000000], 20000.0], ['boundary control 1', [[100.0, 110.0, 99.0], 0.05, -0.02, 0.01, 1000], 30.0], ['normal control 1', [[100.0, 100.0, 115.0, 97.75, 100.68], 0.08, -0.02, 0.0, 1000], 89.974425], ['normal control 2', [[100.0, 107.0, 123.05, 126.74, 130.54, 120.1], 0.05, -0.02, 0.0, 1000000], 139970.451462], ['normal control 3', [[100.0, 100.0, 115.0, 123.05], 0.08, -0.02, 0.01, 1000], 150.0]], [['regression global floor 1', [[100.0, 85.0, 85.0, 83.3, 83.3, 83.3], 0.05, -0.02, 0.01, 1000000], 10000.0], ['regression global floor 2', [[100.0, 92.0, 94.76, 92.86, 99.36], 0.05, -0.05, 0.02, 1000], 20.0], ['partial repair probe 1', [[100.0, 92.0, 94.76], 0.05, -0.02, 0.01, 1000], 10.0], ['partial repair probe 2', [[100.0, 92.0, 94.76], 0.05, -0.02, 0.01, 1000000], 10000.0], ['boundary control 1', [[100.0, 110.0, 99.0], 0.05, -0.02, 0.01, 1000], 30.0], ['normal control 1', [[100.0, 103.0], 0.05, 0.0, 0.02, 1000], 30.0], ['normal control 2', [[100.0, 107.0, 104.86, 120.59, 124.21, 105.58, 112.97], 0.08, -0.02, 0.0, 1000000], 210013.389997], ['normal control 3', [[100.0, 100.0, 107.0], 0.08, -0.02, 0.0, 1000000], 70000.0]]]\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 toy contract stated explicitly in the contract field; no claim of conformance to any exchange or clearing rulebook. 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-options_payoff_and_settlement-cliquet-ratchet-global-floor","generated_at":"2026-09-29T14:46:57.783981+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Option expiry, exercise and settlement engines move cash and shares; a wrong branch misstates obligations.","root_cause":"The payoff floors at zero instead of the stated global floor.","sha256":"e35a19b0d1be5bd6f66081cf11b01b42fa1b77c3bf39dfa027e1713903ee3792","title":"Cliquet payoff with local caps and a global floor: the global floor is replaced by zero · 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":43.846,"exit_code":1,"observations":[{"actual":0.0,"check":"regression global floor 1","expected":10.0,"passed":false},{"actual":0.0,"check":"regression global floor 2","expected":10000.0,"passed":false},{"actual":0.0,"check":"partial repair probe 1","expected":10000.0,"passed":false},{"actual":0.0,"check":"partial repair probe 2","expected":10.0,"passed":false},{"actual":30.0,"check":"boundary control 1","expected":30.0,"passed":true},{"actual":70000.0,"check":"normal control 1","expected":70000.0,"passed":true},{"actual":60.0,"check":"normal control 2","expected":60.0,"passed":true},{"actual":50000.0,"check":"normal control 3","expected":50000.0,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression global floor 1\", \"actual\": 0.0, \"expected\": 10.0, \"passed\": false}, {\"check\": \"regression global floor 2\", \"actual\": 0.0, \"expected\": 10000.0, \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": 0.0, \"expected\": 10000.0, \"passed\": false}, {\"check\": \"partial repair probe 2\", \"actual\": 0.0, \"expected\": 10.0, \"passed\": false}, {\"check\": \"boundary control 1\", \"actual\": 30.0, \"expected\": 30.0, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 70000.0, \"expected\": 70000.0, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 60.0, \"expected\": 60.0, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 50000.0, \"expected\": 50000.0, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":46.735,"exit_code":1,"observations":[{"actual":0.0,"check":"regression global floor 1","expected":10.0,"passed":false},{"actual":0.0,"check":"regression global floor 2","expected":10000.0,"passed":false},{"actual":10000.0,"check":"partial repair probe 1","expected":10000.0,"passed":true},{"actual":10.0,"check":"partial repair probe 2","expected":10.0,"passed":true},{"actual":30.0,"check":"boundary control 1","expected":30.0,"passed":true},{"actual":70000.0,"check":"normal control 1","expected":70000.0,"passed":true},{"actual":60.0,"check":"normal control 2","expected":60.0,"passed":true},{"actual":50000.0,"check":"normal control 3","expected":50000.0,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression global floor 1\", \"actual\": 0.0, \"expected\": 10.0, \"passed\": false}, {\"check\": \"regression global floor 2\", \"actual\": 0.0, \"expected\": 10000.0, \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": 10000.0, \"expected\": 10000.0, \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": 10.0, \"expected\": 10.0, \"passed\": true}, {\"check\": \"boundary control 1\", \"actual\": 30.0, \"expected\": 30.0, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 70000.0, \"expected\": 70000.0, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 60.0, \"expected\": 60.0, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 50000.0, \"expected\": 50000.0, \"passed\": true}], \"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."}}