docs: §3b full max-search 5110 cascade (Tera→Kilo) with dated landing

Expand CLI-AUTOMATION-NOTES with the 2026-07-19 max-ladder probe table:
hi descent while lo=0, OK at 424114/822256, fine bisect fails to 822788,
and same-day landing Giga/Mega withdraws for contrast.
This commit is contained in:
Hernâni Marques 2026-07-19 14:50:36 +02:00
parent 5c312833e1
commit a534ef8d1c
No known key found for this signature in database

View file

@ -82,50 +82,106 @@ Legend:
| **Workaround (mon ≥1.21)** | Soft `CEILING_REJECT` on 5110/P0001 (classic mids + max pins); **max-ladder** treats mint reject as too-high upper bound and bisects. Keep mid-range rungs for real withdraw/confirm tests. |
| **Wanted (bank)** | Map the SQL condition to a structured error (insufficient funds / amount too large / debit limit) — **not** `BANK_UNMANAGED_EXCEPTION`. Log full `RAISE` text server-side. |
#### What max-search saw (example run, 2026-07-19)
#### Full max-search cascade (primary repro log, 2026-07-19, magikoopa / GOA)
Ladder max-search log (magikoopa):
Mon phase **max-ladder** withdraw hunt. Every reject below is the **same** bank body:
| Time (local mon log) | Probe | Result |
|----------------------|-------|--------|
| (bisect) | lo ≈ **GOA:822256** (822.256 Kilo-GOA) | still treatable as success path / lower bound |
| probe ~24 | **GOA:824385** (824.385 Kilo-GOA) | mint **HTTP 500 / 5110 / P0001** → soft too-high |
| after | hi := **GOA:824385** | continues bisect |
```text
mint HTTP 500 { code :5110, hint : Unexpected sql error with state P0001 }
```
So the **live single-mint fail band** was ~**822825 Kilo-GOA** in that run — **not** “only Tera/Peta pins”.
Mon treats each as soft too-high (`CEILING_REJECT` / `hi:=amount`). **`lo` stays 0** until the first successful mint.
#### Landing page shows **much higher** amounts actually gotten (same day)
**Phase A — pure descent (no success yet): hi falls Tera → Giga → Mega while lo=0**
Public bank intro stats: `https://bank.hacktivism.ch/intro/stats.json` (and the HTML landing that consumes them). Snapshot **2026-07-19 ~14:47 CEST** (`generated_at_human`).
| Probe | Amount (alt) | Raw `GOA:…` | Result |
|------:|--------------|-------------|--------|
| (earlier) | hi already **467.409 Tera-GOA** | `467409181353380` | 5110 (prior probe) |
| 4 | **154.93 Tera-GOA** | `154929915073879` | 5110 → hi:= |
| 5 | **16.20 Tera-GOA** | `16198385073981` | 5110 → hi:= |
| 6 | **1.417 Tera-GOA** | `1416945306636` | 5110 → hi:= |
| 7 | **282.49 Giga-GOA** | `282485970397` | 5110 → hi:= |
| 8 | **132.18 Giga-GOA** | `132183255296` | 5110 → hi:= |
| 9 | **7.417 Giga-GOA** | `7416937654` | 5110 → hi:= |
| 10 | **711.38 Mega-GOA** | `711383774` | 5110 → hi:= |
| 11 | **395.88 Mega-GOA** | `395879334` | 5110 → hi:= |
| 12 | **119.26 Mega-GOA** | `119263564` | 5110 → hi:= |
| 13 | **5.992 Mega-GOA** | `5992111` | 5110 → hi:= |
**Explorer balance still enormous** (so this is not “pool empty” in the UI sense):
**Phase B — first success raises lo; still 5110 just above**
| Field | Value (snapshot) |
|-------|------------------|
| Probe | Amount (alt) | Raw | Result |
|------:|--------------|-----|--------|
| **14** | **424.114 Kilo-GOA** | **`424114`** | **OK mint** → accept → force-select `PNK5YRKT…` → confirm 204 → settle `transfer_done` (wallet **avail still 0**) · **lo:=424114** |
| 15 | **1.594 Mega-GOA** | `1594158` | 5110 → hi:= |
| **16** | **822.256 Kilo-GOA** | **`822256`** | **OK mint** → force-select `SVKV4E9G…` → confirm → settle · **lo:=822256** (best so far) |
**Phase C — fine bisect above best: every step 5110 until convergence**
| Probe | Amount (alt) | Raw | Result |
|------:|--------------|-----|--------|
| 17 | 1.145 Mega-GOA | `1144904` | 5110 |
| 18 | 970.26 Kilo-GOA | `970260` | 5110 |
| 19 | 893.198 Kilo-GOA | `893198` | 5110 |
| 20 | 856.993 Kilo-GOA | `856993` | 5110 |
| 21 | 839.445 Kilo-GOA | `839445` | 5110 |
| 22 | 830.806 Kilo-GOA | `830806` | 5110 |
| 23 | 826.52 Kilo-GOA | `826520` | 5110 |
| 24 | 824.385 Kilo-GOA | `824385` | 5110 |
| 25 | 823.32 Kilo-GOA | `823320` | 5110 |
| 26 | 822.788 Kilo-GOA | `822788` | 5110 → hi:= |
**Converged (mon):**
```text
max-search best withdrawable 822.256 Kilo-GOA (GOA:822256)
· lo=822.256 Kilo-GOA · hi=822.788 Kilo-GOA · probes=26
```
**Reading this log**
1. **Same error from ~467 Tera-GOA down to ~823 Kilo-GOA** — not a single “absurd pin:max” case; the bank returns **5110/P0001** for a **wide continuous range** of amounts.
2. **Successes are real but sparse:** only **`GOA:424114`** and **`GOA:822256`** minted in this hunt (both full bank confirm + `transfer_done`). Everything strictly larger than **822256** in the fine band failed at **mint**.
3. **lo=0 for probes 413** means max-search had **no** successful withdraw yet while already rejecting Tera/Giga/Mega — so 5110 is **not** “only after pool drained by this run.”
4. Settle notes **wallet avail=GOA:0** after OK bank path — coins lag / `pendingIncoming` (pay-wait board, § pay wait UX); separate from mint 5110.
5. Landing `recent_withdraws` at **14:42 CEST** lists the same two OK amounts (`424114`, `822256`) with reserves matching force-select prefixes above.
#### Landing page: much larger withdraws **same day, earlier** (still on explorer)
Public bank intro: `https://bank.hacktivism.ch/intro/stats.json` (HTML landing uses this). Snapshot **2026-07-19 ~14:47 CEST**.
**Pool still looks full in the UI:**
| Field | Snapshot |
|-------|----------|
| `balance_explorer` | **4.5036 Peta-GOA** (`GOA:4503599627250215.32499924`) |
| cumulative `withdraws.total_amount` | **4.5036 Peta-GOA** (292 ops) |
| `withdraws.total_amount` | **4.5036 Peta-GOA** (292 ops) |
| `withdraws.last_24h` | **3.2366 Peta-GOA** (45 ops) |
**Dated single withdraws that *did* mint** (from `recent_withdraws`, account=`explorer`) — all **before** or around the ~824k fail band above:
**Dated explorer withdraws that succeeded *before* this max-search tight band** (`recent_withdraws`, account=`explorer`):
| When (CEST) | Amount (alt) | Raw |
|-------------|--------------|-----|
| **2026-07-19 14:19** | **1.9761 Giga-GOA** | `GOA:1976113563` |
| **2026-07-19 14:19** | **1.4495 Giga-GOA** | `GOA:1449489732` |
| **2026-07-19 14:26** | **201.636 Mega-GOA** | `GOA:201635991` |
| **2026-07-19 14:26** | **144.53 Mega-GOA** | `GOA:144530029` |
| **2026-07-19 14:29** | **3.4099 Mega-GOA** | `GOA:3409891` |
| **2026-07-19 14:29** | **1.8009 Mega-GOA** | `GOA:1800875` |
| **2026-07-19 14:42** | 822.256 Kilo-GOA | `GOA:822256` (matches max-search **lo**) |
| **2026-07-19 14:42** | 424.114 Kilo-GOA | `GOA:424114` |
| When (CEST) | Amount (alt) | Raw | Notes |
|-------------|--------------|-----|--------|
| **2026-07-19 14:19** | **1.9761 Giga-GOA** | `GOA:1976113563` | ~2h before max-search best |
| **2026-07-19 14:19** | **1.4495 Giga-GOA** | `GOA:1449489732` | same minute |
| **2026-07-19 14:26** | **201.636 Mega-GOA** | `GOA:201635991` | |
| **2026-07-19 14:26** | **144.53 Mega-GOA** | `GOA:144530029` | |
| **2026-07-19 14:29** | **3.4099 Mega-GOA** | `GOA:3409891` | |
| **2026-07-19 14:29** | **1.8009 Mega-GOA** | `GOA:1800875` | |
| **2026-07-19 14:42** | 822.256 Kilo-GOA | `GOA:822256` | = max-search **best** (probe 16) |
| **2026-07-19 14:42** | 424.114 Kilo-GOA | `GOA:424114` | = max-search first OK (probe 14) |
Same calendar day, **~1.52 hours earlier**, explorer successfully recorded **Giga-GOA** and **Mega-GOA** withdraws — orders of magnitude **above** the ~824k amount that later returned **5110/P0001**.
**Contrast:** earlier the **same day**, explorer minted **~1.52 Giga-GOA** singles; later the same API returns **5110** for **~823 Kilo-GOA** and for all of Tera→Mega probes in the cascade. Landing **balance_explorer** still shows **~Peta-GOA**. So:
**Takeaway:** landing/stats prove higher single withdraws were **possible and recorded**; the 5110 failure is **not** explained by “config max_wire forbids Kilo-GOA” or by the public explorer balance display. Ops should compare **landing `recent_withdraws` + `balance_explorer`** with mon mint 5110 times when filing bank bugs.
- not “config max_wire forbids Kilo-GOA”;
- not “landing says explorer is empty”;
- **live mintability collapsed / became amount-sensitive** relative to history — bank SQL path is wrong or mis-mapped.
**Earlier mon observations (same error class, larger pins):** classic ladder e.g. `GOA:747827072844319` → mint 500/5110/P0001; absolute max / max-1 ceiling probes — see also classic soft `CEILING_REJECT` and max-ladder hi bound.
**Ops checklist when filing bank bug:** attach (1) this max-search probe table, (2) landing `recent_withdraws` + `balance_explorer` at the same timestamps, (3) bank journal / Postgres `P0001` RAISE text for one failing mint.
**Exchange intro (context, not the mint path):** `https://exchange.hacktivism.ch/intro/stats.json` — e.g. snapshot same day: `wire_in_amount` ~Peta-GOA scale, `withdraw_amount` ~`GOA:1.79e6` coin-side; bank landing is the right place for **explorer mint** history.
**Also seen (same error class):** classic ladder e.g. `GOA:747827072844319` → 500/5110/P0001; absolute max / max-1 ceiling pins → soft `CEILING_REJECT`.
**Exchange intro (not mint path):** `https://exchange.hacktivism.ch/intro/stats.json` — wire-in can still be Peta-scale; use **bank** landing for explorer mint history.
---