{"abstract":"Former members keep the surge cap after lapsing.","category":"Ride-hailing fare and surge pricing","checks":7,"contract":"Membership is active if the flag is set and today is on or before the expiry day. Active members have surge capped at 2.0x (20 tenths) and, when the (capped) surge is at most 1.5x, get 10% off the surged fare (floored); fees are never discounted. Return the amount due in cents.","evaluation_group":"w2-ride-hailing-fare-surge-membership-benefits","failed_approach":"A strict comparison ends the membership a day early.","family":"w2-ride-hailing-fare-surge-membership-benefits-membership-expiry","id":"FA-85806","implementations":{"attempt":{"sha256":"ea4c1d7a47a9fd78b050a9f66bcb84cead20ac9ed2fc4a00efb92fb783c10536","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(fare, member, now):\n    active = member['active'] and now < member['expires']\n    surge = fare['surge']\n    if active:\n        surge = min(surge, 20)\n    surged = (fare['core'] * surge * 2 + 10) // 20\n    disc = 0\n    if active and surge <= 15:\n        disc = surged // 10\n    return surged - disc + fare['fees']\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: membership expiry',\n   [{'core': 2555, 'fees': 245, 'surge': 10}, {'active': True, 'expires': 100}, 101], 2800),\n  ('partial repair probe: membership expiry',\n   [{'core': 2555, 'fees': 0, 'surge': 25}, {'active': True, 'expires': 100}, 100], 5110),\n  ('second regression', [{'core': 1234, 'fees': 0, 'surge': 30}, {'active': True, 'expires': 100}, 100],\n   2468),\n  ('normal control 1', [{'core': 2555, 'fees': 199, 'surge': 20}, {'active': True, 'expires': 100}, 100],\n   5309),\n  ('normal control 2', [{'core': 999, 'fees': 250, 'surge': 20}, {'active': True, 'expires': 100}, 100],\n   2248),\n  ('normal control 3', [{'core': 2555, 'fees': 199, 'surge': 30}, {'active': False, 'expires': 100}, 100],\n   7864),\n  ('normal control 4', [{'core': 2555, 'fees': 199, 'surge': 10}, {'active': False, 'expires': 100}, 100],\n   2754)],\n [('regression: membership expiry',\n   [{'core': 1000, 'fees': 0, 'surge': 25}, {'active': True, 'expires': 100}, 101], 2500),\n  ('partial repair probe: membership expiry',\n   [{'core': 2555, 'fees': 199, 'surge': 15}, {'active': True, 'expires': 100}, 100], 3649),\n  ('second regression', [{'core': 1234, 'fees': 199, 'surge': 30}, {'active': True, 'expires': 100}, 100],\n   2667),\n  ('normal control 1', [{'core': 1234, 'fees': 250, 'surge': 30}, {'active': False, 'expires': 100}, 101],\n   3952),\n  ('normal control 2', [{'core': 1000, 'fees': 0, 'surge': 17}, {'active': True, 'expires': 100}, 100], 1700),\n  ('normal control 3', [{'core': 1000, 'fees': 250, 'surge': 15}, {'active': False, 'expires': 100}, 100],\n   1750),\n  ('normal control 4', [{'core': 1234, 'fees': 0, 'surge': 30}, {'active': False, 'expires': 100}, 101],\n   3702)],\n [('regression: membership expiry',\n   [{'core': 1234, 'fees': 0, 'surge': 12}, {'active': True, 'expires': 100}, 101], 1481),\n  ('partial repair probe: membership expiry',\n   [{'core': 1234, 'fees': 250, 'surge': 30}, {'active': True, 'expires': 100}, 100], 2718),\n  ('second regression', [{'core': 2555, 'fees': 0, 'surge': 30}, {'active': True, 'expires': 100}, 100],\n   5110),\n  ('normal control 1', [{'core': 1234, 'fees': 250, 'surge': 20}, {'active': False, 'expires': 100}, 100],\n   2718),\n  ('normal control 2', [{'core': 999, 'fees': 199, 'surge': 20}, {'active': True, 'expires': 100}, 100],\n   2197),\n  ('normal control 3', [{'core': 2555, 'fees': 0, 'surge': 17}, {'active': True, 'expires': 100}, 100], 4344),\n  ('normal control 4', [{'core': 2555, 'fees': 250, 'surge': 12}, {'active': False, 'expires': 100}, 100],\n   3316)],\n [('regression: membership expiry',\n   [{'core': 1234, 'fees': 0, 'surge': 30}, {'active': True, 'expires': 100}, 101], 3702),\n  ('partial repair probe: membership expiry',\n   [{'core': 2555, 'fees': 0, 'surge': 30}, {'active': True, 'expires': 100}, 100], 5110),\n  ('second regression', [{'core': 999, 'fees': 250, 'surge': 30}, {'active': True, 'expires': 100}, 100],\n   2248),\n  ('normal control 1', [{'core': 1234, 'fees': 199, 'surge': 12}, {'active': True, 'expires': 100}, 99],\n   1532),\n  ('normal control 2', [{'core': 2555, 'fees': 0, 'surge': 17}, {'active': True, 'expires': 100}, 100], 4344),\n  ('normal control 3', [{'core': 2555, 'fees': 0, 'surge': 15}, {'active': False, 'expires': 100}, 101],\n   3833),\n  ('normal control 4', [{'core': 1234, 'fees': 199, 'surge': 10}, {'active': True, 'expires': 100}, 99],\n   1310)],\n [('regression: membership expiry',\n   [{'core': 999, 'fees': 0, 'surge': 12}, {'active': True, 'expires': 100}, 101], 1199),\n  ('partial repair probe: membership expiry',\n   [{'core': 1000, 'fees': 250, 'surge': 10}, {'active': True, 'expires': 100}, 100], 1150),\n  ('second regression', [{'core': 2555, 'fees': 245, 'surge': 10}, {'active': True, 'expires': 100}, 100],\n   2545),\n  ('normal control 1', [{'core': 1234, 'fees': 0, 'surge': 17}, {'active': False, 'expires': 100}, 101],\n   2098),\n  ('normal control 2', [{'core': 1000, 'fees': 250, 'surge': 17}, {'active': False, 'expires': 100}, 101],\n   1950),\n  ('normal control 3', [{'core': 2555, 'fees': 250, 'surge': 15}, {'active': False, 'expires': 100}, 101],\n   4083),\n  ('normal control 4', [{'core': 1000, 'fees': 199, 'surge': 12}, {'active': True, 'expires': 100}, 99],\n   1279)]]\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":"f5e2cd8631d2f2602707a930846e5832ad76f970e4cb46181c8cc975ca5a4800","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(fare, member, now):\n    active = member['active']\n    surge = fare['surge']\n    if active:\n        surge = min(surge, 20)\n    surged = (fare['core'] * surge * 2 + 10) // 20\n    disc = 0\n    if active and surge <= 15:\n        disc = surged // 10\n    return surged - disc + fare['fees']\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: membership expiry',\n   [{'core': 2555, 'fees': 245, 'surge': 10}, {'active': True, 'expires': 100}, 101], 2800),\n  ('partial repair probe: membership expiry',\n   [{'core': 2555, 'fees': 0, 'surge': 25}, {'active': True, 'expires': 100}, 100], 5110),\n  ('second regression', [{'core': 1234, 'fees': 0, 'surge': 30}, {'active': True, 'expires': 100}, 100],\n   2468),\n  ('normal control 1', [{'core': 2555, 'fees': 199, 'surge': 20}, {'active': True, 'expires': 100}, 100],\n   5309),\n  ('normal control 2', [{'core': 999, 'fees': 250, 'surge': 20}, {'active': True, 'expires': 100}, 100],\n   2248),\n  ('normal control 3', [{'core': 2555, 'fees': 199, 'surge': 30}, {'active': False, 'expires': 100}, 100],\n   7864),\n  ('normal control 4', [{'core': 2555, 'fees': 199, 'surge': 10}, {'active': False, 'expires': 100}, 100],\n   2754)],\n [('regression: membership expiry',\n   [{'core': 1000, 'fees': 0, 'surge': 25}, {'active': True, 'expires': 100}, 101], 2500),\n  ('partial repair probe: membership expiry',\n   [{'core': 2555, 'fees': 199, 'surge': 15}, {'active': True, 'expires': 100}, 100], 3649),\n  ('second regression', [{'core': 1234, 'fees': 199, 'surge': 30}, {'active': True, 'expires': 100}, 100],\n   2667),\n  ('normal control 1', [{'core': 1234, 'fees': 250, 'surge': 30}, {'active': False, 'expires': 100}, 101],\n   3952),\n  ('normal control 2', [{'core': 1000, 'fees': 0, 'surge': 17}, {'active': True, 'expires': 100}, 100], 1700),\n  ('normal control 3', [{'core': 1000, 'fees': 250, 'surge': 15}, {'active': False, 'expires': 100}, 100],\n   1750),\n  ('normal control 4', [{'core': 1234, 'fees': 0, 'surge': 30}, {'active': False, 'expires': 100}, 101],\n   3702)],\n [('regression: membership expiry',\n   [{'core': 1234, 'fees': 0, 'surge': 12}, {'active': True, 'expires': 100}, 101], 1481),\n  ('partial repair probe: membership expiry',\n   [{'core': 1234, 'fees': 250, 'surge': 30}, {'active': True, 'expires': 100}, 100], 2718),\n  ('second regression', [{'core': 2555, 'fees': 0, 'surge': 30}, {'active': True, 'expires': 100}, 100],\n   5110),\n  ('normal control 1', [{'core': 1234, 'fees': 250, 'surge': 20}, {'active': False, 'expires': 100}, 100],\n   2718),\n  ('normal control 2', [{'core': 999, 'fees': 199, 'surge': 20}, {'active': True, 'expires': 100}, 100],\n   2197),\n  ('normal control 3', [{'core': 2555, 'fees': 0, 'surge': 17}, {'active': True, 'expires': 100}, 100], 4344),\n  ('normal control 4', [{'core': 2555, 'fees': 250, 'surge': 12}, {'active': False, 'expires': 100}, 100],\n   3316)],\n [('regression: membership expiry',\n   [{'core': 1234, 'fees': 0, 'surge': 30}, {'active': True, 'expires': 100}, 101], 3702),\n  ('partial repair probe: membership expiry',\n   [{'core': 2555, 'fees': 0, 'surge': 30}, {'active': True, 'expires': 100}, 100], 5110),\n  ('second regression', [{'core': 999, 'fees': 250, 'surge': 30}, {'active': True, 'expires': 100}, 100],\n   2248),\n  ('normal control 1', [{'core': 1234, 'fees': 199, 'surge': 12}, {'active': True, 'expires': 100}, 99],\n   1532),\n  ('normal control 2', [{'core': 2555, 'fees': 0, 'surge': 17}, {'active': True, 'expires': 100}, 100], 4344),\n  ('normal control 3', [{'core': 2555, 'fees': 0, 'surge': 15}, {'active': False, 'expires': 100}, 101],\n   3833),\n  ('normal control 4', [{'core': 1234, 'fees': 199, 'surge': 10}, {'active': True, 'expires': 100}, 99],\n   1310)],\n [('regression: membership expiry',\n   [{'core': 999, 'fees': 0, 'surge': 12}, {'active': True, 'expires': 100}, 101], 1199),\n  ('partial repair probe: membership expiry',\n   [{'core': 1000, 'fees': 250, 'surge': 10}, {'active': True, 'expires': 100}, 100], 1150),\n  ('second regression', [{'core': 2555, 'fees': 245, 'surge': 10}, {'active': True, 'expires': 100}, 100],\n   2545),\n  ('normal control 1', [{'core': 1234, 'fees': 0, 'surge': 17}, {'active': False, 'expires': 100}, 101],\n   2098),\n  ('normal control 2', [{'core': 1000, 'fees': 250, 'surge': 17}, {'active': False, 'expires': 100}, 101],\n   1950),\n  ('normal control 3', [{'core': 2555, 'fees': 250, 'surge': 15}, {'active': False, 'expires': 100}, 101],\n   4083),\n  ('normal control 4', [{'core': 1000, 'fees': 199, 'surge': 12}, {'active': True, 'expires': 100}, 99],\n   1279)]]\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":"66368a53e6c7fdb5072c3450fe296fba76b5c2c543095c601a331afc454bf82c","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(fare, member, now):\n    active = member['active'] and now <= member['expires']\n    surge = fare['surge']\n    if active:\n        surge = min(surge, 20)\n    surged = (fare['core'] * surge * 2 + 10) // 20\n    disc = 0\n    if active and surge <= 15:\n        disc = surged // 10\n    return surged - disc + fare['fees']\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: membership expiry',\n   [{'core': 2555, 'fees': 245, 'surge': 10}, {'active': True, 'expires': 100}, 101], 2800),\n  ('partial repair probe: membership expiry',\n   [{'core': 2555, 'fees': 0, 'surge': 25}, {'active': True, 'expires': 100}, 100], 5110),\n  ('second regression', [{'core': 1234, 'fees': 0, 'surge': 30}, {'active': True, 'expires': 100}, 100],\n   2468),\n  ('normal control 1', [{'core': 2555, 'fees': 199, 'surge': 20}, {'active': True, 'expires': 100}, 100],\n   5309),\n  ('normal control 2', [{'core': 999, 'fees': 250, 'surge': 20}, {'active': True, 'expires': 100}, 100],\n   2248),\n  ('normal control 3', [{'core': 2555, 'fees': 199, 'surge': 30}, {'active': False, 'expires': 100}, 100],\n   7864),\n  ('normal control 4', [{'core': 2555, 'fees': 199, 'surge': 10}, {'active': False, 'expires': 100}, 100],\n   2754)],\n [('regression: membership expiry',\n   [{'core': 1000, 'fees': 0, 'surge': 25}, {'active': True, 'expires': 100}, 101], 2500),\n  ('partial repair probe: membership expiry',\n   [{'core': 2555, 'fees': 199, 'surge': 15}, {'active': True, 'expires': 100}, 100], 3649),\n  ('second regression', [{'core': 1234, 'fees': 199, 'surge': 30}, {'active': True, 'expires': 100}, 100],\n   2667),\n  ('normal control 1', [{'core': 1234, 'fees': 250, 'surge': 30}, {'active': False, 'expires': 100}, 101],\n   3952),\n  ('normal control 2', [{'core': 1000, 'fees': 0, 'surge': 17}, {'active': True, 'expires': 100}, 100], 1700),\n  ('normal control 3', [{'core': 1000, 'fees': 250, 'surge': 15}, {'active': False, 'expires': 100}, 100],\n   1750),\n  ('normal control 4', [{'core': 1234, 'fees': 0, 'surge': 30}, {'active': False, 'expires': 100}, 101],\n   3702)],\n [('regression: membership expiry',\n   [{'core': 1234, 'fees': 0, 'surge': 12}, {'active': True, 'expires': 100}, 101], 1481),\n  ('partial repair probe: membership expiry',\n   [{'core': 1234, 'fees': 250, 'surge': 30}, {'active': True, 'expires': 100}, 100], 2718),\n  ('second regression', [{'core': 2555, 'fees': 0, 'surge': 30}, {'active': True, 'expires': 100}, 100],\n   5110),\n  ('normal control 1', [{'core': 1234, 'fees': 250, 'surge': 20}, {'active': False, 'expires': 100}, 100],\n   2718),\n  ('normal control 2', [{'core': 999, 'fees': 199, 'surge': 20}, {'active': True, 'expires': 100}, 100],\n   2197),\n  ('normal control 3', [{'core': 2555, 'fees': 0, 'surge': 17}, {'active': True, 'expires': 100}, 100], 4344),\n  ('normal control 4', [{'core': 2555, 'fees': 250, 'surge': 12}, {'active': False, 'expires': 100}, 100],\n   3316)],\n [('regression: membership expiry',\n   [{'core': 1234, 'fees': 0, 'surge': 30}, {'active': True, 'expires': 100}, 101], 3702),\n  ('partial repair probe: membership expiry',\n   [{'core': 2555, 'fees': 0, 'surge': 30}, {'active': True, 'expires': 100}, 100], 5110),\n  ('second regression', [{'core': 999, 'fees': 250, 'surge': 30}, {'active': True, 'expires': 100}, 100],\n   2248),\n  ('normal control 1', [{'core': 1234, 'fees': 199, 'surge': 12}, {'active': True, 'expires': 100}, 99],\n   1532),\n  ('normal control 2', [{'core': 2555, 'fees': 0, 'surge': 17}, {'active': True, 'expires': 100}, 100], 4344),\n  ('normal control 3', [{'core': 2555, 'fees': 0, 'surge': 15}, {'active': False, 'expires': 100}, 101],\n   3833),\n  ('normal control 4', [{'core': 1234, 'fees': 199, 'surge': 10}, {'active': True, 'expires': 100}, 99],\n   1310)],\n [('regression: membership expiry',\n   [{'core': 999, 'fees': 0, 'surge': 12}, {'active': True, 'expires': 100}, 101], 1199),\n  ('partial repair probe: membership expiry',\n   [{'core': 1000, 'fees': 250, 'surge': 10}, {'active': True, 'expires': 100}, 100], 1150),\n  ('second regression', [{'core': 2555, 'fees': 245, 'surge': 10}, {'active': True, 'expires': 100}, 100],\n   2545),\n  ('normal control 1', [{'core': 1234, 'fees': 0, 'surge': 17}, {'active': False, 'expires': 100}, 101],\n   2098),\n  ('normal control 2', [{'core': 1000, 'fees': 250, 'surge': 17}, {'active': False, 'expires': 100}, 101],\n   1950),\n  ('normal control 3', [{'core': 2555, 'fees': 250, 'surge': 15}, {'active': False, 'expires': 100}, 101],\n   4083),\n  ('normal control 4', [{'core': 1000, 'fees': 199, 'surge': 12}, {'active': True, 'expires': 100}, 99],\n   1279)]]\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 pricing contract stipulated for this example; it does not reproduce the pricing of any real ride-hailing operator or regulator. 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-ride-hailing-fare-surge-membership-benefits-membership-expiry","generated_at":"2026-09-29T14:50:43.758024+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Ride-hailing prices are computed per trip at scale; ordering, unit and boundary slips become systematic over- or under-charging.","repair":"Require today to be on or before the expiry day.","root_cause":"The expiry day is not checked.","sha256":"923634f6833db77c255fce15e6a6cd86be6116e3ac9f1d0b5c2975a774e14dce","title":"Expired memberships still receive benefits · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.042,"exit_code":1,"observations":[{"actual":2800,"check":"regression: membership expiry","expected":2800,"passed":true},{"actual":6388,"check":"partial repair probe: membership expiry","expected":5110,"passed":false},{"actual":3702,"check":"second regression","expected":2468,"passed":false},{"actual":5309,"check":"normal control 1","expected":5309,"passed":true},{"actual":2248,"check":"normal control 2","expected":2248,"passed":true},{"actual":7864,"check":"normal control 3","expected":7864,"passed":true},{"actual":2754,"check":"normal control 4","expected":2754,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: membership expiry\", \"actual\": 2800, \"expected\": 2800, \"passed\": true}, {\"check\": \"partial repair probe: membership expiry\", \"actual\": 6388, \"expected\": 5110, \"passed\": false}, {\"check\": \"second regression\", \"actual\": 3702, \"expected\": 2468, \"passed\": false}, {\"check\": \"normal control 1\", \"actual\": 5309, \"expected\": 5309, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 2248, \"expected\": 2248, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 7864, \"expected\": 7864, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 2754, \"expected\": 2754, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.108,"exit_code":1,"observations":[{"actual":2545,"check":"regression: membership expiry","expected":2800,"passed":false},{"actual":5110,"check":"partial repair probe: membership expiry","expected":5110,"passed":true},{"actual":2468,"check":"second regression","expected":2468,"passed":true},{"actual":5309,"check":"normal control 1","expected":5309,"passed":true},{"actual":2248,"check":"normal control 2","expected":2248,"passed":true},{"actual":7864,"check":"normal control 3","expected":7864,"passed":true},{"actual":2754,"check":"normal control 4","expected":2754,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: membership expiry\", \"actual\": 2545, \"expected\": 2800, \"passed\": false}, {\"check\": \"partial repair probe: membership expiry\", \"actual\": 5110, \"expected\": 5110, \"passed\": true}, {\"check\": \"second regression\", \"actual\": 2468, \"expected\": 2468, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 5309, \"expected\": 5309, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 2248, \"expected\": 2248, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 7864, \"expected\": 7864, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 2754, \"expected\": 2754, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.347,"exit_code":0,"observations":[{"actual":2800,"check":"regression: membership expiry","expected":2800,"passed":true},{"actual":5110,"check":"partial repair probe: membership expiry","expected":5110,"passed":true},{"actual":2468,"check":"second regression","expected":2468,"passed":true},{"actual":5309,"check":"normal control 1","expected":5309,"passed":true},{"actual":2248,"check":"normal control 2","expected":2248,"passed":true},{"actual":7864,"check":"normal control 3","expected":7864,"passed":true},{"actual":2754,"check":"normal control 4","expected":2754,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: membership expiry\", \"actual\": 2800, \"expected\": 2800, \"passed\": true}, {\"check\": \"partial repair probe: membership expiry\", \"actual\": 5110, \"expected\": 5110, \"passed\": true}, {\"check\": \"second regression\", \"actual\": 2468, \"expected\": 2468, \"passed\": true}, {\"check\": \"normal control 1\", \"actual\": 5309, \"expected\": 5309, \"passed\": true}, {\"check\": \"normal control 2\", \"actual\": 2248, \"expected\": 2248, \"passed\": true}, {\"check\": \"normal control 3\", \"actual\": 7864, \"expected\": 7864, \"passed\": true}, {\"check\": \"normal control 4\", \"actual\": 2754, \"expected\": 2754, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}