diff --git a/CLI-AUTOMATION-NOTES.md b/CLI-AUTOMATION-NOTES.md index 953898f..69bcbc3 100644 --- a/CLI-AUTOMATION-NOTES.md +++ b/CLI-AUTOMATION-NOTES.md @@ -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 ~**822–825 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 4–13** 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.5–2 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.5–2 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. ---