mirror of
https://github.com/GMGNAI/gmgn-skills.git
synced 2026-08-25 05:58:06 +00:00
* enhance skill * fix(holder-analysis): stop reporting artifacts and empty data as verdicts The report could reach a confident rating from numbers that carried no information. Six fixes, all of the same shape: never turn a divide-by-zero or an empty set into a conclusion. - Degenerate float guard (FLOAT_MIN 2%): when burn + DEX hold nearly all supply, every `/ float_share` inflated dust wallets to double digits. A wallet holding ~$2 was rated "largest wallet holds 100% — extreme concentration → Not Recommended". Now prints absolute token/USD figures, forces percentage flags to ⚪ and rates ⚪ Cannot Assess. The dev sock-puppet rule uses no percentage, so it still escalates to 🔴. - Empty holder list: upstream returns {"list":[]} for dead or de-indexed tokens. Every percentage read 0.00%, no threshold fired, and the report printed "no obvious dump risk" and "Normal" — a positive verdict on zero data. Same treatment as above, plus "none found 🟢" lines become ⚪. - Coverage caveat now follows actual coverage: floors below 99.5%, complete values when Top100 covers the whole float. It previously contradicted the line directly above it. - Chip quality split into three exclusive buckets (bought-in / zero-cost airdrop / risk-tagged) instead of one healthy ratio that collapsed to "0.0% 🔴" on any airdrop-distributed token. 🔴 is reserved for risk-tagged >30%: unknown provenance is not proven-bad. - Diamond hands now require buy_tx_count_cur > 0. Never-bought wallets were counted as diamond hands, so an airdropped token claimed both "airdrop 79% 🔴" and "diamond hands 80% ✅" from the same wallets. They are now a separate Idle airdrop line. - ATH staleness: upstream ath_price has been seen equal to price_24h, so creator_ath_info.ath_mc can sit below current MC. Cannot be recomputed here, so it is flagged rather than presented as the dev's peak. Also fixes a NameError in the dev created-tokens Top3 loop (mig_lcomabel assigned, mig_label read) that fired for any dev with a non-empty tokens array. Verified on live data in zh and en: a degenerate-float token, an empty-holder token, and a token with real holders; the full-coverage and created-tokens branches were covered with a stub CLI. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * fix(holder-analysis): 无法评估时不再打印流通盘占比数字 上一版只把旗标中和成 ⚪,占比数字照原样打印。实测退化流通盘(可流通 0.0035%)的输出里仍有 17 处除零产物,同一份报告同时出现 "hold 100.00%" 和 "hold 0.00%": · Rat Trader 1 hold 100.00% 🚨 ← 该钱包实际只握着约 $2 代币 Batch1(1d ago) 15 wallets hold 100.00% 🟢 ← 数字和旗标同时错 KOL 1 hold 0.00% ✅ ← 这一行连 ⚪ 都没有 顶部横幅只解释一次,读者扫到这些行仍会当成结论。改为所有流通盘占比统一走 新的 fpct(),无法评估时渲染 n/a / 无法评估;入场批次旗标补上 pf()。 保留照常打印的部分:钱包个数、代币数量、美元金额、市值(都不经过 float_share),以及总供应口径的百分比(burn / DEX / 流通盘自身 / 筹码质量 三桶,分母不受影响)。 可评估路径为严格 no-op:同一份 stub 数据下中英文输出与改动前逐字节相同。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Jiujiu Pan <panjiujiu@quantbay.tech> Co-authored-by: Claude Opus 5 <noreply@anthropic.com>