== OpenAI flow threshold, context from the call-site fact
   development: {'rows': 160, 'jev': 160, 'openai': 160, 'both': 160, 'jev errors': 0, 'openai errors': 0, 'refused': 0, 'empty': 0}
   development: AUC jev 0.904, openai 0.881
   development: openai usage 160 requests, 125383 input tokens, 0 output tokens, median input 664, median 0.14 s, models ['gpt-6-luna']
   holdout: {'rows': 96, 'jev': 96, 'openai': 96, 'both': 96, 'jev errors': 0, 'openai errors': 0, 'refused': 0, 'empty': 0}
   holdout: AUC jev 0.936, openai 0.862
   holdout: openai usage 96 requests, 88559 input tokens, 0 output tokens, median input 743, median 0.14 s, models ['gpt-6-luna']
   P<0.01  jev dev caught 0/80 (0.0%), flagged 0/80 (0.0%); jev holdout caught 0/48 (0.0%), flagged 0/48 (0.0%); openai dev caught 22/80 (27.5%), flagged 2/80 (2.5%); openai holdout caught 12/48 (25.0%), flagged 2/48 (4.2%)
   P<0.02  jev dev caught 0/80 (0.0%), flagged 0/80 (0.0%); jev holdout caught 0/48 (0.0%), flagged 0/48 (0.0%); openai dev caught 27/80 (33.8%), flagged 2/80 (2.5%); openai holdout caught 18/48 (37.5%), flagged 3/48 (6.2%)
   P<0.05  jev dev caught 4/80 (5.0%), flagged 0/80 (0.0%); jev holdout caught 1/48 (2.1%), flagged 0/48 (0.0%); openai dev caught 32/80 (40.0%), flagged 4/80 (5.0%); openai holdout caught 24/48 (50.0%), flagged 6/48 (12.5%)
   P<0.1   jev dev caught 17/80 (21.2%), flagged 0/80 (0.0%); jev holdout caught 8/48 (16.7%), flagged 0/48 (0.0%); openai dev caught 46/80 (57.5%), flagged 5/80 (6.2%); openai holdout caught 33/48 (68.8%), flagged 8/48 (16.7%)
   P<0.15  jev dev caught 35/80 (43.8%), flagged 1/80 (1.2%); jev holdout caught 18/48 (37.5%), flagged 0/48 (0.0%); openai dev caught 52/80 (65.0%), flagged 11/80 (13.8%); openai holdout caught 35/48 (72.9%), flagged 10/48 (20.8%)
   P<0.2   jev dev caught 48/80 (60.0%), flagged 2/80 (2.5%); jev holdout caught 25/48 (52.1%), flagged 1/48 (2.1%); openai dev caught 63/80 (78.8%), flagged 15/80 (18.8%); openai holdout caught 38/48 (79.2%), flagged 11/48 (22.9%)
   P<0.25  jev dev caught 58/80 (72.5%), flagged 4/80 (5.0%); jev holdout caught 33/48 (68.8%), flagged 3/48 (6.2%); openai dev caught 67/80 (83.8%), flagged 17/80 (21.2%); openai holdout caught 41/48 (85.4%), flagged 13/48 (27.1%)
   P<0.3   jev dev caught 64/80 (80.0%), flagged 10/80 (12.5%); jev holdout caught 38/48 (79.2%), flagged 4/48 (8.3%); openai dev caught 71/80 (88.8%), flagged 23/80 (28.7%); openai holdout caught 42/48 (87.5%), flagged 14/48 (29.2%)
   P<0.35  jev dev caught 67/80 (83.8%), flagged 16/80 (20.0%); jev holdout caught 39/48 (81.2%), flagged 7/48 (14.6%); openai dev caught 72/80 (90.0%), flagged 27/80 (33.8%); openai holdout caught 43/48 (89.6%), flagged 17/48 (35.4%)
   P<0.4   jev dev caught 69/80 (86.2%), flagged 25/80 (31.2%); jev holdout caught 45/48 (93.8%), flagged 7/48 (14.6%); openai dev caught 73/80 (91.2%), flagged 30/80 (37.5%); openai holdout caught 44/48 (91.7%), flagged 17/48 (35.4%)
   P<0.5   jev dev caught 74/80 (92.5%), flagged 32/80 (40.0%); jev holdout caught 46/48 (95.8%), flagged 16/48 (33.3%); openai dev caught 75/80 (93.8%), flagged 39/80 (48.8%); openai holdout caught 46/48 (95.8%), flagged 19/48 (39.6%)
   jev      0.2 caught     dev 48/80 (60.0%)      holdout 25/48 (52.1%)
   jev      0.2 flagged    dev 2/80 (2.5%)        holdout 1/48 (2.1%)
   openai  0.02 caught     dev 27/80 (33.8%)      holdout 18/48 (37.5%)      +3.7 points pass
   openai  0.02 flagged    dev 2/80 (2.5%)        holdout 3/48 (6.2%)        +3.8 points pass
   openai: PASS at P<0.02 (Jev budget flagged 0.0250)
