Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
152 changes: 152 additions & 0 deletions REPORT_buy_lay_audit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
# Buy/Lay Audit Report
_Generated 2025-11-03 15:32:08 UTC_

## Summary
Total checks: 56 | Passed: 56 | Failed: 0
Mode A passes: 28 | Mode B passes: 28

## Affordability
| Mode | Bet | Family | First placement cost (obs/exp) | Max count (obs/exp) | End bankroll (obs/exp) | Result |
| --- | --- | --- | --- | --- | --- | --- |
| A | Buy | 4/10 | $20.00/$20.00 | 5/5 | $0.00/$0.00 | PASS |
| A | Buy | 5/9 | $20.00/$20.00 | 5/5 | $0.00/$0.00 | PASS |
| A | Lay | 4/10 | $20.00/$20.00 | 5/5 | $0.00/$0.00 | PASS |
| A | Lay | 5/9 | $20.00/$20.00 | 5/5 | $0.00/$0.00 | PASS |
| B | Buy | 4/10 | $21.00/$21.00 | 4/4 | $16.00/$16.00 | PASS |
| B | Buy | 5/9 | $21.00/$21.00 | 4/4 | $16.00/$16.00 | PASS |
| B | Lay | 4/10 | $21.00/$21.00 | 4/4 | $16.00/$16.00 | PASS |
| B | Lay | 5/9 | $21.00/$21.00 | 4/4 | $16.00/$16.00 | PASS |

## Loss Bookkeeping
| Mode | Bet | Family | Scenario | Observed | Expected | Result |
| --- | --- | --- | --- | --- | --- | --- |
| A | Buy | 4/10 | Loss resolution | $-20.00 | $-20.00 | PASS |
| A | Buy | 5/9 | Loss resolution | $-20.00 | $-20.00 | PASS |
| A | Lay | 4/10 | Loss resolution | $-20.00 | $-20.00 | PASS |
| A | Lay | 5/9 | Loss resolution | $-20.00 | $-20.00 | PASS |
| B | Buy | 4/10 | Loss resolution | $-21.00 | $-21.00 | PASS |
| B | Buy | 5/9 | Loss resolution | $-21.00 | $-21.00 | PASS |
| B | Lay | 4/10 | Loss resolution | $-21.00 | $-21.00 | PASS |
| B | Lay | 5/9 | Loss resolution | $-21.00 | $-21.00 | PASS |

## Win Bookkeeping
| Mode | Bet | Family | Scenario | Observed | Expected | Result |
| --- | --- | --- | --- | --- | --- | --- |
| A | Buy | 4/10 | Raw win credited | $38.00 | $38.00 | PASS |
| A | Buy | 4/10 | Net bankroll delta | $38.00 | $38.00 | PASS |
| A | Buy | 5/9 | Raw win credited | $28.50 | $28.50 | PASS |
| A | Buy | 5/9 | Net bankroll delta | $28.50 | $28.50 | PASS |
| A | Lay | 4/10 | Raw win credited | $9.50 | $9.50 | PASS |
| A | Lay | 4/10 | Net bankroll delta | $9.50 | $9.50 | PASS |
| A | Lay | 5/9 | Raw win credited | $12.67 | $12.67 | PASS |
| A | Lay | 5/9 | Net bankroll delta | $12.67 | $12.67 | PASS |
| B | Buy | 4/10 | Raw win credited | $40.00 | $40.00 | PASS |
| B | Buy | 4/10 | Net bankroll delta | $39.00 | $39.00 | PASS |
| B | Buy | 5/9 | Raw win credited | $30.00 | $30.00 | PASS |
| B | Buy | 5/9 | Net bankroll delta | $29.00 | $29.00 | PASS |
| B | Lay | 4/10 | Raw win credited | $10.00 | $10.00 | PASS |
| B | Lay | 4/10 | Net bankroll delta | $9.00 | $9.00 | PASS |
| B | Lay | 5/9 | Raw win credited | $13.33 | $13.33 | PASS |
| B | Lay | 5/9 | Net bankroll delta | $12.33 | $12.33 | PASS |

