# river-call

River small-bet call math from **pot** and **bet**:

| Output | Formula | Meaning |
|--------|---------|---------|
| required equity | `bet / (pot + 2·bet)` | Equity needed to call; also bluff-catch break-even vs a pure bluff |
| MDF | `pot / (pot + bet)` | Minimum defense frequency |
| alpha | `bet / (pot + bet)` | **Bluffer’s** needed fold frequency (`1 − MDF`) |

**Do not** call alpha the “bluff-catch break-even.” That break-even is the same number as required equity.

Example `?pot=100&bet=33`: required equity ≈ 19.9%, MDF ≈ 75.2%, alpha ≈ 24.8%.

## Human UI

Open `/river-call/`. Defaults to pot=100, bet=33. Includes a bet-size % pot reference table.

## Agent / JSON

```
GET /river-call/?pot=100&bet=33&format=json
```

Also accepts `json=1`. Static hosting: page JS writes a JSON document. Arithmetic is deterministic — Agents may reimplement the three formulas directly.

Machine contracts: `agents.json`, `llms.txt`.

## Catalog

Listed on Agent home (`AGENT_SLUGS`) and in `projects.json`. Template / sample tool for Agent-mono + URL JSON (not SEO-focused).

## Local preview

```bash
cd /workspace/dev.luling.xyz/public
python3 -m http.server 8765
# open http://127.0.0.1:8765/river-call/?pot=100&bet=33
# JSON:  http://127.0.0.1:8765/river-call/?pot=100&bet=33&format=json
```
