{"abstract":"Terrain at chunk -1 repeats chunk 1.","category":"Procedural level generation constraints","checks":8,"contract":"Coordinates are zigzag encoded (v >= 0 -> 2v, v < 0 -> -2v-1). seed = (world_seed*1000003 mod 2^32) xor (zz(cx)*73856093 mod 2^32) xor (zz(cy)*19349663 mod 2^32). The generator state is seed, or 1 when seed is 0, advanced by three 32-bit xorshift rounds (<<13, >>17, <<5, each left shift masked to 32 bits). Returns [seed, state % 100].","contract_signature":"world_seed, cx, cy","evaluation_group":"w2-procedural-level-generation-constraints-chunk-seed","failed_approach":"Odd codes offset by one collide with the next negative coordinate.","family":"w2-procedural-level-generation-constraints-chunk-seed-zigzag-negatives","id":"FA-86501","implementations":{"attempt":{"sha256":"4ef0e760d4134a84b5b94357c9e3916413495047466a63e30e199d7049ab1e98","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(world_seed, cx, cy):\n    def zz(v):\n        return v * 2 if v >= 0 else abs(v) * 2 + 1\n    s = (world_seed * 1000003) & 0xFFFFFFFF\n    s ^= (zz(cx) * 73856093) & 0xFFFFFFFF\n    s ^= (zz(cy) * 19349663) & 0xFFFFFFFF\n    x = s or 1\n    for _ in range(3):\n        x ^= (x << 13) & 0xFFFFFFFF\n        x ^= x >> 17\n        x ^= (x << 5) & 0xFFFFFFFF\n    return [s, x % 100]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),\n  ('regression zigzag negatives #1', [42, -1, 1], [78162845, 87]),\n  ('regression zigzag negatives #2', [1099511627779, -1, 155], [1640198686, 4]),\n  ('regression zigzag negatives #3', [1099511627779, -374, 0], [3628518806, 87]),\n  ('regression zigzag negatives #4', [0, 2, -3], [341807727, 72]),\n  ('origin with zero seed #1', [0, 0, 0], [0, 61]),\n  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),\n  ('control #1', [0, 0, 3], [116097978, 65])],\n [('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),\n  ('regression zigzag negatives #1', [1099511627779, -1, 155], [1640198686, 4]),\n  ('regression zigzag negatives #2', [1099511627779, -374, 0], [3628518806, 87]),\n  ('regression zigzag negatives #3', [0, 2, -3], [341807727, 72]),\n  ('regression zigzag negatives #4', [1099511627779, -1, 3], [44085550, 32]),\n  ('origin with zero seed #1', [0, 0, 0], [0, 61]),\n  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),\n  ('control #1', [0, 0, 3], [116097978, 65])],\n [('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),\n  ('regression zigzag negatives #1', [0, 2, -3], [341807727, 72]),\n  ('regression zigzag negatives #2', [1099511627779, -1, 3], [44085550, 32]),\n  ('regression zigzag negatives #3', [2147483655, -2, 0], [2371752642, 72]),\n  ('regression zigzag negatives #4', [1, -2, 1], [259333738, 52]),\n  ('origin with zero seed #1', [0, 0, 0], [0, 61]),\n  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),\n  ('control #1', [0, 0, 3], [116097978, 65])],\n [('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),\n  ('regression zigzag negatives #1', [2147483655, -2, 0], [2371752642, 72]),\n  ('regression zigzag negatives #2', [1, -2, 1], [259333738, 52]),\n  ('regression zigzag negatives #3', [42, -1, -303], [3206913376, 67]),\n  ('regression zigzag negatives #4', [17601332116874, -1, 1], [1431083645, 95]),\n  ('origin with zero seed #1', [0, 0, 0], [0, 61]),\n  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),\n  ('control #1', [1099511627779, 1, 1], [179220301, 79])],\n [('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),\n  ('regression zigzag negatives #1', [42, -1, -303], [3206913376, 67]),\n  ('regression zigzag negatives #2', [17601332116874, -1, 1], [1431083645, 95]),\n  ('regression zigzag negatives #3', [1099511627779, -1, 0], [72037012, 17]),\n  ('regression zigzag negatives #4', [0, -22, 3], [3147860005, 93]),\n  ('origin with zero seed #1', [0, 0, 0], [0, 61]),\n  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),\n  ('control #1', [42, 1, 0], [172832324, 53])]]\nfor label, args, expected in cases[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":"5df387e6c9cc79dc48fb00ae571021515ff8d23f43742c048bf32ea16092a13e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(world_seed, cx, cy):\n    def zz(v):\n        return v * 2 if v >= 0 else -v * 2\n    s = (world_seed * 1000003) & 0xFFFFFFFF\n    s ^= (zz(cx) * 73856093) & 0xFFFFFFFF\n    s ^= (zz(cy) * 19349663) & 0xFFFFFFFF\n    x = s or 1\n    for _ in range(3):\n        x ^= (x << 13) & 0xFFFFFFFF\n        x ^= x >> 17\n        x ^= (x << 5) & 0xFFFFFFFF\n    return [s, x % 100]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncases = [[('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),\n  ('regression zigzag negatives #1', [42, -1, 1], [78162845, 87]),\n  ('regression zigzag negatives #2', [1099511627779, -1, 155], [1640198686, 4]),\n  ('regression zigzag negatives #3', [1099511627779, -374, 0], [3628518806, 87]),\n  ('regression zigzag negatives #4', [0, 2, -3], [341807727, 72]),\n  ('origin with zero seed #1', [0, 0, 0], [0, 61]),\n  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),\n  ('control #1', [0, 0, 3], [116097978, 65])],\n [('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),\n  ('regression zigzag negatives #1', [1099511627779, -1, 155], [1640198686, 4]),\n  ('regression zigzag negatives #2', [1099511627779, -374, 0], [3628518806, 87]),\n  ('regression zigzag negatives #3', [0, 2, -3], [341807727, 72]),\n  ('regression zigzag negatives #4', [1099511627779, -1, 3], [44085550, 32]),\n  ('origin with zero seed #1', [0, 0, 0], [0, 61]),\n  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),\n  ('control #1', [0, 0, 3], [116097978, 65])],\n [('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),\n  ('regression zigzag negatives #1', [0, 2, -3], [341807727, 72]),\n  ('regression zigzag negatives #2', [1099511627779, -1, 3], [44085550, 32]),\n  ('regression zigzag negatives #3', [2147483655, -2, 0], [2371752642, 72]),\n  ('regression zigzag negatives #4', [1, -2, 1], [259333738, 52]),\n  ('origin with zero seed #1', [0, 0, 0], [0, 61]),\n  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),\n  ('control #1', [0, 0, 3], [116097978, 65])],\n [('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),\n  ('regression zigzag negatives #1', [2147483655, -2, 0], [2371752642, 72]),\n  ('regression zigzag negatives #2', [1, -2, 1], [259333738, 52]),\n  ('regression zigzag negatives #3', [42, -1, -303], [3206913376, 67]),\n  ('regression zigzag negatives #4', [17601332116874, -1, 1], [1431083645, 95]),\n  ('origin with zero seed #1', [0, 0, 0], [0, 61]),\n  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),\n  ('control #1', [1099511627779, 1, 1], [179220301, 79])],\n [('negative neighbour chunk #1', [42, -1, 0], [115747491, 56]),\n  ('regression zigzag negatives #1', [42, -1, -303], [3206913376, 67]),\n  ('regression zigzag negatives #2', [17601332116874, -1, 1], [1431083645, 95]),\n  ('regression zigzag negatives #3', [1099511627779, -1, 0], [72037012, 17]),\n  ('regression zigzag negatives #4', [0, -22, 3], [3147860005, 93]),\n  ('origin with zero seed #1', [0, 0, 0], [0, 61]),\n  ('mirrored coordinates #1', [7, 3, 5], [294384589, 20]),\n  ('control #1', [42, 1, 0], [172832324, 53])]]\nfor label, args, expected in cases[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":"Deterministic toy contract stipulated for this model; integer or exact arithmetic only, not a reproduction of any specific game engine. 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-procedural-level-generation-constraints-chunk-seed-zigzag-negatives","generated_at":"2026-09-29T14:50:50.147349+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Procedural generators silently emit unplayable or unfair levels when a single constraint check uses the wrong boundary, axis, neighborhood or update order; the defect is visible in exact generated geometry.","root_cause":"Negative coordinates map to the same code as their positive mirror.","sha256":"11932e4ccbb042f49f27d0084ba25e7a176d7dc1049b198ca6b7702049cbea5b","title":"Chunk seed derivation: Negative chunks reuse positive seeds · 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":37.909,"exit_code":1,"observations":[{"actual":[263455721,65],"check":"negative neighbour chunk #1","expected":[115747491,56],"passed":false},{"actual":[234521303,90],"check":"regression zigzag negatives #1","expected":[78162845,87],"passed":false},{"actual":[1754356564,21],"check":"regression zigzag negatives #2","expected":[1640198686,4],"passed":false},{"actual":[3776262864,85],"check":"regression zigzag negatives #3","expected":[3628518806,87],"passed":false},{"actual":[428414253,50],"check":"regression zigzag negatives #4","expected":[341807727,72],"passed":false},{"actual":[0,61],"check":"origin with zero seed #1","expected":[0,61],"passed":true},{"actual":[294384589,20],"check":"mirrored coordinates #1","expected":[294384589,20],"passed":true},{"actual":[116097978,65],"check":"control #1","expected":[116097978,65],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"negative neighbour chunk #1\", \"actual\": [263455721, 65], \"expected\": [115747491, 56], \"passed\": false}, {\"check\": \"regression zigzag negatives #1\", \"actual\": [234521303, 90], \"expected\": [78162845, 87], \"passed\": false}, {\"check\": \"regression zigzag negatives #2\", \"actual\": [1754356564, 21], \"expected\": [1640198686, 4], \"passed\": false}, {\"check\": \"regression zigzag negatives #3\", \"actual\": [3776262864, 85], \"expected\": [3628518806, 87], \"passed\": false}, {\"check\": \"regression zigzag negatives #4\", \"actual\": [428414253, 50], \"expected\": [341807727, 72], \"passed\": false}, {\"check\": \"origin with zero seed #1\", \"actual\": [0, 61], \"expected\": [0, 61], \"passed\": true}, {\"check\": \"mirrored coordinates #1\", \"actual\": [294384589, 20], \"expected\": [294384589, 20], \"passed\": true}, {\"check\": \"control #1\", \"actual\": [116097978, 65], \"expected\": [116097978, 65], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.295,"exit_code":1,"observations":[{"actual":[172832324,53],"check":"negative neighbour chunk #1","expected":[115747491,56],"passed":false},{"actual":[134461306,50],"check":"regression zigzag negatives #1","expected":[78162845,87],"passed":false},{"actual":[1835560697,73],"check":"regression zigzag negatives #2","expected":[1640198686,4],"passed":false},{"actual":[3707517301,91],"check":"regression zigzag negatives #3","expected":[3628518806,87],"passed":false},{"actual":[393237198,82],"check":"regression zigzag negatives #4","expected":[341807727,72],"passed":false},{"actual":[0,61],"check":"origin with zero seed #1","expected":[0,61],"passed":true},{"actual":[294384589,20],"check":"mirrored coordinates #1","expected":[294384589,20],"passed":true},{"actual":[116097978,65],"check":"control #1","expected":[116097978,65],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"negative neighbour chunk #1\", \"actual\": [172832324, 53], \"expected\": [115747491, 56], \"passed\": false}, {\"check\": \"regression zigzag negatives #1\", \"actual\": [134461306, 50], \"expected\": [78162845, 87], \"passed\": false}, {\"check\": \"regression zigzag negatives #2\", \"actual\": [1835560697, 73], \"expected\": [1640198686, 4], \"passed\": false}, {\"check\": \"regression zigzag negatives #3\", \"actual\": [3707517301, 91], \"expected\": [3628518806, 87], \"passed\": false}, {\"check\": \"regression zigzag negatives #4\", \"actual\": [393237198, 82], \"expected\": [341807727, 72], \"passed\": false}, {\"check\": \"origin with zero seed #1\", \"actual\": [0, 61], \"expected\": [0, 61], \"passed\": true}, {\"check\": \"mirrored coordinates #1\", \"actual\": [294384589, 20], \"expected\": [294384589, 20], \"passed\": true}, {\"check\": \"control #1\", \"actual\": [116097978, 65], \"expected\": [116097978, 65], \"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."}}