{
 "at": "2026-09-15T22:10:13.430Z",
 "block": 63958673,
 "props": [
  {
   "name": "a share with one real pool still fills",
   "ok": true,
   "why": ""
  },
  {
   "name": "an empty book refuses, and says so",
   "ok": true,
   "why": "no reason"
  },
  {
   "name": "spending more never buys fewer shares",
   "ok": true,
   "why": ""
  },
  {
   "name": "the price per share rises with size",
   "ok": true,
   "why": ""
  },
  {
   "name": "a pool that cannot take a dollar is not a pool",
   "ok": true,
   "why": "a thin pool was traded"
  },
  {
   "name": "CONTROL: without the depth probe a thin pool IS traded",
   "ok": true,
   "why": "turning the probe off changed nothing — the probe is not doing the work"
  },
  {
   "name": "the arbitrage on a level book is nothing",
   "ok": true,
   "why": "every pool agrees, inside its own fee"
  },
  {
   "name": "lambda sits between the best ask and the best bid, for the arbitrage",
   "ok": true,
   "why": "the book agrees"
  },
  {
   "name": "a pool that cannot be walked does not sink the whole order",
   "ok": true,
   "why": ""
  },
  {
   "name": "an arbitrage carries no inventory and no shares are invented",
   "ok": true,
   "why": ""
  },
  {
   "name": "a v4 pool's swap fee is its LP fee plus at most the protocol cap",
   "ok": true,
   "why": ""
  },
  {
   "name": "the leg cap binds when a share has more pools than it allows",
   "ok": true,
   "why": "2 buy legs against a cap of 2"
  },
  {
   "name": "a swap and its reverse never return more than they took",
   "ok": true,
   "why": ""
  },
  {
   "name": "the same book gives the same plan twice",
   "ok": true,
   "why": "the solver is not deterministic"
  },
  {
   "name": "an order this chain cannot fill is refused, not invented",
   "ok": true,
   "why": "a hundred-million-dollar order was filled"
  }
 ],
 "fuzz": {
  "draws": 600,
  "assertions": 10890,
  "failures": []
 },
 "sabotage": [
  {
   "name": "the depth probe is removed",
   "caught": true,
   "by": "only real pools are traded"
  },
  {
   "name": "the fee ceiling is removed",
   "caught": true,
   "by": "only real pools are traded"
  },
  {
   "name": "the ask is marked down instead of up",
   "caught": true,
   "by": "lambda sits between the best ask and the best bid, for the arbitrage"
  },
  {
   "name": "the bid is marked up instead of down",
   "caught": true,
   "by": "lambda sits between the best ask and the best bid, for the arbitrage"
  },
  {
   "name": "the fee enters as a price factor, not its square root",
   "caught": true,
   "by": "no buy leg is traded past lambda"
  },
  {
   "name": "the orientation is ignored — every pool is read as dollars-first",
   "caught": true,
   "by": "the leg cap binds when a share has more pools than it allows"
  },
  {
   "name": "the bisection walks the wrong way",
   "caught": true,
   "by": "the leg cap binds when a share has more pools than it allows"
  },
  {
   "name": "the leg cap is ignored",
   "caught": true,
   "by": "the leg cap binds when a share has more pools than it allows"
  },
  {
   "name": "an order one pool can fill is refused anyway",
   "caught": true,
   "by": "Shim never refuses an order one pool can fill"
  },
  {
   "name": "an edge leg is dropped instead of traded to the edge",
   "caught": true,
   "by": "Shim buys at least what a greedy 32-slice split buys"
  },
  {
   "name": "the sell side is not clamped to what is in hand",
   "caught": false,
   "declared": "unreachable on a buy order: the net demand is positive, so the sell legs are always smaller than the buy legs. The invariant \"the sell side never exceeds what was bought\" holds on every draw, which is what makes this dead code rather than an untested branch."
  },
  {
   "name": "the cost is the gross, not the net",
   "caught": true,
   "by": "Shim buys at least what a greedy 32-slice split buys"
  },
  {
   "name": "the baseline is the WORST single pool",
   "caught": true,
   "by": "the baseline is the cheapest single pool, not the worst"
  },
  {
   "name": "legs are priced by the solver rather than re-simulated",
   "caught": true,
   "by": "every buy leg returns what the plan says"
  },
  {
   "name": "the arbitrage is allowed to keep inventory",
   "caught": true,
   "by": "the arbitrage carries no inventory"
  },
  {
   "name": "the fee is dropped from the swap entirely",
   "caught": true,
   "by": "Shim buys at least what a greedy 32-slice split buys"
  },
  {
   "name": "swapToPrice forgets the fee on each step",
   "caught": true,
   "by": "a buy leg short of lambda is maximal"
  },
  {
   "name": "swapToPrice keeps the starting liquidity across ticks",
   "caught": true,
   "by": "no buy leg is traded past lambda"
  },
  {
   "name": "after() re-quotes with the old liquidity",
   "caught": true,
   "by": "a swap and its reverse never return more than they took"
  },
  {
   "name": "the protocol fee is read as one number, not two packed ones",
   "caught": true,
   "by": "a v4 pool's swap fee is its LP fee plus at most the protocol cap"
  }
 ],
 "caught": 19,
 "declared": 1,
 "sabotages": 20,
 "survivors": [],
 "pass": 15,
 "fail": 0
}