{"abstract":"Large negative periods are not floored.","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":"Clipping the summed return instead of each period changes the payoff.","family":"w2-options_payoff_and_settlement-cliquet-ratchet-local-clipping","id":"FA-61706","implementations":{"attempt":{"sha256":"38f1416875ba0f13dbf5e11860fff42dcb4f790def2b87c6cffbfdc1588e07ac","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 += r\n    total = min(max(total, f), c)\n    pay = notional * max(Fraction(str(global_floor)), 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 local clipping 1', [[100.0, 85.0, 87.55, 100.68], 0.08, 0.0, 0.01, 1000], 110.0], ['regression local clipping 2', [[100.0, 103.0, 103.0, 100.94], 0.08, 0.0, 0.01, 1000], 30.0], ['partial repair probe 1', [[100.0, 115.0, 112.7, 120.59, 124.21], 0.05, -0.05, 0.02, 1000000], 110019.072892], ['partial repair probe 2', [[100.0, 107.0, 114.49], 0.05, -0.05, 0.02, 1000000], 100000.0], ['normal control 1', [[100.0, 92.0, 84.64], 0.05, -0.02, 0.01, 1000000], 10000.0], ['normal control 2', [[100.0, 103.0], 0.05, 0.0, 0.02, 1000000], 30000.0], ['normal control 3', [[100.0, 103.0, 103.0, 106.09, 106.09, 90.18, 76.65], 0.08, -0.05, 0.02, 1000000], 20000.0], ['normal control 4', [[100.0, 92.0], 0.08, -0.02, 0.02, 1000000], 20000.0]], [['regression local clipping 1', [[100.0, 92.0, 78.2, 80.55, 68.47, 70.52, 75.46], 0.08, -0.02, 0.0, 1000000], 70042.320003], ['regression local clipping 2', [[100.0, 115.0, 123.05, 120.59, 102.5, 87.12, 93.22], 0.05, 0.0, 0.01, 1000], 150.0], ['partial repair probe 1', [[100.0, 103.0, 106.09, 113.52, 111.25], 0.08, -0.05, 0.01, 1000000], 110038.399657], ['partial repair probe 2', [[100.0, 103.0, 103.0, 110.21, 126.74, 124.21], 0.05, -0.05, 0.01, 1000], 110.037873], ['normal control 1', [[100.0, 107.0, 107.0], 0.05, 0.0, 0.0, 1000000], 50000.0], ['normal control 2', [[100.0, 115.0], 0.08, 0.0, 0.0, 1000000], 80000.0], ['normal control 3', [[100.0, 85.0, 78.2, 71.94, 74.1, 68.17, 70.22], 0.08, -0.05, 0.01, 1000], 10.0], ['normal control 4', [[100.0, 98.0, 90.16, 82.95, 76.31], 0.08, 0.0, 0.0, 1000], 0.0]], [['regression local clipping 1', [[100.0, 98.0, 83.3, 76.64, 88.14, 90.78, 77.16], 0.08, 0.0, 0.0, 1000000], 109952.348536], ['regression local clipping 2', [[100.0, 92.0, 105.8, 97.34, 104.15], 0.08, 0.0, 0.0, 1000], 149.960962], ['partial repair probe 1', [[100.0, 107.0, 114.49], 0.05, -0.05, 0.02, 1000000], 100000.0], ['partial repair probe 2', [[100.0, 100.0, 103.0, 100.94, 98.92, 113.76], 0.05, -0.05, 0.0, 1000], 39.988112], ['normal control 1', [[100.0, 98.0, 83.3, 81.63, 84.08], 0.08, -0.05, 0.02, 1000], 20.0], ['normal control 2', [[100.0, 85.0, 85.0], 0.05, 0.0, 0.0, 1000000], 0.0], ['normal control 3', [[100.0, 85.0, 78.2], 0.08, -0.02, 0.02, 1000], 20.0], ['normal control 4', [[100.0, 100.0, 100.0], 0.05, -0.02, 0.02, 1000], 20.0]], [['regression local clipping 1', [[100.0, 115.0, 118.45, 118.45, 116.08], 0.05, -0.02, 0.01, 1000], 60.0], ['regression local clipping 2', [[100.0, 98.0, 104.86, 104.86, 89.13, 89.13], 0.05, -0.02, 0.0, 1000000], 10000.0], ['partial repair probe 1', [[100.0, 103.0, 106.09, 109.27], 0.05, -0.02, 0.0, 1000000], 89974.54991], ['partial repair probe 2', [[100.0, 98.0, 96.04, 96.04, 96.04, 110.45], 0.05, -0.02, 0.02, 1000000], 20000.0], ['normal control 1', [[100.0, 98.0], 0.08, 0.0, 0.0, 1000], 0.0], ['normal control 2', [[100.0, 103.0], 0.05, -0.02, 0.01, 1000000], 30000.0], ['normal control 3', [[100.0, 92.0], 0.08, 0.0, 0.0, 1000], 0.0], ['normal control 4', [[100.0, 103.0], 0.08, -0.05, 0.02, 1000000], 30000.0]], [['regression local clipping 1', [[100.0, 100.0, 100.0, 92.0, 98.44], 0.05, -0.02, 0.01, 1000000], 30000.0], ['regression local clipping 2', [[100.0, 85.0, 97.75, 89.93, 103.42, 95.15, 101.81], 0.08, 0.0, 0.0, 1000000], 229994.745139], ['partial repair probe 1', [[100.0, 103.0, 118.45, 118.45], 0.08, 0.0, 0.0, 1000], 110.0], ['partial repair probe 2', [[100.0, 107.0, 123.05, 126.74, 135.61, 155.95], 0.05, -0.05, 0.01, 1000000], 229987.809833], ['normal control 1', [[100.0, 98.0, 83.3], 0.08, -0.02, 0.02, 1000000], 20000.0], ['normal control 2', [[100.0, 92.0, 92.0], 0.08, 0.0, 0.0, 1000], 0.0], ['normal control 3', [[100.0, 103.0, 100.94, 100.94, 92.86, 85.43, 72.62], 0.05, -0.02, 0.01, 1000000], 10000.0], ['normal control 4', [[100.0, 85.0, 72.25, 77.31], 0.08, -0.05, 0.0, 1000000], 0.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":"21327534047c7d11be0f5007f1350f6161558b5820ec5211009e4ad06f0eb4b3","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(r, c)\n    pay = notional * max(Fraction(str(global_floor)), 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 local clipping 1', [[100.0, 85.0, 87.55, 100.68], 0.08, 0.0, 0.01, 1000], 110.0], ['regression local clipping 2', [[100.0, 103.0, 103.0, 100.94], 0.08, 0.0, 0.01, 1000], 30.0], ['partial repair probe 1', [[100.0, 115.0, 112.7, 120.59, 124.21], 0.05, -0.05, 0.02, 1000000], 110019.072892], ['partial repair probe 2', [[100.0, 107.0, 114.49], 0.05, -0.05, 0.02, 1000000], 100000.0], ['normal control 1', [[100.0, 92.0, 84.64], 0.05, -0.02, 0.01, 1000000], 10000.0], ['normal control 2', [[100.0, 103.0], 0.05, 0.0, 0.02, 1000000], 30000.0], ['normal control 3', [[100.0, 103.0, 103.0, 106.09, 106.09, 90.18, 76.65], 0.08, -0.05, 0.02, 1000000], 20000.0], ['normal control 4', [[100.0, 92.0], 0.08, -0.02, 0.02, 1000000], 20000.0]], [['regression local clipping 1', [[100.0, 92.0, 78.2, 80.55, 68.47, 70.52, 75.46], 0.08, -0.02, 0.0, 1000000], 70042.320003], ['regression local clipping 2', [[100.0, 115.0, 123.05, 120.59, 102.5, 87.12, 93.22], 0.05, 0.0, 0.01, 1000], 150.0], ['partial repair probe 1', [[100.0, 103.0, 106.09, 113.52, 111.25], 0.08, -0.05, 0.01, 1000000], 110038.399657], ['partial repair probe 2', [[100.0, 103.0, 103.0, 110.21, 126.74, 124.21], 0.05, -0.05, 0.01, 1000], 110.037873], ['normal control 1', [[100.0, 107.0, 107.0], 0.05, 0.0, 0.0, 1000000], 50000.0], ['normal control 2', [[100.0, 115.0], 0.08, 0.0, 0.0, 1000000], 80000.0], ['normal control 3', [[100.0, 85.0, 78.2, 71.94, 74.1, 68.17, 70.22], 0.08, -0.05, 0.01, 1000], 10.0], ['normal control 4', [[100.0, 98.0, 90.16, 82.95, 76.31], 0.08, 0.0, 0.0, 1000], 0.0]], [['regression local clipping 1', [[100.0, 98.0, 83.3, 76.64, 88.14, 90.78, 77.16], 0.08, 0.0, 0.0, 1000000], 109952.348536], ['regression local clipping 2', [[100.0, 92.0, 105.8, 97.34, 104.15], 0.08, 0.0, 0.0, 1000], 149.960962], ['partial repair probe 1', [[100.0, 107.0, 114.49], 0.05, -0.05, 0.02, 1000000], 100000.0], ['partial repair probe 2', [[100.0, 100.0, 103.0, 100.94, 98.92, 113.76], 0.05, -0.05, 0.0, 1000], 39.988112], ['normal control 1', [[100.0, 98.0, 83.3, 81.63, 84.08], 0.08, -0.05, 0.02, 1000], 20.0], ['normal control 2', [[100.0, 85.0, 85.0], 0.05, 0.0, 0.0, 1000000], 0.0], ['normal control 3', [[100.0, 85.0, 78.2], 0.08, -0.02, 0.02, 1000], 20.0], ['normal control 4', [[100.0, 100.0, 100.0], 0.05, -0.02, 0.02, 1000], 20.0]], [['regression local clipping 1', [[100.0, 115.0, 118.45, 118.45, 116.08], 0.05, -0.02, 0.01, 1000], 60.0], ['regression local clipping 2', [[100.0, 98.0, 104.86, 104.86, 89.13, 89.13], 0.05, -0.02, 0.0, 1000000], 10000.0], ['partial repair probe 1', [[100.0, 103.0, 106.09, 109.27], 0.05, -0.02, 0.0, 1000000], 89974.54991], ['partial repair probe 2', [[100.0, 98.0, 96.04, 96.04, 96.04, 110.45], 0.05, -0.02, 0.02, 1000000], 20000.0], ['normal control 1', [[100.0, 98.0], 0.08, 0.0, 0.0, 1000], 0.0], ['normal control 2', [[100.0, 103.0], 0.05, -0.02, 0.01, 1000000], 30000.0], ['normal control 3', [[100.0, 92.0], 0.08, 0.0, 0.0, 1000], 0.0], ['normal control 4', [[100.0, 103.0], 0.08, -0.05, 0.02, 1000000], 30000.0]], [['regression local clipping 1', [[100.0, 100.0, 100.0, 92.0, 98.44], 0.05, -0.02, 0.01, 1000000], 30000.0], ['regression local clipping 2', [[100.0, 85.0, 97.75, 89.93, 103.42, 95.15, 101.81], 0.08, 0.0, 0.0, 1000000], 229994.745139], ['partial repair probe 1', [[100.0, 103.0, 118.45, 118.45], 0.08, 0.0, 0.0, 1000], 110.0], ['partial repair probe 2', [[100.0, 107.0, 123.05, 126.74, 135.61, 155.95], 0.05, -0.05, 0.01, 1000000], 229987.809833], ['normal control 1', [[100.0, 98.0, 83.3], 0.08, -0.02, 0.02, 1000000], 20000.0], ['normal control 2', [[100.0, 92.0, 92.0], 0.08, 0.0, 0.0, 1000], 0.0], ['normal control 3', [[100.0, 103.0, 100.94, 100.94, 92.86, 85.43, 72.62], 0.05, -0.02, 0.01, 1000000], 10000.0], ['normal control 4', [[100.0, 85.0, 72.25, 77.31], 0.08, -0.05, 0.0, 1000000], 0.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-local-clipping","generated_at":"2026-09-29T14:46:57.753901+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 clip applies min(r, cap) without the floor.","sha256":"229f2e4f2075736075862d7b6480b0edd41423d5928e17cd71c0393ebaf1bab0","title":"Cliquet payoff with local caps and a global floor: only the local cap is applied · 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":44.782,"exit_code":1,"observations":[{"actual":29.971445,"check":"regression local clipping 1","expected":110.0,"passed":false},{"actual":10.0,"check":"regression local clipping 2","expected":30.0,"passed":false},{"actual":50000.0,"check":"partial repair probe 1","expected":110019.072892,"passed":false},{"actual":50000.0,"check":"partial repair probe 2","expected":100000.0,"passed":false},{"actual":10000.0,"check":"normal control 1","expected":10000.0,"passed":true},{"actual":30000.0,"check":"normal control 2","expected":30000.0,"passed":true},{"actual":20000.0,"check":"normal control 3","expected":20000.0,"passed":true},{"actual":20000.0,"check":"normal control 4","expected":20000.0,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression local clipping 1\", \"actual\": 29.971445, \"expected\": 110.0, \"passed\": false}, {\"check\": \"regression local clipping 2\", \"actual\": 10.0, \"expected\": 30.0, \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": 50000.0, \"expected\": 110019.072892, \"passed\": false}, {\"check\": \"partial repair probe 2\", \"actual\": 50000.0, \"expected\": 100000.0, \"passed\": false}, {\"check\": \"normal control 1\", \"actual\": 10000.0, \"expected\": 10000.0, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 30000.0, \"expected\": 30000.0, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 20000.0, \"expected\": 20000.0, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 20000.0, \"expected\": 20000.0, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":46.766,"exit_code":1,"observations":[{"actual":10.0,"check":"regression local clipping 1","expected":110.0,"passed":false},{"actual":10.0,"check":"regression local clipping 2","expected":30.0,"passed":false},{"actual":110019.072892,"check":"partial repair probe 1","expected":110019.072892,"passed":true},{"actual":100000.0,"check":"partial repair probe 2","expected":100000.0,"passed":true},{"actual":10000.0,"check":"normal control 1","expected":10000.0,"passed":true},{"actual":30000.0,"check":"normal control 2","expected":30000.0,"passed":true},{"actual":20000.0,"check":"normal control 3","expected":20000.0,"passed":true},{"actual":20000.0,"check":"normal control 4","expected":20000.0,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression local clipping 1\", \"actual\": 10.0, \"expected\": 110.0, \"passed\": false}, {\"check\": \"regression local clipping 2\", \"actual\": 10.0, \"expected\": 30.0, \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": 110019.072892, \"expected\": 110019.072892, \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": 100000.0, \"expected\": 100000.0, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 10000.0, \"expected\": 10000.0, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 30000.0, \"expected\": 30000.0, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 20000.0, \"expected\": 20000.0, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 20000.0, \"expected\": 20000.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."}}