### Scenario 1 — bare gross-R, NO cost model (the zero-cost floor)
"expectancy_r":1.2710005136982836
"net_expectancy_r":1.2710005136982836

### Scenario 2 — flat per-trade cost (ConstantCost, deduct AT CLOSE)
# gross expectancy_r is fixed; net_expectancy_r drops monotonically with cost:
  --cost-per-trade 0.0001 -> "expectancy_r":1.2710005136982836 "net_expectancy_r":1.240221293571332 
  --cost-per-trade 0.001 -> "expectancy_r":1.2710005136982836 "net_expectancy_r":0.9632083124287688 
  --cost-per-trade 0.01 -> "expectancy_r":1.2710005136982836 "net_expectancy_r":-1.8069214989968643 

### Scenario 3 — per-HELD-CYCLE carry (CarryCost, ACCRUE over the hold) — the capstone
"expectancy_r":1.2710005136982836
"net_expectancy_r":-0.2679604926492904

### Scenario 4 — compose all three costs into ONE net-R curve
  slip-vol-mult 0.5  alone -> "expectancy_r":1.2710005136982836 "net_expectancy_r":0.5539636994248766 
  cost-per-trade 0.001 alone -> "expectancy_r":1.2710005136982836 "net_expectancy_r":0.9632083124287688 
  carry-per-cycle 0.001 alone -> "expectancy_r":1.2710005136982836 "net_expectancy_r":-0.2679604926492904 
  ALL THREE composed         -> "expectancy_r":1.2710005136982836 "net_expectancy_r":-1.2927895081922123 

### Chart the bleed (self-contained HTML, series baked in):
  ./target/debug/aura chart carry_cost --tap net_r_equity > chart_carry_net_r_equity.html

### Probes (robustness + foot-guns)
  negative carry rate -> exit=2 (guard: refused)
  cost flag on --harness sma (no R block) -> "total_pips":-0.13000000000001358
  ^ exit=0, cost flag SILENTLY IGNORED (no net block, no warning)
