{"abstract":"Bucket values never exceed 999, so a 10 percent rollout enables every user.","category":"Feature flag rollout bucketing","checks":8,"contract":"bucket = int(first 8 hex digits of sha1(salt + \".\" + flag + \".\" + user), 16) % 10000; the rollout percentage pct has at most two decimals and becomes a basis-point limit round(pct * 100); the user is enabled iff bucket < limit. Return [bucket, enabled].","evaluation_group":"w2-feature-flag-rollout-bucketing-percentage-gate","failed_approach":"Keeping modulo 10000 but parsing four hex digits yields a biased 16-bit bucket.","family":"w2-feature-flag-rollout-bucketing-percentage-gate-bucket-modulus","id":"FA-73861","implementations":{"attempt":{"sha256":"93a9e9273a81dac7729924cc2ead01b29baa4ee2c30d3daa66ea55f1f933bd87","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport hashlib\nN = 1\nobservations = []\ndef solve(flag, user, salt, pct):\n    limit = round(pct * 100)\n    digest = hashlib.sha1((salt + '.' + flag + '.' + user).encode()).hexdigest()\n    bucket = int(digest[:4], 16) % 10000\n    return [bucket, bucket < limit]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('bucket exactly at limit is excluded (alice)', ['new-checkout', 'alice', 'prod', 66.65], [6665, False]),\n  ('bucket one below limit is included (alice)', ['new-checkout', 'alice', 'prod', 66.66], [6665, True]),\n  ('bucket exactly at limit is excluded (bob)', ['dark-mode', 'bob', 's1', 27.55], [2755, False]),\n  ('bucket one below limit is included (bob)', ['dark-mode', 'bob', 's1', 27.56], [2755, True]),\n  ('bucket exactly at limit is excluded (carol)', ['search-v2', 'carol', 'prod', 57.45], [5745, False]),\n  ('half rollout control', ['search-v2', 'grace', 'ramp-7', 50], [3372, True]),\n  ('hashed user sample 1', ['search-v2', 'u55140', 's1', 100], [5052, True]),\n  ('hashed user sample 2', ['new-checkout', 'u28082', 's1', 50], [928, True])],\n [('bucket one below limit is included (alice)', ['new-checkout', 'alice', 'prod', 66.66], [6665, True]),\n  ('bucket exactly at limit is excluded (bob)', ['dark-mode', 'bob', 's1', 27.55], [2755, False]),\n  ('bucket one below limit is included (bob)', ['dark-mode', 'bob', 's1', 27.56], [2755, True]),\n  ('bucket exactly at limit is excluded (carol)', ['search-v2', 'carol', 'prod', 57.45], [5745, False]),\n  ('bucket one below limit is included (carol)', ['search-v2', 'carol', 'prod', 57.46], [5745, True]),\n  ('zero percent disables everyone', ['dark-mode', 'dave', 's1', 0], [4167, False]),\n  ('half rollout control', ['search-v2', 'grace', 'ramp-7', 50], [3372, True]),\n  ('hashed user sample 6', ['new-checkout', 'u58886', 'ramp-7', 50.31], [3873, True])],\n [('bucket exactly at limit is excluded (bob)', ['dark-mode', 'bob', 's1', 27.55], [2755, False]),\n  ('bucket one below limit is included (bob)', ['dark-mode', 'bob', 's1', 27.56], [2755, True]),\n  ('bucket exactly at limit is excluded (carol)', ['search-v2', 'carol', 'prod', 57.45], [5745, False]),\n  ('bucket one below limit is included (carol)', ['search-v2', 'carol', 'prod', 57.46], [5745, True]),\n  ('float truncation regression at 65.82 percent', ['fast-pay', 'member13', 'prod', 65.82], [6581, True]),\n  ('hashed user sample 4', ['fast-pay', 'u43705', 'ramp-7', 32.8], [187, True]),\n  ('hashed user sample 6', ['new-checkout', 'u58886', 'ramp-7', 50.31], [3873, True]),\n  ('hashed user sample 11', ['search-v2', 'u91686', 'prod', 100], [5233, True])],\n [('bucket one below limit is included (bob)', ['dark-mode', 'bob', 's1', 27.56], [2755, True]),\n  ('bucket exactly at limit is excluded (carol)', ['search-v2', 'carol', 'prod', 57.45], [5745, False]),\n  ('bucket one below limit is included (carol)', ['search-v2', 'carol', 'prod', 57.46], [5745, True]),\n  ('float truncation regression at 65.82 percent', ['fast-pay', 'member13', 'prod', 65.82], [6581, True]),\n  ('zero percent disables everyone', ['dark-mode', 'dave', 's1', 0], [4167, False]),\n  ('hashed user sample 11', ['search-v2', 'u91686', 'prod', 100], [5233, True]),\n  ('hashed user sample 13', ['new-checkout', 'u70823', 'ramp-7', 31.8], [3179, True]),\n  ('hashed user sample 16', ['new-checkout', 'u25854', 'prod', 0.57], [5842, False])],\n [('bucket exactly at limit is excluded (carol)', ['search-v2', 'carol', 'prod', 57.45], [5745, False]),\n  ('bucket one below limit is included (carol)', ['search-v2', 'carol', 'prod', 57.46], [5745, True]),\n  ('float truncation regression at 65.82 percent', ['fast-pay', 'member13', 'prod', 65.82], [6581, True]),\n  ('zero percent disables everyone', ['dark-mode', 'dave', 's1', 0], [4167, False]),\n  ('full rollout enables everyone', ['dark-mode', 'erin', 's1', 100], [9606, True]),\n  ('hashed user sample 18', ['dark-mode', 'u52498', 'prod', 39.33], [2698, True]),\n  ('hashed user sample 20', ['dark-mode', 'u36438', 'prod', 34.74], [3474, False]),\n  ('hashed user sample 21', ['new-checkout', 'u7954', 'prod', 59.72], [196, True])]]\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":"64dcfc4828ae23eba0a6d5b5234d1d736f3871a1e9cfd0031542a84e4770de7f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport hashlib\nN = 1\nobservations = []\ndef solve(flag, user, salt, pct):\n    limit = round(pct * 100)\n    digest = hashlib.sha1((salt + '.' + flag + '.' + user).encode()).hexdigest()\n    bucket = int(digest[:8], 16) % 1000\n    return [bucket, bucket < limit]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('bucket exactly at limit is excluded (alice)', ['new-checkout', 'alice', 'prod', 66.65], [6665, False]),\n  ('bucket one below limit is included (alice)', ['new-checkout', 'alice', 'prod', 66.66], [6665, True]),\n  ('bucket exactly at limit is excluded (bob)', ['dark-mode', 'bob', 's1', 27.55], [2755, False]),\n  ('bucket one below limit is included (bob)', ['dark-mode', 'bob', 's1', 27.56], [2755, True]),\n  ('bucket exactly at limit is excluded (carol)', ['search-v2', 'carol', 'prod', 57.45], [5745, False]),\n  ('half rollout control', ['search-v2', 'grace', 'ramp-7', 50], [3372, True]),\n  ('hashed user sample 1', ['search-v2', 'u55140', 's1', 100], [5052, True]),\n  ('hashed user sample 2', ['new-checkout', 'u28082', 's1', 50], [928, True])],\n [('bucket one below limit is included (alice)', ['new-checkout', 'alice', 'prod', 66.66], [6665, True]),\n  ('bucket exactly at limit is excluded (bob)', ['dark-mode', 'bob', 's1', 27.55], [2755, False]),\n  ('bucket one below limit is included (bob)', ['dark-mode', 'bob', 's1', 27.56], [2755, True]),\n  ('bucket exactly at limit is excluded (carol)', ['search-v2', 'carol', 'prod', 57.45], [5745, False]),\n  ('bucket one below limit is included (carol)', ['search-v2', 'carol', 'prod', 57.46], [5745, True]),\n  ('zero percent disables everyone', ['dark-mode', 'dave', 's1', 0], [4167, False]),\n  ('half rollout control', ['search-v2', 'grace', 'ramp-7', 50], [3372, True]),\n  ('hashed user sample 6', ['new-checkout', 'u58886', 'ramp-7', 50.31], [3873, True])],\n [('bucket exactly at limit is excluded (bob)', ['dark-mode', 'bob', 's1', 27.55], [2755, False]),\n  ('bucket one below limit is included (bob)', ['dark-mode', 'bob', 's1', 27.56], [2755, True]),\n  ('bucket exactly at limit is excluded (carol)', ['search-v2', 'carol', 'prod', 57.45], [5745, False]),\n  ('bucket one below limit is included (carol)', ['search-v2', 'carol', 'prod', 57.46], [5745, True]),\n  ('float truncation regression at 65.82 percent', ['fast-pay', 'member13', 'prod', 65.82], [6581, True]),\n  ('hashed user sample 4', ['fast-pay', 'u43705', 'ramp-7', 32.8], [187, True]),\n  ('hashed user sample 6', ['new-checkout', 'u58886', 'ramp-7', 50.31], [3873, True]),\n  ('hashed user sample 11', ['search-v2', 'u91686', 'prod', 100], [5233, True])],\n [('bucket one below limit is included (bob)', ['dark-mode', 'bob', 's1', 27.56], [2755, True]),\n  ('bucket exactly at limit is excluded (carol)', ['search-v2', 'carol', 'prod', 57.45], [5745, False]),\n  ('bucket one below limit is included (carol)', ['search-v2', 'carol', 'prod', 57.46], [5745, True]),\n  ('float truncation regression at 65.82 percent', ['fast-pay', 'member13', 'prod', 65.82], [6581, True]),\n  ('zero percent disables everyone', ['dark-mode', 'dave', 's1', 0], [4167, False]),\n  ('hashed user sample 11', ['search-v2', 'u91686', 'prod', 100], [5233, True]),\n  ('hashed user sample 13', ['new-checkout', 'u70823', 'ramp-7', 31.8], [3179, True]),\n  ('hashed user sample 16', ['new-checkout', 'u25854', 'prod', 0.57], [5842, False])],\n [('bucket exactly at limit is excluded (carol)', ['search-v2', 'carol', 'prod', 57.45], [5745, False]),\n  ('bucket one below limit is included (carol)', ['search-v2', 'carol', 'prod', 57.46], [5745, True]),\n  ('float truncation regression at 65.82 percent', ['fast-pay', 'member13', 'prod', 65.82], [6581, True]),\n  ('zero percent disables everyone', ['dark-mode', 'dave', 's1', 0], [4167, False]),\n  ('full rollout enables everyone', ['dark-mode', 'erin', 's1', 100], [9606, True]),\n  ('hashed user sample 18', ['dark-mode', 'u52498', 'prod', 39.33], [2698, True]),\n  ('hashed user sample 20', ['dark-mode', 'u36438', 'prod', 34.74], [3474, False]),\n  ('hashed user sample 21', ['new-checkout', 'u7954', 'prod', 59.72], [196, True])]]\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":"8755fd57c77c301e7dd51d1230b0a8a9245fa4756b3e541f8327976cc5487ca3","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport hashlib\nN = 1\nobservations = []\ndef solve(flag, user, salt, pct):\n    limit = round(pct * 100)\n    digest = hashlib.sha1((salt + '.' + flag + '.' + user).encode()).hexdigest()\n    bucket = int(digest[:8], 16) % 10000\n    return [bucket, bucket < limit]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('bucket exactly at limit is excluded (alice)', ['new-checkout', 'alice', 'prod', 66.65], [6665, False]),\n  ('bucket one below limit is included (alice)', ['new-checkout', 'alice', 'prod', 66.66], [6665, True]),\n  ('bucket exactly at limit is excluded (bob)', ['dark-mode', 'bob', 's1', 27.55], [2755, False]),\n  ('bucket one below limit is included (bob)', ['dark-mode', 'bob', 's1', 27.56], [2755, True]),\n  ('bucket exactly at limit is excluded (carol)', ['search-v2', 'carol', 'prod', 57.45], [5745, False]),\n  ('half rollout control', ['search-v2', 'grace', 'ramp-7', 50], [3372, True]),\n  ('hashed user sample 1', ['search-v2', 'u55140', 's1', 100], [5052, True]),\n  ('hashed user sample 2', ['new-checkout', 'u28082', 's1', 50], [928, True])],\n [('bucket one below limit is included (alice)', ['new-checkout', 'alice', 'prod', 66.66], [6665, True]),\n  ('bucket exactly at limit is excluded (bob)', ['dark-mode', 'bob', 's1', 27.55], [2755, False]),\n  ('bucket one below limit is included (bob)', ['dark-mode', 'bob', 's1', 27.56], [2755, True]),\n  ('bucket exactly at limit is excluded (carol)', ['search-v2', 'carol', 'prod', 57.45], [5745, False]),\n  ('bucket one below limit is included (carol)', ['search-v2', 'carol', 'prod', 57.46], [5745, True]),\n  ('zero percent disables everyone', ['dark-mode', 'dave', 's1', 0], [4167, False]),\n  ('half rollout control', ['search-v2', 'grace', 'ramp-7', 50], [3372, True]),\n  ('hashed user sample 6', ['new-checkout', 'u58886', 'ramp-7', 50.31], [3873, True])],\n [('bucket exactly at limit is excluded (bob)', ['dark-mode', 'bob', 's1', 27.55], [2755, False]),\n  ('bucket one below limit is included (bob)', ['dark-mode', 'bob', 's1', 27.56], [2755, True]),\n  ('bucket exactly at limit is excluded (carol)', ['search-v2', 'carol', 'prod', 57.45], [5745, False]),\n  ('bucket one below limit is included (carol)', ['search-v2', 'carol', 'prod', 57.46], [5745, True]),\n  ('float truncation regression at 65.82 percent', ['fast-pay', 'member13', 'prod', 65.82], [6581, True]),\n  ('hashed user sample 4', ['fast-pay', 'u43705', 'ramp-7', 32.8], [187, True]),\n  ('hashed user sample 6', ['new-checkout', 'u58886', 'ramp-7', 50.31], [3873, True]),\n  ('hashed user sample 11', ['search-v2', 'u91686', 'prod', 100], [5233, True])],\n [('bucket one below limit is included (bob)', ['dark-mode', 'bob', 's1', 27.56], [2755, True]),\n  ('bucket exactly at limit is excluded (carol)', ['search-v2', 'carol', 'prod', 57.45], [5745, False]),\n  ('bucket one below limit is included (carol)', ['search-v2', 'carol', 'prod', 57.46], [5745, True]),\n  ('float truncation regression at 65.82 percent', ['fast-pay', 'member13', 'prod', 65.82], [6581, True]),\n  ('zero percent disables everyone', ['dark-mode', 'dave', 's1', 0], [4167, False]),\n  ('hashed user sample 11', ['search-v2', 'u91686', 'prod', 100], [5233, True]),\n  ('hashed user sample 13', ['new-checkout', 'u70823', 'ramp-7', 31.8], [3179, True]),\n  ('hashed user sample 16', ['new-checkout', 'u25854', 'prod', 0.57], [5842, False])],\n [('bucket exactly at limit is excluded (carol)', ['search-v2', 'carol', 'prod', 57.45], [5745, False]),\n  ('bucket one below limit is included (carol)', ['search-v2', 'carol', 'prod', 57.46], [5745, True]),\n  ('float truncation regression at 65.82 percent', ['fast-pay', 'member13', 'prod', 65.82], [6581, True]),\n  ('zero percent disables everyone', ['dark-mode', 'dave', 's1', 0], [4167, False]),\n  ('full rollout enables everyone', ['dark-mode', 'erin', 's1', 100], [9606, True]),\n  ('hashed user sample 18', ['dark-mode', 'u52498', 'prod', 39.33], [2698, True]),\n  ('hashed user sample 20', ['dark-mode', 'u36438', 'prod', 34.74], [3474, False]),\n  ('hashed user sample 21', ['new-checkout', 'u7954', 'prod', 59.72], [196, True])]]\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 flag-evaluation model with a stipulated contract; it does not reproduce any vendor SDK byte for byte. 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-feature-flag-rollout-bucketing-percentage-gate-bucket-modulus","generated_at":"2026-09-29T14:48:51.342691+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Percentage gates must be reproducible across services so the same user sees the same state everywhere.","repair":"Reduce the digest integer modulo 10000 so buckets share the basis-point scale.","root_cause":"The digest integer is reduced modulo 1000 while limits are expressed in basis points.","sha256":"c35a7e2d4143276ac7ab13c165bd614ea997284a10a80c1b5c5b4ef7cf3373c1","title":"Percentage rollout gate: Buckets are reduced into a thousand slots · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.973,"exit_code":1,"observations":[{"actual":[2909,true],"check":"bucket exactly at limit is excluded (alice)","expected":[6665,false],"passed":false},{"actual":[2909,true],"check":"bucket one below limit is included (alice)","expected":[6665,true],"passed":false},{"actual":[4747,false],"check":"bucket exactly at limit is excluded (bob)","expected":[2755,false],"passed":false},{"actual":[4747,false],"check":"bucket one below limit is included (bob)","expected":[2755,true],"passed":false},{"actual":[3235,true],"check":"bucket exactly at limit is excluded (carol)","expected":[5745,false],"passed":false},{"actual":[9696,false],"check":"half rollout control","expected":[3372,true],"passed":false},{"actual":[2285,true],"check":"hashed user sample 1","expected":[5052,true],"passed":false},{"actual":[7330,false],"check":"hashed user sample 2","expected":[928,true],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"bucket exactly at limit is excluded (alice)\", \"actual\": [2909, true], \"expected\": [6665, false], \"passed\": false}, {\"check\": \"bucket one below limit is included (alice)\", \"actual\": [2909, true], \"expected\": [6665, true], \"passed\": false}, {\"check\": \"bucket exactly at limit is excluded (bob)\", \"actual\": [4747, false], \"expected\": [2755, false], \"passed\": false}, {\"check\": \"bucket one below limit is included (bob)\", \"actual\": [4747, false], \"expected\": [2755, true], \"passed\": false}, {\"check\": \"bucket exactly at limit is excluded (carol)\", \"actual\": [3235, true], \"expected\": [5745, false], \"passed\": false}, {\"check\": \"half rollout control\", \"actual\": [9696, false], \"expected\": [3372, true], \"passed\": false}, {\"check\": \"hashed user sample 1\", \"actual\": [2285, true], \"expected\": [5052, true], \"passed\": false}, {\"check\": \"hashed user sample 2\", \"actual\": [7330, false], \"expected\": [928, true], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.047,"exit_code":1,"observations":[{"actual":[665,true],"check":"bucket exactly at limit is excluded (alice)","expected":[6665,false],"passed":false},{"actual":[665,true],"check":"bucket one below limit is included (alice)","expected":[6665,true],"passed":false},{"actual":[755,true],"check":"bucket exactly at limit is excluded (bob)","expected":[2755,false],"passed":false},{"actual":[755,true],"check":"bucket one below limit is included (bob)","expected":[2755,true],"passed":false},{"actual":[745,true],"check":"bucket exactly at limit is excluded (carol)","expected":[5745,false],"passed":false},{"actual":[372,true],"check":"half rollout control","expected":[3372,true],"passed":false},{"actual":[52,true],"check":"hashed user sample 1","expected":[5052,true],"passed":false},{"actual":[928,true],"check":"hashed user sample 2","expected":[928,true],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"bucket exactly at limit is excluded (alice)\", \"actual\": [665, true], \"expected\": [6665, false], \"passed\": false}, {\"check\": \"bucket one below limit is included (alice)\", \"actual\": [665, true], \"expected\": [6665, true], \"passed\": false}, {\"check\": \"bucket exactly at limit is excluded (bob)\", \"actual\": [755, true], \"expected\": [2755, false], \"passed\": false}, {\"check\": \"bucket one below limit is included (bob)\", \"actual\": [755, true], \"expected\": [2755, true], \"passed\": false}, {\"check\": \"bucket exactly at limit is excluded (carol)\", \"actual\": [745, true], \"expected\": [5745, false], \"passed\": false}, {\"check\": \"half rollout control\", \"actual\": [372, true], \"expected\": [3372, true], \"passed\": false}, {\"check\": \"hashed user sample 1\", \"actual\": [52, true], \"expected\": [5052, true], \"passed\": false}, {\"check\": \"hashed user sample 2\", \"actual\": [928, true], \"expected\": [928, true], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.975,"exit_code":0,"observations":[{"actual":[6665,false],"check":"bucket exactly at limit is excluded (alice)","expected":[6665,false],"passed":true},{"actual":[6665,true],"check":"bucket one below limit is included (alice)","expected":[6665,true],"passed":true},{"actual":[2755,false],"check":"bucket exactly at limit is excluded (bob)","expected":[2755,false],"passed":true},{"actual":[2755,true],"check":"bucket one below limit is included (bob)","expected":[2755,true],"passed":true},{"actual":[5745,false],"check":"bucket exactly at limit is excluded (carol)","expected":[5745,false],"passed":true},{"actual":[3372,true],"check":"half rollout control","expected":[3372,true],"passed":true},{"actual":[5052,true],"check":"hashed user sample 1","expected":[5052,true],"passed":true},{"actual":[928,true],"check":"hashed user sample 2","expected":[928,true],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"bucket exactly at limit is excluded (alice)\", \"actual\": [6665, false], \"expected\": [6665, false], \"passed\": true}, {\"check\": \"bucket one below limit is included (alice)\", \"actual\": [6665, true], \"expected\": [6665, true], \"passed\": true}, {\"check\": \"bucket exactly at limit is excluded (bob)\", \"actual\": [2755, false], \"expected\": [2755, false], \"passed\": true}, {\"check\": \"bucket one below limit is included (bob)\", \"actual\": [2755, true], \"expected\": [2755, true], \"passed\": true}, {\"check\": \"bucket exactly at limit is excluded (carol)\", \"actual\": [5745, false], \"expected\": [5745, false], \"passed\": true}, {\"check\": \"half rollout control\", \"actual\": [3372, true], \"expected\": [3372, true], \"passed\": true}, {\"check\": \"hashed user sample 1\", \"actual\": [5052, true], \"expected\": [5052, true], \"passed\": true}, {\"check\": \"hashed user sample 2\", \"actual\": [928, true], \"expected\": [928, true], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}