REQUIRED = {"implementation", "protocol", "source", "date", "sample_size"}
def dossier(values, acceptance_window, metadata):
    if REQUIRED - metadata.keys() or metadata["sample_size"] != len(values):
        raise ValueError("incomplete sample record")
    accepted = sum(abs(value) <= acceptance_window for value in values)
    return {"mean":sum(values)/len(values), "best":min(abs(value) for value in values), "yield":accepted/len(values), "n":len(values)}
metadata = {"implementation":"synthetic-spin-array", "protocol":"offset-window-v1", "source":"synthetic", "date":"2026-01-01", "sample_size":5}
baseline = dossier([-2,-1,0,1,2], 1, metadata)
counterfactual = dossier([-4,-2,0,2,4], 1, metadata)
sensitivity = dossier([-4,-2,0,2,4], 2, metadata)
assert baseline["mean"] == counterfactual["mean"] == 0 and baseline["best"] == counterfactual["best"] == 0
assert counterfactual["yield"] < baseline["yield"] == sensitivity["yield"] and baseline["n"] == 5
print(f"PASS: 59 spin evidence same_mean={baseline['mean']} central_yield={baseline['yield']:.1f} heavy_tail={counterfactual['yield']:.1f} wider_window={sensitivity['yield']:.1f}")
