{"abstract":"One noisy observation swings the evidence regardless of history.","category":"Experiment statistics","checks":8,"contract":"diffs is a stream of paired differences with known variance sigma2; the normal-mixture likelihood ratio after n observations with running mean m is sqrt(sigma2 / (sigma2 + n tau2)) exp(n^2 tau2 m^2 / (2 sigma2 (sigma2 + n tau2))). The always-valid p-value starts at 1 and is the running minimum of 1 / ratio. Return the p-value after each observation rounded to 6.","contract_signature":"diffs, sigma2, tau2","evaluation_group":"w2-experiment-statistics-always-valid-p","failed_approach":"Dividing the running sum by n + 1 biases the mean toward zero.","family":"w2-experiment-statistics-always-valid-p-running-mean","id":"FA-74801","implementations":{"attempt":{"sha256":"bcaa0ee7da54b54fbc03891fdbb5ca889f6cc72b1af97d2e11ad1dda5bad88c6","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(diffs, sigma2, tau2):\n    p = 1.0\n    total = 0.0\n    out = []\n    for n, d in enumerate(diffs, 1):\n        total += d\n        mean = total / (n + 1)\n        lam = math.sqrt(sigma2 / (sigma2 + n * tau2)) * math.exp(n * n * tau2 * mean * mean / (2 * sigma2 * (sigma2 + n * tau2)))\n        p = min(p, 1 / lam)\n        out.append(round(p, 6))\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('p-value never increases after a reversal',\n   [[2.0, 2.0, -1.0, -1.0], 1.0, 1.0],\n   [0.52026, 0.120349, 0.120349, 0.120349]),\n  ('first observation', [[1.0], 1.0, 1.0], [1.0]),\n  ('null-looking stream stays at one', [[0.0, 0.0, 0.0], 1.0, 0.5], [1.0, 1.0, 1.0]),\n  ('steady effect', [[1.0, 1.0, 1.0, 1.0, 1.0], 2.0, 0.5], [1.0, 1.0, 0.959234, 0.857764, 0.749028]),\n  ('noisy stream', [[1.5, -1.0, 2.0, 0.5], 4.0, 1.0], [1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 1',\n   [[0.0, 1.5, 0.0, -1.0, 0.0, 0.5, -1.0], 2.0, 0.5],\n   [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 2',\n   [[0.0, 2.0, -1.0, 1.0, 0.5], 1.0, 1.0],\n   [1.0, 0.889265, 0.889265, 0.889265, 0.889265]),\n  ('difference stream sample 3',\n   [[1.0, -1.0, -1.0, 0.5, -1.0, 0.5, 1.5], 1.0, 0.25],\n   [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0])],\n [('p-value never increases after a reversal',\n   [[2.0, 2.0, -1.0, -1.0], 1.0, 1.0],\n   [0.52026, 0.120349, 0.120349, 0.120349]),\n  ('first observation', [[1.0], 1.0, 1.0], [1.0]),\n  ('null-looking stream stays at one', [[0.0, 0.0, 0.0], 1.0, 0.5], [1.0, 1.0, 1.0]),\n  ('steady effect', [[1.0, 1.0, 1.0, 1.0, 1.0], 2.0, 0.5], [1.0, 1.0, 0.959234, 0.857764, 0.749028]),\n  ('noisy stream', [[1.5, -1.0, 2.0, 0.5], 4.0, 1.0], [1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 6', [[0.0, -1.0, 0.0, -1.0, 0.5], 4.0, 0.25], [1.0, 1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 12', [[0.0, 2.0, 0.0], 2.0, 0.25], [1.0, 1.0, 1.0]),\n  ('difference stream sample 13', [[2.0], 2.0, 0.5], [0.915369])],\n [('p-value never increases after a reversal',\n   [[2.0, 2.0, -1.0, -1.0], 1.0, 1.0],\n   [0.52026, 0.120349, 0.120349, 0.120349]),\n  ('first observation', [[1.0], 1.0, 1.0], [1.0]),\n  ('null-looking stream stays at one', [[0.0, 0.0, 0.0], 1.0, 0.5], [1.0, 1.0, 1.0]),\n  ('steady effect', [[1.0, 1.0, 1.0, 1.0, 1.0], 2.0, 0.5], [1.0, 1.0, 0.959234, 0.857764, 0.749028]),\n  ('noisy stream', [[1.5, -1.0, 2.0, 0.5], 4.0, 1.0], [1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 11', [[2.0], 4.0, 1.0], [1.0]),\n  ('difference stream sample 23',\n   [[0.0, 0.5, -1.0, 2.0, -1.0, 0.0], 4.0, 1.0],\n   [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 29', [[1.5], 2.0, 0.5], [0.999072])],\n [('p-value never increases after a reversal',\n   [[2.0, 2.0, -1.0, -1.0], 1.0, 1.0],\n   [0.52026, 0.120349, 0.120349, 0.120349]),\n  ('first observation', [[1.0], 1.0, 1.0], [1.0]),\n  ('null-looking stream stays at one', [[0.0, 0.0, 0.0], 1.0, 0.5], [1.0, 1.0, 1.0]),\n  ('steady effect', [[1.0, 1.0, 1.0, 1.0, 1.0], 2.0, 0.5], [1.0, 1.0, 0.959234, 0.857764, 0.749028]),\n  ('noisy stream', [[1.5, -1.0, 2.0, 0.5], 4.0, 1.0], [1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 16', [[1.0], 1.0, 0.25], [1.0]),\n  ('difference stream sample 33', [[-1.0, 1.0, 0.0, 2.0], 1.0, 1.0], [1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 56', [[2.0, 2.0, 1.0, 2.0], 4.0, 0.5], [1.0, 0.915369, 0.882617, 0.735148])],\n [('p-value never increases after a reversal',\n   [[2.0, 2.0, -1.0, -1.0], 1.0, 1.0],\n   [0.52026, 0.120349, 0.120349, 0.120349]),\n  ('first observation', [[1.0], 1.0, 1.0], [1.0]),\n  ('null-looking stream stays at one', [[0.0, 0.0, 0.0], 1.0, 0.5], [1.0, 1.0, 1.0]),\n  ('steady effect', [[1.0, 1.0, 1.0, 1.0, 1.0], 2.0, 0.5], [1.0, 1.0, 0.959234, 0.857764, 0.749028]),\n  ('noisy stream', [[1.5, -1.0, 2.0, 0.5], 4.0, 1.0], [1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 4',\n   [[0.0, 2.0, 1.0, 0.0, 1.0, 2.0, 1.0], 1.0, 1.0],\n   [1.0, 0.889265, 0.649305, 0.649305, 0.645678, 0.202205, 0.132287]),\n  ('difference stream sample 21', [[0.0, -1.0, 1.0, 2.0, 1.5], 2.0, 0.25], [1.0, 1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 46', [[2.0, 1.0, 1.0], 2.0, 0.5], [0.915369, 0.841754, 0.747052])]]\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":"0c893615ddedf50353c77612d62e291907a90fff08cdeaa63a3bddc32f4f4ce1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(diffs, sigma2, tau2):\n    p = 1.0\n    total = 0.0\n    out = []\n    for n, d in enumerate(diffs, 1):\n        total += d\n        mean = d\n        lam = math.sqrt(sigma2 / (sigma2 + n * tau2)) * math.exp(n * n * tau2 * mean * mean / (2 * sigma2 * (sigma2 + n * tau2)))\n        p = min(p, 1 / lam)\n        out.append(round(p, 6))\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('p-value never increases after a reversal',\n   [[2.0, 2.0, -1.0, -1.0], 1.0, 1.0],\n   [0.52026, 0.120349, 0.120349, 0.120349]),\n  ('first observation', [[1.0], 1.0, 1.0], [1.0]),\n  ('null-looking stream stays at one', [[0.0, 0.0, 0.0], 1.0, 0.5], [1.0, 1.0, 1.0]),\n  ('steady effect', [[1.0, 1.0, 1.0, 1.0, 1.0], 2.0, 0.5], [1.0, 1.0, 0.959234, 0.857764, 0.749028]),\n  ('noisy stream', [[1.5, -1.0, 2.0, 0.5], 4.0, 1.0], [1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 1',\n   [[0.0, 1.5, 0.0, -1.0, 0.0, 0.5, -1.0], 2.0, 0.5],\n   [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 2',\n   [[0.0, 2.0, -1.0, 1.0, 0.5], 1.0, 1.0],\n   [1.0, 0.889265, 0.889265, 0.889265, 0.889265]),\n  ('difference stream sample 3',\n   [[1.0, -1.0, -1.0, 0.5, -1.0, 0.5, 1.5], 1.0, 0.25],\n   [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0])],\n [('p-value never increases after a reversal',\n   [[2.0, 2.0, -1.0, -1.0], 1.0, 1.0],\n   [0.52026, 0.120349, 0.120349, 0.120349]),\n  ('first observation', [[1.0], 1.0, 1.0], [1.0]),\n  ('null-looking stream stays at one', [[0.0, 0.0, 0.0], 1.0, 0.5], [1.0, 1.0, 1.0]),\n  ('steady effect', [[1.0, 1.0, 1.0, 1.0, 1.0], 2.0, 0.5], [1.0, 1.0, 0.959234, 0.857764, 0.749028]),\n  ('noisy stream', [[1.5, -1.0, 2.0, 0.5], 4.0, 1.0], [1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 6', [[0.0, -1.0, 0.0, -1.0, 0.5], 4.0, 0.25], [1.0, 1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 12', [[0.0, 2.0, 0.0], 2.0, 0.25], [1.0, 1.0, 1.0]),\n  ('difference stream sample 13', [[2.0], 2.0, 0.5], [0.915369])],\n [('p-value never increases after a reversal',\n   [[2.0, 2.0, -1.0, -1.0], 1.0, 1.0],\n   [0.52026, 0.120349, 0.120349, 0.120349]),\n  ('first observation', [[1.0], 1.0, 1.0], [1.0]),\n  ('null-looking stream stays at one', [[0.0, 0.0, 0.0], 1.0, 0.5], [1.0, 1.0, 1.0]),\n  ('steady effect', [[1.0, 1.0, 1.0, 1.0, 1.0], 2.0, 0.5], [1.0, 1.0, 0.959234, 0.857764, 0.749028]),\n  ('noisy stream', [[1.5, -1.0, 2.0, 0.5], 4.0, 1.0], [1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 11', [[2.0], 4.0, 1.0], [1.0]),\n  ('difference stream sample 23',\n   [[0.0, 0.5, -1.0, 2.0, -1.0, 0.0], 4.0, 1.0],\n   [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 29', [[1.5], 2.0, 0.5], [0.999072])],\n [('p-value never increases after a reversal',\n   [[2.0, 2.0, -1.0, -1.0], 1.0, 1.0],\n   [0.52026, 0.120349, 0.120349, 0.120349]),\n  ('first observation', [[1.0], 1.0, 1.0], [1.0]),\n  ('null-looking stream stays at one', [[0.0, 0.0, 0.0], 1.0, 0.5], [1.0, 1.0, 1.0]),\n  ('steady effect', [[1.0, 1.0, 1.0, 1.0, 1.0], 2.0, 0.5], [1.0, 1.0, 0.959234, 0.857764, 0.749028]),\n  ('noisy stream', [[1.5, -1.0, 2.0, 0.5], 4.0, 1.0], [1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 16', [[1.0], 1.0, 0.25], [1.0]),\n  ('difference stream sample 33', [[-1.0, 1.0, 0.0, 2.0], 1.0, 1.0], [1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 56', [[2.0, 2.0, 1.0, 2.0], 4.0, 0.5], [1.0, 0.915369, 0.882617, 0.735148])],\n [('p-value never increases after a reversal',\n   [[2.0, 2.0, -1.0, -1.0], 1.0, 1.0],\n   [0.52026, 0.120349, 0.120349, 0.120349]),\n  ('first observation', [[1.0], 1.0, 1.0], [1.0]),\n  ('null-looking stream stays at one', [[0.0, 0.0, 0.0], 1.0, 0.5], [1.0, 1.0, 1.0]),\n  ('steady effect', [[1.0, 1.0, 1.0, 1.0, 1.0], 2.0, 0.5], [1.0, 1.0, 0.959234, 0.857764, 0.749028]),\n  ('noisy stream', [[1.5, -1.0, 2.0, 0.5], 4.0, 1.0], [1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 4',\n   [[0.0, 2.0, 1.0, 0.0, 1.0, 2.0, 1.0], 1.0, 1.0],\n   [1.0, 0.889265, 0.649305, 0.649305, 0.645678, 0.202205, 0.132287]),\n  ('difference stream sample 21', [[0.0, -1.0, 1.0, 2.0, 1.5], 2.0, 0.25], [1.0, 1.0, 1.0, 1.0, 1.0]),\n  ('difference stream sample 46', [[2.0, 1.0, 1.0], 2.0, 0.5], [0.915369, 0.841754, 0.747052])]]\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 experiment-analysis model with a stipulated contract; results are rounded and are not a substitute for a validated statistics package. 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-experiment-statistics-always-valid-p-running-mean","generated_at":"2026-09-29T14:49:00.236740+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Always-valid p-values let teams monitor continuously without inflating false positives.","root_cause":"mean is set to the current difference.","sha256":"8fe21767661d3ecaacbdaf203c553f66a80351c1d8b95ae0fd84f23c36403c12","title":"Always-valid sequential p-value: The ratio uses the latest observation instead of the mean · 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":44.993,"exit_code":1,"observations":[{"actual":[1.0,0.52947,0.52947,0.52947],"check":"p-value never increases after a reversal","expected":[0.52026,0.120349,0.120349,0.120349],"passed":false},{"actual":[1.0],"check":"first observation","expected":[1.0],"passed":true},{"actual":[1.0,1.0,1.0],"check":"null-looking stream stays at one","expected":[1.0,1.0,1.0],"passed":true},{"actual":[1.0,1.0,1.0,1.0,0.926086],"check":"steady effect","expected":[1.0,1.0,0.959234,0.857764,0.749028],"passed":false},{"actual":[1.0,1.0,1.0,1.0],"check":"noisy stream","expected":[1.0,1.0,1.0,1.0],"passed":true},{"actual":[1.0,1.0,1.0,1.0,1.0,1.0,1.0],"check":"difference stream sample 1","expected":[1.0,1.0,1.0,1.0,1.0,1.0,1.0],"passed":true},{"actual":[1.0,1.0,1.0,1.0,1.0],"check":"difference stream sample 2","expected":[1.0,0.889265,0.889265,0.889265,0.889265],"passed":false},{"actual":[1.0,1.0,1.0,1.0,1.0,1.0,1.0],"check":"difference stream sample 3","expected":[1.0,1.0,1.0,1.0,1.0,1.0,1.0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"p-value never increases after a reversal\", \"actual\": [1.0, 0.52947, 0.52947, 0.52947], \"expected\": [0.52026, 0.120349, 0.120349, 0.120349], \"passed\": false}, {\"check\": \"first observation\", \"actual\": [1.0], \"expected\": [1.0], \"passed\": true}, {\"check\": \"null-looking stream stays at one\", \"actual\": [1.0, 1.0, 1.0], \"expected\": [1.0, 1.0, 1.0], \"passed\": true}, {\"check\": \"steady effect\", \"actual\": [1.0, 1.0, 1.0, 1.0, 0.926086], \"expected\": [1.0, 1.0, 0.959234, 0.857764, 0.749028], \"passed\": false}, {\"check\": \"noisy stream\", \"actual\": [1.0, 1.0, 1.0, 1.0], \"expected\": [1.0, 1.0, 1.0, 1.0], \"passed\": true}, {\"check\": \"difference stream sample 1\", \"actual\": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], \"expected\": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], \"passed\": true}, {\"check\": \"difference stream sample 2\", \"actual\": [1.0, 1.0, 1.0, 1.0, 1.0], \"expected\": [1.0, 0.889265, 0.889265, 0.889265, 0.889265], \"passed\": false}, {\"check\": \"difference stream sample 3\", \"actual\": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], \"expected\": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":39.629,"exit_code":1,"observations":[{"actual":[0.52026,0.120349,0.120349,0.120349],"check":"p-value never increases after a reversal","expected":[0.52026,0.120349,0.120349,0.120349],"passed":true},{"actual":[1.0],"check":"first observation","expected":[1.0],"passed":true},{"actual":[1.0,1.0,1.0],"check":"null-looking stream stays at one","expected":[1.0,1.0,1.0],"passed":true},{"actual":[1.0,1.0,0.959234,0.857764,0.749028],"check":"steady effect","expected":[1.0,1.0,0.959234,0.857764,0.749028],"passed":true},{"actual":[1.0,1.0,0.695552,0.695552],"check":"noisy stream","expected":[1.0,1.0,1.0,1.0],"passed":false},{"actual":[1.0,0.841754,0.841754,0.841754,0.841754,0.841754,0.544528],"check":"difference stream sample 1","expected":[1.0,1.0,1.0,1.0,1.0,1.0,1.0],"passed":false},{"actual":[1.0,0.120349,0.120349,0.120349,0.120349],"check":"difference stream sample 2","expected":[1.0,0.889265,0.889265,0.889265,0.889265],"passed":false},{"actual":[1.0,0.877568,0.695552,0.695552,0.374028,0.374028,0.011047],"check":"difference stream sample 3","expected":[1.0,1.0,1.0,1.0,1.0,1.0,1.0],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"p-value never increases after a reversal\", \"actual\": [0.52026, 0.120349, 0.120349, 0.120349], \"expected\": [0.52026, 0.120349, 0.120349, 0.120349], \"passed\": true}, {\"check\": \"first observation\", \"actual\": [1.0], \"expected\": [1.0], \"passed\": true}, {\"check\": \"null-looking stream stays at one\", \"actual\": [1.0, 1.0, 1.0], \"expected\": [1.0, 1.0, 1.0], \"passed\": true}, {\"check\": \"steady effect\", \"actual\": [1.0, 1.0, 0.959234, 0.857764, 0.749028], \"expected\": [1.0, 1.0, 0.959234, 0.857764, 0.749028], \"passed\": true}, {\"check\": \"noisy stream\", \"actual\": [1.0, 1.0, 0.695552, 0.695552], \"expected\": [1.0, 1.0, 1.0, 1.0], \"passed\": false}, {\"check\": \"difference stream sample 1\", \"actual\": [1.0, 0.841754, 0.841754, 0.841754, 0.841754, 0.841754, 0.544528], \"expected\": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], \"passed\": false}, {\"check\": \"difference stream sample 2\", \"actual\": [1.0, 0.120349, 0.120349, 0.120349, 0.120349], \"expected\": [1.0, 0.889265, 0.889265, 0.889265, 0.889265], \"passed\": false}, {\"check\": \"difference stream sample 3\", \"actual\": [1.0, 0.877568, 0.695552, 0.695552, 0.374028, 0.374028, 0.011047], \"expected\": [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0], \"passed\": false}], \"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."}}