## Pressing
| Mode | Bet | Family | Scenario | Observed | Expected | Result |
| --- | --- | --- | --- | --- | --- | --- |
| A | Buy | 4/10 | Second increment | $20.00 | $20.00 | PASS |
| A | Buy | 5/9 | Second increment | $20.00 | $20.00 | PASS |
| A | Lay | 4/10 | Second increment | $20.00 | $20.00 | PASS |
| A | Lay | 5/9 | Second increment | $20.00 | $20.00 | PASS |
| B | Buy | 4/10 | Second increment | $21.00 | $21.00 | PASS |
| B | Buy | 5/9 | Second increment | $21.00 | $21.00 | PASS |
| B | Lay | 4/10 | Second increment | $21.00 | $21.00 | PASS |
| B | Lay | 5/9 | Second increment | $21.00 | $21.00 | PASS |

## Removal / Refund
| Mode | Bet | Family | Scenario | Observed | Expected | Result |
| --- | --- | --- | --- | --- | --- | --- |
| A | Buy | 4/10 | Pull bet | $0.00 | $-0.00 | PASS |
| A | Buy | 5/9 | Pull bet | $0.00 | $-0.00 | PASS |
| A | Lay | 4/10 | Pull bet | $0.00 | $-0.00 | PASS |
| A | Lay | 5/9 | Pull bet | $0.00 | $-0.00 | PASS |
| B | Buy | 4/10 | Pull bet | $-1.00 | $-1.00 | PASS |
| B | Buy | 5/9 | Pull bet | $-1.00 | $-1.00 | PASS |
| B | Lay | 4/10 | Pull bet | $-1.00 | $-1.00 | PASS |
| B | Lay | 5/9 | Pull bet | $-1.00 | $-1.00 | PASS |

## Timing / Legality
| Mode | Bet | Family | Scenario | Observed | Expected | Result |
| --- | --- | --- | --- | --- | --- | --- |
| A | Buy | 4/10 | Illegal timing | Not tested | API not available | N/A |
| A | Buy | 5/9 | Illegal timing | Not tested | API not available | N/A |
| A | Lay | 4/10 | Illegal timing | Not tested | API not available | N/A |
| A | Lay | 5/9 | Illegal timing | Not tested | API not available | N/A |
| B | Buy | 4/10 | Illegal timing | Not tested | API not available | N/A |
| B | Buy | 5/9 | Illegal timing | Not tested | API not available | N/A |
| B | Lay | 4/10 | Illegal timing | Not tested | API not available | N/A |
| B | Lay | 5/9 | Illegal timing | Not tested | API not available | N/A |

## Method
- Modes: A (vig on win), B (vig upfront).
- Bankroll $100.00, wager increment $20.00.
- Dice outcomes forced via deterministic map.
- Tolerance: ±0.01.
- No engine code modified; audit relies on public Table/Bet APIs.

