{"abstract":"Saturation continues accumulating outward integral action.","category":"Discrete control systems","checks":6,"contract":"One conditional integration step: reject delta when candidate exceeds high and delta>0, or candidate<low and delta<0; otherwise accept candidate. Bounds are inclusive.","evaluation_group":"model-93edbe57fc668a3d","failed_approach":"Freezing whenever the previous state is at a limit also blocks inward recovery.","family":"z-control_systems-conditional-integration","id":"FA-11941","implementations":{"attempt":{"sha256":"e0ab659b610c8c415f53f0a007965c0c95b14fb99e83e107d6d6c9d02bd8d9b9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(state, delta, low, high):\n    return state if state >= high or state <= low else state + delta\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('upper outward', solve(N, 1, -N, N), N)\ncheck('upper inward', solve(N, -1, -N, N), N-1)\ncheck('lower outward', solve(-N, -1, -N, N), -N)\ncheck('lower inward', solve(-N, 1, -N, N), -N+1)\ncheck('inside reaches edge', solve(0, N, -N, N), N)\ncheck('zero increment', solve(0, 0, -N, N), 0)\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":"d5592e205cec5d9b829e9908ada6b681c9aad66632426f022f7540fd52b56c5f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(state, delta, low, high):\n    return state + delta\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('upper outward', solve(N, 1, -N, N), N)\ncheck('upper inward', solve(N, -1, -N, N), N-1)\ncheck('lower outward', solve(-N, -1, -N, N), -N)\ncheck('lower inward', solve(-N, 1, -N, N), -N+1)\ncheck('inside reaches edge', solve(0, N, -N, N), N)\ncheck('zero increment', solve(0, 0, -N, N), 0)\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":"0e39a8a4212ea852f88d2eb9a08eac4a757f21c4f9994ee01921b99b4c185d7f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(state, delta, low, high):\n    candidate = state + delta\n    return state if (candidate > high and delta > 0) or (candidate < low and delta < 0) else candidate\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('upper outward', solve(N, 1, -N, N), N)\ncheck('upper inward', solve(N, -1, -N, N), N-1)\ncheck('lower outward', solve(-N, -1, -N, N), -N)\ncheck('lower inward', solve(-N, 1, -N, N), -N+1)\ncheck('inside reaches edge', solve(0, N, -N, N), N)\ncheck('zero increment', solve(0, 0, -N, N), 0)\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":"Integer-valued controlled examples only; no physical plant, stability guarantee, timing jitter, or hardware behavior is modeled. 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":"z-control_systems-conditional-integration","generated_at":"2026-09-29T14:38:52.391049+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"An offline discrete controller model isolates this state or arithmetic fault; it makes no physical plant or safety claim.","repair":"Reject only an outward increment beyond the bound, while allowing inward recovery.","root_cause":"Every error is integrated even when it drives the stored command beyond its bound.","sha256":"9b9baec6b7dc3c51255da7735fab7ed1ed0da2d1c70e59b66f6bbceaa5b69ef0","title":"Saturation continues accumulating outward integral action · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":40.946,"exit_code":1,"observations":[{"actual":1,"check":"upper outward","expected":1,"passed":true},{"actual":1,"check":"upper inward","expected":0,"passed":false},{"actual":-1,"check":"lower outward","expected":-1,"passed":true},{"actual":-1,"check":"lower inward","expected":0,"passed":false},{"actual":1,"check":"inside reaches edge","expected":1,"passed":true},{"actual":0,"check":"zero increment","expected":0,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"upper outward\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"upper inward\", \"actual\": 1, \"expected\": 0, \"passed\": false}, {\"check\": \"lower outward\", \"actual\": -1, \"expected\": -1, \"passed\": true}, {\"check\": \"lower inward\", \"actual\": -1, \"expected\": 0, \"passed\": false}, {\"check\": \"inside reaches edge\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"zero increment\", \"actual\": 0, \"expected\": 0, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.977,"exit_code":1,"observations":[{"actual":2,"check":"upper outward","expected":1,"passed":false},{"actual":0,"check":"upper inward","expected":0,"passed":true},{"actual":-2,"check":"lower outward","expected":-1,"passed":false},{"actual":0,"check":"lower inward","expected":0,"passed":true},{"actual":1,"check":"inside reaches edge","expected":1,"passed":true},{"actual":0,"check":"zero increment","expected":0,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"upper outward\", \"actual\": 2, \"expected\": 1, \"passed\": false}, {\"check\": \"upper inward\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"lower outward\", \"actual\": -2, \"expected\": -1, \"passed\": false}, {\"check\": \"lower inward\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"inside reaches edge\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"zero increment\", \"actual\": 0, \"expected\": 0, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":40.869,"exit_code":0,"observations":[{"actual":1,"check":"upper outward","expected":1,"passed":true},{"actual":0,"check":"upper inward","expected":0,"passed":true},{"actual":-1,"check":"lower outward","expected":-1,"passed":true},{"actual":0,"check":"lower inward","expected":0,"passed":true},{"actual":1,"check":"inside reaches edge","expected":1,"passed":true},{"actual":0,"check":"zero increment","expected":0,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"upper outward\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"upper inward\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"lower outward\", \"actual\": -1, \"expected\": -1, \"passed\": true}, {\"check\": \"lower inward\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"inside reaches edge\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"zero increment\", \"actual\": 0, \"expected\": 0, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}