{"abstract":"Paths that never exceed the strike charge the holder.","category":"Options payoff and settlement","checks":8,"contract":"Inputs kind, the observed path including initial and final prices, and strike. float-call pays final - min(path); float-put pays max(path) - final; fixed-call pays max(max(path) - K, 0); fixed-put pays max(K - min(path), 0). Round to 6.","contract_signature":"kind, path, strike","evaluation_group":"w2-options_payoff_and_settlement-lookback-payoff","failed_approach":"Requiring the final price above the strike turns the lookback into a vanilla trigger.","family":"w2-options_payoff_and_settlement-lookback-payoff-fixed-call-floor","id":"FA-61691","implementations":{"attempt":{"sha256":"fad585a5bd6e031b8651254c553fab3ed4930cd62c91c19161a2c99f57912ddd","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(kind, path, strike):\n    final = path[-1]\n    if kind == 'float-call':\n        pay = final - min(path)\n    elif kind == 'float-put':\n        pay = max(path) - final\n    elif kind == 'fixed-call':\n        pay = max(max(path) - strike, 0) if final > strike else 0\n    else:\n        pay = max(strike - min(path), 0)\n    return round(pay, 6)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression fixed call floor 1', ['fixed-call', [100.0, 90.0, 99.0], 115], 0], ['regression fixed call floor 2', ['fixed-call', [100.0, 90.0, 99.0, 94.05], 105], 0], ['partial repair probe 1', ['fixed-call', [100.0, 104.0, 98.8, 93.86, 89.17], 100], 4.0], ['partial repair probe 2', ['fixed-call', [100.0, 95.0, 90.25, 93.86, 89.17, 89.17, 89.17], 90], 10.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['boundary control 2', ['float-call', [90.0, 100.0, 95.0], 100], 5.0], ['normal control 1', ['float-put', [114.4, 110.0, 100.0], 100], 14.4], ['normal control 2', ['fixed-put', [100.0, 104.0, 98.8, 102.75], 100], 1.2]], [['regression fixed call floor 1', ['fixed-call', [100.0, 110.0, 104.5], 115], 0], ['regression fixed call floor 2', ['fixed-call', [100.0, 100.0], 115], 0], ['partial repair probe 1', ['fixed-call', [102.96, 102.96, 114.4, 104.0, 100.0, 100.0], 105], 9.4], ['partial repair probe 2', ['fixed-call', [100.0, 95.0, 104.5, 104.5, 94.05, 89.35, 98.28], 100], 4.5], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['boundary control 2', ['float-call', [90.0, 100.0, 95.0], 100], 5.0], ['normal control 1', ['fixed-put', [100.0, 90.0, 85.5, 81.22, 84.47, 84.47], 100], 18.78], ['normal control 2', ['fixed-put', [100.0, 104.0, 98.8, 93.86, 89.17], 100], 10.83]], [['regression fixed call floor 1', ['fixed-call', [100.0, 110.0], 115], 0], ['regression fixed call floor 2', ['fixed-call', [100.0, 104.0, 104.0, 98.8, 88.92, 92.48], 105], 0], ['partial repair probe 1', ['fixed-call', [104.0, 104.0, 100.0], 100], 4.0], ['partial repair probe 2', ['fixed-call', [100.0, 90.0, 81.0, 81.0, 84.24, 80.03], 90], 10.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['boundary control 2', ['float-call', [90.0, 100.0, 95.0], 100], 5.0], ['normal control 1', ['float-put', [100.0, 95.0, 98.8, 88.92, 84.47, 80.25], 100], 19.75], ['normal control 2', ['fixed-put', [100.0, 100.0, 110.0, 110.0, 104.5, 108.68, 108.68], 115], 15.0]], [['regression fixed call floor 1', ['fixed-call', [94.05, 94.05, 85.5, 90.0, 100.0], 105], 0], ['regression fixed call floor 2', ['fixed-call', [100.0, 95.0, 95.0, 95.0, 104.5, 94.05], 115], 0], ['partial repair probe 1', ['fixed-call', [100.0, 104.0, 98.8], 100], 4.0], ['partial repair probe 2', ['fixed-call', [100.0, 90.0, 81.0, 76.95], 90], 10.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['boundary control 2', ['float-call', [90.0, 100.0, 95.0], 100], 5.0], ['normal control 1', ['float-call', [100.0, 95.0, 95.0, 98.8, 108.68, 97.81], 100], 2.81], ['normal control 2', ['fixed-put', [100.0, 90.0, 99.0, 99.0], 105], 15.0]], [['regression fixed call floor 1', ['fixed-call', [100.0, 100.0, 90.0, 85.5, 76.95], 115], 0], ['regression fixed call floor 2', ['fixed-call', [100.0, 95.0, 95.0, 85.5, 81.22, 81.22, 81.22], 115], 0], ['partial repair probe 1', ['fixed-call', [100.0, 110.0, 99.0, 94.05, 94.05, 84.64, 76.18], 90], 20.0], ['partial repair probe 2', ['fixed-call', [100.0, 95.0, 90.25, 81.23], 90], 10.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['boundary control 2', ['float-call', [90.0, 100.0, 95.0], 100], 5.0], ['normal control 1', ['float-put', [100.0, 110.0, 121.0, 108.9], 100], 12.1], ['normal control 2', ['fixed-put', [100.0, 104.0], 100], 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":"47854b5c85ffc4601b9da33417d0c4753cd9a64541ca1cd3a9143cd864dc41ff","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(kind, path, strike):\n    final = path[-1]\n    if kind == 'float-call':\n        pay = final - min(path)\n    elif kind == 'float-put':\n        pay = max(path) - final\n    elif kind == 'fixed-call':\n        pay = max(path) - strike\n    else:\n        pay = max(strike - min(path), 0)\n    return round(pay, 6)\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression fixed call floor 1', ['fixed-call', [100.0, 90.0, 99.0], 115], 0], ['regression fixed call floor 2', ['fixed-call', [100.0, 90.0, 99.0, 94.05], 105], 0], ['partial repair probe 1', ['fixed-call', [100.0, 104.0, 98.8, 93.86, 89.17], 100], 4.0], ['partial repair probe 2', ['fixed-call', [100.0, 95.0, 90.25, 93.86, 89.17, 89.17, 89.17], 90], 10.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['boundary control 2', ['float-call', [90.0, 100.0, 95.0], 100], 5.0], ['normal control 1', ['float-put', [114.4, 110.0, 100.0], 100], 14.4], ['normal control 2', ['fixed-put', [100.0, 104.0, 98.8, 102.75], 100], 1.2]], [['regression fixed call floor 1', ['fixed-call', [100.0, 110.0, 104.5], 115], 0], ['regression fixed call floor 2', ['fixed-call', [100.0, 100.0], 115], 0], ['partial repair probe 1', ['fixed-call', [102.96, 102.96, 114.4, 104.0, 100.0, 100.0], 105], 9.4], ['partial repair probe 2', ['fixed-call', [100.0, 95.0, 104.5, 104.5, 94.05, 89.35, 98.28], 100], 4.5], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['boundary control 2', ['float-call', [90.0, 100.0, 95.0], 100], 5.0], ['normal control 1', ['fixed-put', [100.0, 90.0, 85.5, 81.22, 84.47, 84.47], 100], 18.78], ['normal control 2', ['fixed-put', [100.0, 104.0, 98.8, 93.86, 89.17], 100], 10.83]], [['regression fixed call floor 1', ['fixed-call', [100.0, 110.0], 115], 0], ['regression fixed call floor 2', ['fixed-call', [100.0, 104.0, 104.0, 98.8, 88.92, 92.48], 105], 0], ['partial repair probe 1', ['fixed-call', [104.0, 104.0, 100.0], 100], 4.0], ['partial repair probe 2', ['fixed-call', [100.0, 90.0, 81.0, 81.0, 84.24, 80.03], 90], 10.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['boundary control 2', ['float-call', [90.0, 100.0, 95.0], 100], 5.0], ['normal control 1', ['float-put', [100.0, 95.0, 98.8, 88.92, 84.47, 80.25], 100], 19.75], ['normal control 2', ['fixed-put', [100.0, 100.0, 110.0, 110.0, 104.5, 108.68, 108.68], 115], 15.0]], [['regression fixed call floor 1', ['fixed-call', [94.05, 94.05, 85.5, 90.0, 100.0], 105], 0], ['regression fixed call floor 2', ['fixed-call', [100.0, 95.0, 95.0, 95.0, 104.5, 94.05], 115], 0], ['partial repair probe 1', ['fixed-call', [100.0, 104.0, 98.8], 100], 4.0], ['partial repair probe 2', ['fixed-call', [100.0, 90.0, 81.0, 76.95], 90], 10.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['boundary control 2', ['float-call', [90.0, 100.0, 95.0], 100], 5.0], ['normal control 1', ['float-call', [100.0, 95.0, 95.0, 98.8, 108.68, 97.81], 100], 2.81], ['normal control 2', ['fixed-put', [100.0, 90.0, 99.0, 99.0], 105], 15.0]], [['regression fixed call floor 1', ['fixed-call', [100.0, 100.0, 90.0, 85.5, 76.95], 115], 0], ['regression fixed call floor 2', ['fixed-call', [100.0, 95.0, 95.0, 85.5, 81.22, 81.22, 81.22], 115], 0], ['partial repair probe 1', ['fixed-call', [100.0, 110.0, 99.0, 94.05, 94.05, 84.64, 76.18], 90], 20.0], ['partial repair probe 2', ['fixed-call', [100.0, 95.0, 90.25, 81.23], 90], 10.0], ['boundary control 1', ['fixed-put', [100.0, 80.0, 100.0], 100], 20.0], ['boundary control 2', ['float-call', [90.0, 100.0, 95.0], 100], 5.0], ['normal control 1', ['float-put', [100.0, 110.0, 121.0, 108.9], 100], 12.1], ['normal control 2', ['fixed-put', [100.0, 104.0], 100], 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-lookback-payoff-fixed-call-floor","generated_at":"2026-09-29T14:46:57.551624+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 zero floor is missing.","sha256":"8373d6173bcfc535286a63ff759d64aeb51913aa2e85be3ce4a3df0c30dcacf0","title":"Lookback option payoff: the fixed-strike call payoff can go negative · 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":41.58,"exit_code":1,"observations":[{"actual":0,"check":"regression fixed call floor 1","expected":0,"passed":true},{"actual":0,"check":"regression fixed call floor 2","expected":0,"passed":true},{"actual":0,"check":"partial repair probe 1","expected":4.0,"passed":false},{"actual":0,"check":"partial repair probe 2","expected":10.0,"passed":false},{"actual":20.0,"check":"boundary control 1","expected":20.0,"passed":true},{"actual":5.0,"check":"boundary control 2","expected":5.0,"passed":true},{"actual":14.4,"check":"normal control 1","expected":14.4,"passed":true},{"actual":1.2,"check":"normal control 2","expected":1.2,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression fixed call floor 1\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"regression fixed call floor 2\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"partial repair probe 1\", \"actual\": 0, \"expected\": 4.0, \"passed\": false}, {\"check\": \"partial repair probe 2\", \"actual\": 0, \"expected\": 10.0, \"passed\": false}, {\"check\": \"boundary control 1\", \"actual\": 20.0, \"expected\": 20.0, \"passed\": true}, {\"check\": \"boundary control 2\", \"actual\": 5.0, \"expected\": 5.0, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 14.4, \"expected\": 14.4, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 1.2, \"expected\": 1.2, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.81,"exit_code":1,"observations":[{"actual":-15.0,"check":"regression fixed call floor 1","expected":0,"passed":false},{"actual":-5.0,"check":"regression fixed call floor 2","expected":0,"passed":false},{"actual":4.0,"check":"partial repair probe 1","expected":4.0,"passed":true},{"actual":10.0,"check":"partial repair probe 2","expected":10.0,"passed":true},{"actual":20.0,"check":"boundary control 1","expected":20.0,"passed":true},{"actual":5.0,"check":"boundary control 2","expected":5.0,"passed":true},{"actual":14.4,"check":"normal control 1","expected":14.4,"passed":true},{"actual":1.2,"check":"normal control 2","expected":1.2,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression fixed call floor 1\", \"actual\": -15.0, \"expected\": 0, \"passed\": false}, {\"check\": \"regression fixed call floor 2\", \"actual\": -5.0, \"expected\": 0, \"passed\": false}, {\"check\": \"partial repair probe 1\", \"actual\": 4.0, \"expected\": 4.0, \"passed\": true}, {\"check\": \"partial repair probe 2\", \"actual\": 10.0, \"expected\": 10.0, \"passed\": true}, {\"check\": \"boundary control 1\", \"actual\": 20.0, \"expected\": 20.0, \"passed\": true}, {\"check\": \"boundary control 2\", \"actual\": 5.0, \"expected\": 5.0, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 14.4, \"expected\": 14.4, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 1.2, \"expected\": 1.2, \"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."}}