{"abstract":"A productive run is stopped even though a progress event is recent.","category":"Agent workflow termination","checks":7,"contract":"Given boolean progress events and positive width, report stalled when fewer than threshold true events occur in the trailing width entries.","contract_signature":"events, width, threshold","evaluation_group":"w3-agent-workflow-termination-no-progress-window","failed_approach":"Scanning the entire history misses a genuinely stalled trailing window.","family":"w3-agent-workflow-termination-no-progress-window","id":"FA-99856","implementations":{"attempt":{"sha256":"178e71bfa7d7d61599ded4d170da29266cbee3f45c2e8632750e233e8625b641","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(events, width, threshold):\n    return sum(events) < threshold\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('recent progress', solve([False]*N+[True],N,1),False)\ncheck('recent stall', solve([True]+[False]*N,N,1),True)\ncheck('below threshold', solve([True,False,False],3,2),True)\ncheck('at threshold', solve([True,True,False],3,2),False)\ncheck('empty history', solve([],N,1),True)\ncheck('short productive history', solve([True],N,1),False)\ncheck('zero threshold', solve([False]*N,N,0),False)\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":"6aadec45fe90c0a9b419a6e9d67c8bbe1a7945d70fe4d44d3bd8ad3e042ae6ac","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(events, width, threshold):\n    return sum(events[:width]) < threshold\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('recent progress', solve([False]*N+[True],N,1),False)\ncheck('recent stall', solve([True]+[False]*N,N,1),True)\ncheck('below threshold', solve([True,False,False],3,2),True)\ncheck('at threshold', solve([True,True,False],3,2),False)\ncheck('empty history', solve([],N,1),True)\ncheck('short productive history', solve([True],N,1),False)\ncheck('zero threshold', solve([False]*N,N,0),False)\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":"Events are booleans; width is positive and threshold is nonnegative. 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":"w3-agent-workflow-termination-no-progress-window","generated_at":"2026-09-30T16:48:28.970591+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"This toy decision rule isolates one bounded agent-loop completion contract.","root_cause":"The guard scans the oldest slice instead of the trailing window.","sha256":"94863c4264a741d968dc456c846d85975bf15db6677b0dace9dae72dd6de0125","title":"Workflow: progress is measured over the wrong window · case 01","variant":1,"variant_policy":"The fixture code references N, supplied as 1 through 5. Fixed boundary checks may repeat. These records share one mechanism and must remain together in evaluation splits.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":29.576,"exit_code":1,"observations":[{"actual":false,"check":"recent progress","expected":false,"passed":true},{"actual":false,"check":"recent stall","expected":true,"passed":false},{"actual":true,"check":"below threshold","expected":true,"passed":true},{"actual":false,"check":"at threshold","expected":false,"passed":true},{"actual":true,"check":"empty history","expected":true,"passed":true},{"actual":false,"check":"short productive history","expected":false,"passed":true},{"actual":false,"check":"zero threshold","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"recent progress\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"recent stall\", \"actual\": false, \"expected\": true, \"passed\": false}, {\"check\": \"below threshold\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"at threshold\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"empty history\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"short productive history\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"zero threshold\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":28.803,"exit_code":1,"observations":[{"actual":true,"check":"recent progress","expected":false,"passed":false},{"actual":false,"check":"recent stall","expected":true,"passed":false},{"actual":true,"check":"below threshold","expected":true,"passed":true},{"actual":false,"check":"at threshold","expected":false,"passed":true},{"actual":true,"check":"empty history","expected":true,"passed":true},{"actual":false,"check":"short productive history","expected":false,"passed":true},{"actual":false,"check":"zero threshold","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"recent progress\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"recent stall\", \"actual\": false, \"expected\": true, \"passed\": false}, {\"check\": \"below threshold\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"at threshold\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"empty history\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"short productive history\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"zero threshold\", \"actual\": false, \"expected\": false, \"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."}}