Sorvegliante del cuscino USDC di regolamento con riconversione automatica (debito §5.17) #3

Closed
opened 2026-09-10 12:54:33 +00:00 by Adriano · 1 comment
Owner

COSA: script orario che legge l'EQUITY USDC dal gateway, deriva il cuscino richiesto da config (n_asset x frac x disaster_sl_pct x equity totale, la stessa formula di usde_convert.cuscino_richiesto_usd, spostata in src/live/usde.py cosi' i due lettori la condividono — P1), e: preavviso ⚠️ alla transizione sotto il 10% di slack; 🚨 sotto zero, e in quel caso lancia usde_convert --quota --esegui per ricostituire il cuscino (vende USDE, ~6 bps). PERCHE': P&L e funding dei perp si regolano in USDC; a quota 68,7% lo slack e' ~$41 e un USDC negativo costa 0,05%/giorno (18,25%/anno). usde_watch allerta solo sulla quota > 0,85: a -$58 di USDC il cuscino e' gia' scoperto. Decisione dell'operatore 10/09: misura = equity USDC, azione = riconverte da solo. CRITERIO DI FATTO: funzioni pure testate (slack, soglia, quota bersaglio derivata), dry-run registrato in jsonl, riga di cron, spec in monitor_health, allerta 'non vedo' se il conto non e' leggibile.

COSA: script orario che legge l'EQUITY USDC dal gateway, deriva il cuscino richiesto da config (n_asset x frac x disaster_sl_pct x equity totale, la stessa formula di usde_convert.cuscino_richiesto_usd, spostata in src/live/usde.py cosi' i due lettori la condividono — P1), e: preavviso ⚠️ alla transizione sotto il 10% di slack; 🚨 sotto zero, e in quel caso lancia usde_convert --quota <minore> --esegui per ricostituire il cuscino (vende USDE, ~6 bps). PERCHE': P&L e funding dei perp si regolano in USDC; a quota 68,7% lo slack e' ~$41 e un USDC negativo costa 0,05%/giorno (18,25%/anno). usde_watch allerta solo sulla quota > 0,85: a -$58 di USDC il cuscino e' gia' scoperto. Decisione dell'operatore 10/09: misura = equity USDC, azione = riconverte da solo. CRITERIO DI FATTO: funzioni pure testate (slack, soglia, quota bersaglio derivata), dry-run registrato in jsonl, riga di cron, spec in monitor_health, allerta 'non vedo' se il conto non e' leggibile.
Adriano added the sviluppo label 2026-09-10 12:54:33 +00:00
Author
Owner

Soluzione

Commit f82f685 (2026-09-10). Nuovo scripts/live/cuscino_watch.py (cron orario :53 via scripts/cron_cuscino.sh, installato in crontab; spec in src/live/monitor_health.py, max 3h). Misura: EQUITY USDC dal gateway. Cuscino = usde.cuscino_richiesto_usd(equity_tot) = 2 x book.WEIGHT x disaster_sl_pct x equity totale: la formula e' stata SPOSTATA in src/live/usde.py e usde_convert.py la importa (una formula, due lettori: P1). Stati OK / PREAVVISO (slack < 10% del cuscino, allerta alla transizione) / SCOPERTO (slack < 0: 🚨 e riconversione automatica via subprocess 'usde_convert.py --quota usde.quota_ripristino(0.20)=0.64 --esegui', cuscino + 20% di margine) / BLIND. Guardie: execution_enabled di config (stesso interruttore del libro), niente vendita sotto depeg_warn, un tentativo VERO ogni 6h, guardie proprie di usde_convert ereditate; marcatore 'gia detto' = esito di notify (§5.2); --secco non ordina, non notifica, non scrive il registro. In usde_convert.piano il tetto del venue ora vale solo in acquisto (bloccava la vendita: revisione fable). Limiti dichiarati: ratchet verso il basso (nessun riacquisto automatico a 0,70: decisione dell'operatore aperta), slack zero per costruzione a quota 0,70 (PREAVVISO e' lo stato normale a quota piena), nessun lock col lancio a mano. Primo giro 13:00Z: PREAVVISO, slack +$26 su $1.335. Test: tests/test_cuscino_watch.py (16, crontab letta viva).

**Soluzione** Commit f82f685 (2026-09-10). Nuovo scripts/live/cuscino_watch.py (cron orario :53 via scripts/cron_cuscino.sh, installato in crontab; spec in src/live/monitor_health.py, max 3h). Misura: EQUITY USDC dal gateway. Cuscino = usde.cuscino_richiesto_usd(equity_tot) = 2 x book.WEIGHT x disaster_sl_pct x equity totale: la formula e' stata SPOSTATA in src/live/usde.py e usde_convert.py la importa (una formula, due lettori: P1). Stati OK / PREAVVISO (slack < 10% del cuscino, allerta alla transizione) / SCOPERTO (slack < 0: 🚨 e riconversione automatica via subprocess 'usde_convert.py --quota usde.quota_ripristino(0.20)=0.64 --esegui', cuscino + 20% di margine) / BLIND. Guardie: execution_enabled di config (stesso interruttore del libro), niente vendita sotto depeg_warn, un tentativo VERO ogni 6h, guardie proprie di usde_convert ereditate; marcatore 'gia detto' = esito di notify (§5.2); --secco non ordina, non notifica, non scrive il registro. In usde_convert.piano il tetto del venue ora vale solo in acquisto (bloccava la vendita: revisione fable). Limiti dichiarati: ratchet verso il basso (nessun riacquisto automatico a 0,70: decisione dell'operatore aperta), slack zero per costruzione a quota 0,70 (PREAVVISO e' lo stato normale a quota piena), nessun lock col lancio a mano. Primo giro 13:00Z: PREAVVISO, slack +$26 su $1.335. Test: tests/test_cuscino_watch.py (16, crontab letta viva).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Adriano/PythagorasGoal#3