## Appendix
category,mode,bet,family,scenario,observed,expected,result
Affordability,A,Buy,4/10,Placement capacity,first=$20.00; max=5; end=$0.00,first=$20.00; max=5; end=$0.00,PASS
Affordability,A,Buy,5/9,Placement capacity,first=$20.00; max=5; end=$0.00,first=$20.00; max=5; end=$0.00,PASS
Affordability,A,Lay,4/10,Placement capacity,first=$20.00; max=5; end=$0.00,first=$20.00; max=5; end=$0.00,PASS
Affordability,A,Lay,5/9,Placement capacity,first=$20.00; max=5; end=$0.00,first=$20.00; max=5; end=$0.00,PASS
Affordability,B,Buy,4/10,Placement capacity,first=$21.00; max=4; end=$16.00,first=$21.00; max=4; end=$16.00,PASS
Affordability,B,Buy,5/9,Placement capacity,first=$21.00; max=4; end=$16.00,first=$21.00; max=4; end=$16.00,PASS
Affordability,B,Lay,4/10,Placement capacity,first=$21.00; max=4; end=$16.00,first=$21.00; max=4; end=$16.00,PASS
Affordability,B,Lay,5/9,Placement capacity,first=$21.00; max=4; end=$16.00,first=$21.00; max=4; end=$16.00,PASS
Loss,A,Buy,4/10,Loss resolution,$-20.00,$-20.00,PASS
Loss,A,Buy,5/9,Loss resolution,$-20.00,$-20.00,PASS
Loss,A,Lay,4/10,Loss resolution,$-20.00,$-20.00,PASS
Loss,A,Lay,5/9,Loss resolution,$-20.00,$-20.00,PASS
Loss,B,Buy,4/10,Loss resolution,$-21.00,$-21.00,PASS
Loss,B,Buy,5/9,Loss resolution,$-21.00,$-21.00,PASS
Loss,B,Lay,4/10,Loss resolution,$-21.00,$-21.00,PASS
Loss,B,Lay,5/9,Loss resolution,$-21.00,$-21.00,PASS
Win,A,Buy,4/10,Raw win credited,$38.00,$38.00,PASS
Win,A,Buy,4/10,Net bankroll delta,$38.00,$38.00,PASS
Win,A,Buy,5/9,Raw win credited,$28.50,$28.50,PASS
Win,A,Buy,5/9,Net bankroll delta,$28.50,$28.50,PASS
Win,A,Lay,4/10,Raw win credited,$9.50,$9.50,PASS
Win,A,Lay,4/10,Net bankroll delta,$9.50,$9.50,PASS
Win,A,Lay,5/9,Raw win credited,$12.67,$12.67,PASS
Win,A,Lay,5/9,Net bankroll delta,$12.67,$12.67,PASS
Win,B,Buy,4/10,Raw win credited,$40.00,$40.00,PASS
Win,B,Buy,4/10,Net bankroll delta,$39.00,$39.00,PASS
Win,B,Buy,5/9,Raw win credited,$30.00,$30.00,PASS
Win,B,Buy,5/9,Net bankroll delta,$29.00,$29.00,PASS
Win,B,Lay,4/10,Raw win credited,$10.00,$10.00,PASS
Win,B,Lay,4/10,Net bankroll delta,$9.00,$9.00,PASS
Win,B,Lay,5/9,Raw win credited,$13.33,$13.33,PASS
Win,B,Lay,5/9,Net bankroll delta,$12.33,$12.33,PASS
Press,A,Buy,4/10,Second increment,$20.00,$20.00,PASS
Press,A,Buy,5/9,Second increment,$20.00,$20.00,PASS
Press,A,Lay,4/10,Second increment,$20.00,$20.00,PASS
Press,A,Lay,5/9,Second increment,$20.00,$20.00,PASS
Press,B,Buy,4/10,Second increment,$21.00,$21.00,PASS
Press,B,Buy,5/9,Second increment,$21.00,$21.00,PASS
Press,B,Lay,4/10,Second increment,$21.00,$21.00,PASS
Press,B,Lay,5/9,Second increment,$21.00,$21.00,PASS
Removal,A,Buy,4/10,Pull bet,$0.00,$-0.00,PASS
Removal,A,Buy,5/9,Pull bet,$0.00,$-0.00,PASS
Removal,A,Lay,4/10,Pull bet,$0.00,$-0.00,PASS
Removal,A,Lay,5/9,Pull bet,$0.00,$-0.00,PASS
Removal,B,Buy,4/10,Pull bet,$-1.00,$-1.00,PASS
Removal,B,Buy,5/9,Pull bet,$-1.00,$-1.00,PASS
Removal,B,Lay,4/10,Pull bet,$-1.00,$-1.00,PASS
Removal,B,Lay,5/9,Pull bet,$-1.00,$-1.00,PASS
Timing,A,Buy,4/10,Illegal timing,Not tested,API not available,N/A
Timing,A,Buy,5/9,Illegal timing,Not tested,API not available,N/A
Timing,A,Lay,4/10,Illegal timing,Not tested,API not available,N/A
Timing,A,Lay,5/9,Illegal timing,Not tested,API not available,N/A
Timing,B,Buy,4/10,Illegal timing,Not tested,API not available,N/A
Timing,B,Buy,5/9,Illegal timing,Not tested,API not available,N/A
Timing,B,Lay,4/10,Illegal timing,Not tested,API not available,N/A
Timing,B,Lay,5/9,Illegal timing,Not tested,API not available,N/A
Loading
Loading