{"abstract":"A group of 15 receives a free ticket although only 14 would then be paying.","category":"Airline fare rule evaluation","checks":11,"contract":"Input {'pax','min_group','free_per','fare','disc_pct'}. Below min_group (total travellers) no discount and no free tickets. Otherwise one free ticket per free_per paying travellers (free = pax // (free_per+1)); each paying fare = fare*(100-disc)/100 rounded to cents, then multiplied. Return [paying, free, total r2].","contract_signature":"x","evaluation_group":"w2-airline-fare-rules-group-fare-conductor","failed_approach":"Subtracting one traveller first still over-grants for larger groups.","family":"w2-airline-fare-rules-group-fare-conductor-free-ticket-divisor","id":"FA-66601","implementations":{"attempt":{"sha256":"8e26196b276cdaf107af0451d79f40786b0f19dcea17c40815bf2a97c03925ec","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    n = x['pax']\n    if n < x['min_group']:\n        per = round(x['fare'], 2)\n        return [n, 0, round(per * n, 2)]\n    free = (n - 1) // x['free_per']\n    paying = n - free\n    per = round(x['fare'] * (100 - x['disc_pct']) / 100, 2)\n    return [paying, free, round(per * paying, 2)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['exactly minimum group', {'pax': 10, 'min_group': 10, 'free_per': 15, 'fare': 249.99, 'disc_pct': 13}, [10, 0, 2174.9]], ['sixteen travellers one free', {'pax': 16, 'min_group': 10, 'free_per': 15, 'fare': 199.95, 'disc_pct': 10}, [15, 1, 2699.4]], ['fifteen travellers none free', {'pax': 15, 'min_group': 10, 'free_per': 15, 'fare': 200.95, 'disc_pct': 10}, [15, 0, 2712.75]], ['small party', {'pax': 9, 'min_group': 10, 'free_per': 15, 'fare': 120.0, 'disc_pct': 15}, [9, 0, 1080.0]], ['large group two free', {'pax': 35, 'min_group': 10, 'free_per': 15, 'fare': 333.33, 'disc_pct': 7}, [33, 2, 10230.0]], ['generous free rule small party', {'pax': 12, 'min_group': 20, 'free_per': 5, 'fare': 101.0, 'disc_pct': 10}, [12, 0, 1212.0]], ['rounding per passenger', {'pax': 21, 'min_group': 20, 'free_per': 9, 'fare': 99.99, 'disc_pct': 15}, [19, 2, 1614.81]], ['sampled case 1', {'pax': 13, 'min_group': 20, 'free_per': 5, 'fare': 244.64, 'disc_pct': 12}, [13, 0, 3180.32]], ['sampled case 2', {'pax': 24, 'min_group': 20, 'free_per': 5, 'fare': 241.52, 'disc_pct': 20}, [20, 4, 3864.4]], ['sampled case 3', {'pax': 59, 'min_group': 20, 'free_per': 10, 'fare': 154.51, 'disc_pct': 15}, [54, 5, 7091.82]], ['regression: free ticket entitlement', {'pax': 31, 'min_group': 20, 'free_per': 15, 'fare': 530.51, 'disc_pct': 12}, [30, 1, 14005.5]]], [['exactly minimum group', {'pax': 10, 'min_group': 10, 'free_per': 15, 'fare': 249.99, 'disc_pct': 14}, [10, 0, 2149.9]], ['sixteen travellers one free', {'pax': 16, 'min_group': 10, 'free_per': 15, 'fare': 199.95, 'disc_pct': 10}, [15, 1, 2699.4]], ['fifteen travellers none free', {'pax': 15, 'min_group': 10, 'free_per': 15, 'fare': 201.95, 'disc_pct': 10}, [15, 0, 2726.25]], ['small party', {'pax': 8, 'min_group': 10, 'free_per': 15, 'fare': 120.0, 'disc_pct': 15}, [8, 0, 960.0]], ['large group two free', {'pax': 36, 'min_group': 10, 'free_per': 15, 'fare': 333.33, 'disc_pct': 7}, [34, 2, 10540.0]], ['generous free rule small party', {'pax': 12, 'min_group': 20, 'free_per': 5, 'fare': 102.0, 'disc_pct': 10}, [12, 0, 1224.0]], ['rounding per passenger', {'pax': 21, 'min_group': 20, 'free_per': 9, 'fare': 99.99, 'disc_pct': 15}, [19, 2, 1614.81]], ['sampled case 1', {'pax': 24, 'min_group': 15, 'free_per': 5, 'fare': 165.48, 'disc_pct': 15}, [20, 4, 2813.2]], ['sampled case 2', {'pax': 50, 'min_group': 20, 'free_per': 15, 'fare': 118.08, 'disc_pct': 10}, [47, 3, 4994.69]], ['sampled case 3', {'pax': 24, 'min_group': 20, 'free_per': 9, 'fare': 198.91, 'disc_pct': 7}, [22, 2, 4069.78]], ['regression: free ticket entitlement', {'pax': 47, 'min_group': 10, 'free_per': 15, 'fare': 513.47, 'disc_pct': 20}, [45, 2, 18485.1]]], [['exactly minimum group', {'pax': 10, 'min_group': 10, 'free_per': 15, 'fare': 249.99, 'disc_pct': 15}, [10, 0, 2124.9]], ['sixteen travellers one free', {'pax': 16, 'min_group': 10, 'free_per': 15, 'fare': 199.95, 'disc_pct': 10}, [15, 1, 2699.4]], ['fifteen travellers none free', {'pax': 15, 'min_group': 10, 'free_per': 15, 'fare': 202.95, 'disc_pct': 10}, [15, 0, 2739.9]], ['small party', {'pax': 9, 'min_group': 10, 'free_per': 15, 'fare': 120.0, 'disc_pct': 15}, [9, 0, 1080.0]], ['large group two free', {'pax': 37, 'min_group': 10, 'free_per': 15, 'fare': 333.33, 'disc_pct': 7}, [35, 2, 10850.0]], ['generous free rule small party', {'pax': 12, 'min_group': 20, 'free_per': 5, 'fare': 103.0, 'disc_pct': 10}, [12, 0, 1236.0]], ['rounding per passenger', {'pax': 21, 'min_group': 20, 'free_per': 9, 'fare': 99.99, 'disc_pct': 15}, [19, 2, 1614.81]], ['sampled case 1', {'pax': 28, 'min_group': 20, 'free_per': 9, 'fare': 148.43, 'disc_pct': 15}, [26, 2, 3280.42]], ['sampled case 2', {'pax': 19, 'min_group': 10, 'free_per': 10, 'fare': 244.1, 'disc_pct': 12}, [18, 1, 3866.58]], ['sampled case 3', {'pax': 37, 'min_group': 20, 'free_per': 15, 'fare': 79.12, 'disc_pct': 5}, [35, 2, 2630.6]]], [['exactly minimum group', {'pax': 10, 'min_group': 10, 'free_per': 15, 'fare': 249.99, 'disc_pct': 16}, [10, 0, 2099.9]], ['sixteen travellers one free', {'pax': 16, 'min_group': 10, 'free_per': 15, 'fare': 199.95, 'disc_pct': 10}, [15, 1, 2699.4]], ['fifteen travellers none free', {'pax': 15, 'min_group': 10, 'free_per': 15, 'fare': 203.95, 'disc_pct': 10}, [15, 0, 2753.4]], ['small party', {'pax': 8, 'min_group': 10, 'free_per': 15, 'fare': 120.0, 'disc_pct': 15}, [8, 0, 960.0]], ['large group two free', {'pax': 38, 'min_group': 10, 'free_per': 15, 'fare': 333.33, 'disc_pct': 7}, [36, 2, 11160.0]], ['generous free rule small party', {'pax': 12, 'min_group': 20, 'free_per': 5, 'fare': 104.0, 'disc_pct': 10}, [12, 0, 1248.0]], ['rounding per passenger', {'pax': 21, 'min_group': 20, 'free_per': 9, 'fare': 99.99, 'disc_pct': 15}, [19, 2, 1614.81]], ['sampled case 1', {'pax': 17, 'min_group': 20, 'free_per': 10, 'fare': 198.81, 'disc_pct': 7}, [17, 0, 3379.77]], ['sampled case 2', {'pax': 19, 'min_group': 15, 'free_per': 10, 'fare': 304.43, 'disc_pct': 5}, [18, 1, 5205.78]], ['sampled case 3', {'pax': 23, 'min_group': 15, 'free_per': 10, 'fare': 154.19, 'disc_pct': 7}, [21, 2, 3011.4]], ['regression: free ticket entitlement', {'pax': 38, 'min_group': 15, 'free_per': 5, 'fare': 383.79, 'disc_pct': 10}, [32, 6, 11053.12]]], [['exactly minimum group', {'pax': 10, 'min_group': 10, 'free_per': 15, 'fare': 249.99, 'disc_pct': 17}, [10, 0, 2074.9]], ['sixteen travellers one free', {'pax': 16, 'min_group': 10, 'free_per': 15, 'fare': 199.95, 'disc_pct': 10}, [15, 1, 2699.4]], ['fifteen travellers none free', {'pax': 15, 'min_group': 10, 'free_per': 15, 'fare': 204.95, 'disc_pct': 10}, [15, 0, 2766.9]], ['small party', {'pax': 9, 'min_group': 10, 'free_per': 15, 'fare': 120.0, 'disc_pct': 15}, [9, 0, 1080.0]], ['large group two free', {'pax': 39, 'min_group': 10, 'free_per': 15, 'fare': 333.33, 'disc_pct': 7}, [37, 2, 11470.0]], ['generous free rule small party', {'pax': 12, 'min_group': 20, 'free_per': 5, 'fare': 105.0, 'disc_pct': 10}, [12, 0, 1260.0]], ['rounding per passenger', {'pax': 21, 'min_group': 20, 'free_per': 9, 'fare': 99.99, 'disc_pct': 15}, [19, 2, 1614.81]], ['sampled case 1', {'pax': 30, 'min_group': 15, 'free_per': 15, 'fare': 348.05, 'disc_pct': 12}, [29, 1, 8882.12]], ['sampled case 2', {'pax': 31, 'min_group': 15, 'free_per': 9, 'fare': 312.49, 'disc_pct': 12}, [28, 3, 7699.72]], ['sampled case 3', {'pax': 59, 'min_group': 20, 'free_per': 9, 'fare': 68.44, 'disc_pct': 10}, [54, 5, 3326.4]]]]\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":"d3539ef5b491b586bcebc63218096fe5fce66a6d573501df086f8c95982a6e9d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    n = x['pax']\n    if n < x['min_group']:\n        per = round(x['fare'], 2)\n        return [n, 0, round(per * n, 2)]\n    free = n // x['free_per']\n    paying = n - free\n    per = round(x['fare'] * (100 - x['disc_pct']) / 100, 2)\n    return [paying, free, round(per * paying, 2)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['exactly minimum group', {'pax': 10, 'min_group': 10, 'free_per': 15, 'fare': 249.99, 'disc_pct': 13}, [10, 0, 2174.9]], ['sixteen travellers one free', {'pax': 16, 'min_group': 10, 'free_per': 15, 'fare': 199.95, 'disc_pct': 10}, [15, 1, 2699.4]], ['fifteen travellers none free', {'pax': 15, 'min_group': 10, 'free_per': 15, 'fare': 200.95, 'disc_pct': 10}, [15, 0, 2712.75]], ['small party', {'pax': 9, 'min_group': 10, 'free_per': 15, 'fare': 120.0, 'disc_pct': 15}, [9, 0, 1080.0]], ['large group two free', {'pax': 35, 'min_group': 10, 'free_per': 15, 'fare': 333.33, 'disc_pct': 7}, [33, 2, 10230.0]], ['generous free rule small party', {'pax': 12, 'min_group': 20, 'free_per': 5, 'fare': 101.0, 'disc_pct': 10}, [12, 0, 1212.0]], ['rounding per passenger', {'pax': 21, 'min_group': 20, 'free_per': 9, 'fare': 99.99, 'disc_pct': 15}, [19, 2, 1614.81]], ['sampled case 1', {'pax': 13, 'min_group': 20, 'free_per': 5, 'fare': 244.64, 'disc_pct': 12}, [13, 0, 3180.32]], ['sampled case 2', {'pax': 24, 'min_group': 20, 'free_per': 5, 'fare': 241.52, 'disc_pct': 20}, [20, 4, 3864.4]], ['sampled case 3', {'pax': 59, 'min_group': 20, 'free_per': 10, 'fare': 154.51, 'disc_pct': 15}, [54, 5, 7091.82]], ['regression: free ticket entitlement', {'pax': 31, 'min_group': 20, 'free_per': 15, 'fare': 530.51, 'disc_pct': 12}, [30, 1, 14005.5]]], [['exactly minimum group', {'pax': 10, 'min_group': 10, 'free_per': 15, 'fare': 249.99, 'disc_pct': 14}, [10, 0, 2149.9]], ['sixteen travellers one free', {'pax': 16, 'min_group': 10, 'free_per': 15, 'fare': 199.95, 'disc_pct': 10}, [15, 1, 2699.4]], ['fifteen travellers none free', {'pax': 15, 'min_group': 10, 'free_per': 15, 'fare': 201.95, 'disc_pct': 10}, [15, 0, 2726.25]], ['small party', {'pax': 8, 'min_group': 10, 'free_per': 15, 'fare': 120.0, 'disc_pct': 15}, [8, 0, 960.0]], ['large group two free', {'pax': 36, 'min_group': 10, 'free_per': 15, 'fare': 333.33, 'disc_pct': 7}, [34, 2, 10540.0]], ['generous free rule small party', {'pax': 12, 'min_group': 20, 'free_per': 5, 'fare': 102.0, 'disc_pct': 10}, [12, 0, 1224.0]], ['rounding per passenger', {'pax': 21, 'min_group': 20, 'free_per': 9, 'fare': 99.99, 'disc_pct': 15}, [19, 2, 1614.81]], ['sampled case 1', {'pax': 24, 'min_group': 15, 'free_per': 5, 'fare': 165.48, 'disc_pct': 15}, [20, 4, 2813.2]], ['sampled case 2', {'pax': 50, 'min_group': 20, 'free_per': 15, 'fare': 118.08, 'disc_pct': 10}, [47, 3, 4994.69]], ['sampled case 3', {'pax': 24, 'min_group': 20, 'free_per': 9, 'fare': 198.91, 'disc_pct': 7}, [22, 2, 4069.78]], ['regression: free ticket entitlement', {'pax': 47, 'min_group': 10, 'free_per': 15, 'fare': 513.47, 'disc_pct': 20}, [45, 2, 18485.1]]], [['exactly minimum group', {'pax': 10, 'min_group': 10, 'free_per': 15, 'fare': 249.99, 'disc_pct': 15}, [10, 0, 2124.9]], ['sixteen travellers one free', {'pax': 16, 'min_group': 10, 'free_per': 15, 'fare': 199.95, 'disc_pct': 10}, [15, 1, 2699.4]], ['fifteen travellers none free', {'pax': 15, 'min_group': 10, 'free_per': 15, 'fare': 202.95, 'disc_pct': 10}, [15, 0, 2739.9]], ['small party', {'pax': 9, 'min_group': 10, 'free_per': 15, 'fare': 120.0, 'disc_pct': 15}, [9, 0, 1080.0]], ['large group two free', {'pax': 37, 'min_group': 10, 'free_per': 15, 'fare': 333.33, 'disc_pct': 7}, [35, 2, 10850.0]], ['generous free rule small party', {'pax': 12, 'min_group': 20, 'free_per': 5, 'fare': 103.0, 'disc_pct': 10}, [12, 0, 1236.0]], ['rounding per passenger', {'pax': 21, 'min_group': 20, 'free_per': 9, 'fare': 99.99, 'disc_pct': 15}, [19, 2, 1614.81]], ['sampled case 1', {'pax': 28, 'min_group': 20, 'free_per': 9, 'fare': 148.43, 'disc_pct': 15}, [26, 2, 3280.42]], ['sampled case 2', {'pax': 19, 'min_group': 10, 'free_per': 10, 'fare': 244.1, 'disc_pct': 12}, [18, 1, 3866.58]], ['sampled case 3', {'pax': 37, 'min_group': 20, 'free_per': 15, 'fare': 79.12, 'disc_pct': 5}, [35, 2, 2630.6]]], [['exactly minimum group', {'pax': 10, 'min_group': 10, 'free_per': 15, 'fare': 249.99, 'disc_pct': 16}, [10, 0, 2099.9]], ['sixteen travellers one free', {'pax': 16, 'min_group': 10, 'free_per': 15, 'fare': 199.95, 'disc_pct': 10}, [15, 1, 2699.4]], ['fifteen travellers none free', {'pax': 15, 'min_group': 10, 'free_per': 15, 'fare': 203.95, 'disc_pct': 10}, [15, 0, 2753.4]], ['small party', {'pax': 8, 'min_group': 10, 'free_per': 15, 'fare': 120.0, 'disc_pct': 15}, [8, 0, 960.0]], ['large group two free', {'pax': 38, 'min_group': 10, 'free_per': 15, 'fare': 333.33, 'disc_pct': 7}, [36, 2, 11160.0]], ['generous free rule small party', {'pax': 12, 'min_group': 20, 'free_per': 5, 'fare': 104.0, 'disc_pct': 10}, [12, 0, 1248.0]], ['rounding per passenger', {'pax': 21, 'min_group': 20, 'free_per': 9, 'fare': 99.99, 'disc_pct': 15}, [19, 2, 1614.81]], ['sampled case 1', {'pax': 17, 'min_group': 20, 'free_per': 10, 'fare': 198.81, 'disc_pct': 7}, [17, 0, 3379.77]], ['sampled case 2', {'pax': 19, 'min_group': 15, 'free_per': 10, 'fare': 304.43, 'disc_pct': 5}, [18, 1, 5205.78]], ['sampled case 3', {'pax': 23, 'min_group': 15, 'free_per': 10, 'fare': 154.19, 'disc_pct': 7}, [21, 2, 3011.4]], ['regression: free ticket entitlement', {'pax': 38, 'min_group': 15, 'free_per': 5, 'fare': 383.79, 'disc_pct': 10}, [32, 6, 11053.12]]], [['exactly minimum group', {'pax': 10, 'min_group': 10, 'free_per': 15, 'fare': 249.99, 'disc_pct': 17}, [10, 0, 2074.9]], ['sixteen travellers one free', {'pax': 16, 'min_group': 10, 'free_per': 15, 'fare': 199.95, 'disc_pct': 10}, [15, 1, 2699.4]], ['fifteen travellers none free', {'pax': 15, 'min_group': 10, 'free_per': 15, 'fare': 204.95, 'disc_pct': 10}, [15, 0, 2766.9]], ['small party', {'pax': 9, 'min_group': 10, 'free_per': 15, 'fare': 120.0, 'disc_pct': 15}, [9, 0, 1080.0]], ['large group two free', {'pax': 39, 'min_group': 10, 'free_per': 15, 'fare': 333.33, 'disc_pct': 7}, [37, 2, 11470.0]], ['generous free rule small party', {'pax': 12, 'min_group': 20, 'free_per': 5, 'fare': 105.0, 'disc_pct': 10}, [12, 0, 1260.0]], ['rounding per passenger', {'pax': 21, 'min_group': 20, 'free_per': 9, 'fare': 99.99, 'disc_pct': 15}, [19, 2, 1614.81]], ['sampled case 1', {'pax': 30, 'min_group': 15, 'free_per': 15, 'fare': 348.05, 'disc_pct': 12}, [29, 1, 8882.12]], ['sampled case 2', {'pax': 31, 'min_group': 15, 'free_per': 9, 'fare': 312.49, 'disc_pct': 12}, [28, 3, 7699.72]], ['sampled case 3', {'pax': 59, 'min_group': 20, 'free_per': 9, 'fare': 68.44, 'disc_pct': 10}, [54, 5, 3326.4]]]]\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 stipulated toy fare-rule contract with invented constants; it is not an ATPCO or carrier tariff implementation and makes no claim of industry-standard conformance. 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-airline-fare-rules-group-fare-conductor-free-ticket-divisor","generated_at":"2026-09-29T14:47:45.300402+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Group fares apply a discount once a minimum size is reached and grant tour-conductor tickets that must not themselves count as paying passengers.","root_cause":"The entitlement divides the whole party by free_per, counting the free traveller as paying.","sha256":"edfad7d4f632c18d35831590f9da459fa4155d87e7d86596f3aee51c801640f3","title":"Free tickets counted against total travellers · 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":38.029,"exit_code":1,"observations":[{"actual":[10,0,2174.9],"check":"exactly minimum group","expected":[10,0,2174.9],"passed":true},{"actual":[15,1,2699.4],"check":"sixteen travellers one free","expected":[15,1,2699.4],"passed":true},{"actual":[15,0,2712.75],"check":"fifteen travellers none free","expected":[15,0,2712.75],"passed":true},{"actual":[9,0,1080.0],"check":"small party","expected":[9,0,1080.0],"passed":true},{"actual":[33,2,10230.0],"check":"large group two free","expected":[33,2,10230.0],"passed":true},{"actual":[12,0,1212.0],"check":"generous free rule small party","expected":[12,0,1212.0],"passed":true},{"actual":[19,2,1614.81],"check":"rounding per passenger","expected":[19,2,1614.81],"passed":true},{"actual":[13,0,3180.32],"check":"sampled case 1","expected":[13,0,3180.32],"passed":true},{"actual":[20,4,3864.4],"check":"sampled case 2","expected":[20,4,3864.4],"passed":true},{"actual":[54,5,7091.82],"check":"sampled case 3","expected":[54,5,7091.82],"passed":true},{"actual":[29,2,13538.65],"check":"regression: free ticket entitlement","expected":[30,1,14005.5],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"exactly minimum group\", \"actual\": [10, 0, 2174.9], \"expected\": [10, 0, 2174.9], \"passed\": true}, {\"check\": \"sixteen travellers one free\", \"actual\": [15, 1, 2699.4], \"expected\": [15, 1, 2699.4], \"passed\": true}, {\"check\": \"fifteen travellers none free\", \"actual\": [15, 0, 2712.75], \"expected\": [15, 0, 2712.75], \"passed\": true}, {\"check\": \"small party\", \"actual\": [9, 0, 1080.0], \"expected\": [9, 0, 1080.0], \"passed\": true}, {\"check\": \"large group two free\", \"actual\": [33, 2, 10230.0], \"expected\": [33, 2, 10230.0], \"passed\": true}, {\"check\": \"generous free rule small party\", \"actual\": [12, 0, 1212.0], \"expected\": [12, 0, 1212.0], \"passed\": true}, {\"check\": \"rounding per passenger\", \"actual\": [19, 2, 1614.81], \"expected\": [19, 2, 1614.81], \"passed\": true}, {\"check\": \"sampled case 1\", \"actual\": [13, 0, 3180.32], \"expected\": [13, 0, 3180.32], \"passed\": true}, {\"check\": \"sampled case 2\", \"actual\": [20, 4, 3864.4], \"expected\": [20, 4, 3864.4], \"passed\": true}, {\"check\": \"sampled case 3\", \"actual\": [54, 5, 7091.82], \"expected\": [54, 5, 7091.82], \"passed\": true}, {\"check\": \"regression: free ticket entitlement\", \"actual\": [29, 2, 13538.65], \"expected\": [30, 1, 14005.5], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.669,"exit_code":1,"observations":[{"actual":[10,0,2174.9],"check":"exactly minimum group","expected":[10,0,2174.9],"passed":true},{"actual":[15,1,2699.4],"check":"sixteen travellers one free","expected":[15,1,2699.4],"passed":true},{"actual":[14,1,2531.9],"check":"fifteen travellers none free","expected":[15,0,2712.75],"passed":false},{"actual":[9,0,1080.0],"check":"small party","expected":[9,0,1080.0],"passed":true},{"actual":[33,2,10230.0],"check":"large group two free","expected":[33,2,10230.0],"passed":true},{"actual":[12,0,1212.0],"check":"generous free rule small party","expected":[12,0,1212.0],"passed":true},{"actual":[19,2,1614.81],"check":"rounding per passenger","expected":[19,2,1614.81],"passed":true},{"actual":[13,0,3180.32],"check":"sampled case 1","expected":[13,0,3180.32],"passed":true},{"actual":[20,4,3864.4],"check":"sampled case 2","expected":[20,4,3864.4],"passed":true},{"actual":[54,5,7091.82],"check":"sampled case 3","expected":[54,5,7091.82],"passed":true},{"actual":[29,2,13538.65],"check":"regression: free ticket entitlement","expected":[30,1,14005.5],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"exactly minimum group\", \"actual\": [10, 0, 2174.9], \"expected\": [10, 0, 2174.9], \"passed\": true}, {\"check\": \"sixteen travellers one free\", \"actual\": [15, 1, 2699.4], \"expected\": [15, 1, 2699.4], \"passed\": true}, {\"check\": \"fifteen travellers none free\", \"actual\": [14, 1, 2531.9], \"expected\": [15, 0, 2712.75], \"passed\": false}, {\"check\": \"small party\", \"actual\": [9, 0, 1080.0], \"expected\": [9, 0, 1080.0], \"passed\": true}, {\"check\": \"large group two free\", \"actual\": [33, 2, 10230.0], \"expected\": [33, 2, 10230.0], \"passed\": true}, {\"check\": \"generous free rule small party\", \"actual\": [12, 0, 1212.0], \"expected\": [12, 0, 1212.0], \"passed\": true}, {\"check\": \"rounding per passenger\", \"actual\": [19, 2, 1614.81], \"expected\": [19, 2, 1614.81], \"passed\": true}, {\"check\": \"sampled case 1\", \"actual\": [13, 0, 3180.32], \"expected\": [13, 0, 3180.32], \"passed\": true}, {\"check\": \"sampled case 2\", \"actual\": [20, 4, 3864.4], \"expected\": [20, 4, 3864.4], \"passed\": true}, {\"check\": \"sampled case 3\", \"actual\": [54, 5, 7091.82], \"expected\": [54, 5, 7091.82], \"passed\": true}, {\"check\": \"regression: free ticket entitlement\", \"actual\": [29, 2, 13538.65], \"expected\": [30, 1, 14005.5], \"passed\": false}], \"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."}}