tonify-sims

SIM 3 — «Анти-кладбище»: закон «выплаты ≤ приток» против эмиссии

Модельная спека v1.2 · economist → engineer · после red team · Tonify Research · август 2026 · CHANGELOG в конце

Реализация: sim3/sim3_anti_graveyard.py, numpy, seed=42, фигуры → figures/. Спека самодостаточна: реализуется без единого вопроса. Код — не здесь; здесь уравнения, параметры, допуски, приёмка.


0. Что строим (одним абзацем)

Агентная токеномика с тремя популяциями (юзеры, артисты, спекулянты) и двумя режимами казны. Режим A («Закон Tonify»): казна собирает 5% комиссии с реальных внешних донатов; выплаты (кэшбэк/поощрения) в месяц t ≤ внешнего притока месяца t; эмиссии нет. Режим B (STEPN/Axie): выплаты юзерам — из эмиссии токена; доходность каждого зависит от притока новых; цена токена — функция чистого спроса. Форма коллапса B калибруется на Hamster Kombat: DAU 300M→12M за 6 месяцев, фактор ×25 (Caladan, апрель 2026 — якорь из ТЗ). Горизонт 36 мес, шаг — месяц. Выходы: траектории казны и DAU обоих режимов; распределение даты смерти B по 200 прогонам; один слайд-график «две кривые». Фальсификатор — §8.


1. Параметры → источники

1.1 Из мира sim1 (готовое, не пересматривается)

Параметр Значение Источник
Донат-чек lognormal(медиана $5, σ=0,8) → средний чек $6,9 допущение sim1, форма Bandcamp/Twitch (paper/RESULTS.md «Честные ограничения» п.2); в sim3 используется агрегатом — только среднее $6,9, как в milestone-солвере sim1
Доля суперфанов s 1,7% (диапазон 0,6–1,7%, правило 97-2-1) SoundCloud FPR + paper/CRITIC.md §7; база 1,7% выбрана намеренно = конфигурация milestone-расчёта sim1, что даёт бесплатный кросс-чек казны (T3b)
Кеф k (платежей/суперфан/год) 4 ось «Объекта 3» sim1; 4 = значение milestone-расчёта sim1 (RESULTS §4); бенчмарки Twitch/Patreon 12 — не используем, консервативно
Комиссия Tonify 5% от доната PAPER §5, RESULTS §3
TON-рельса доставка 99,9% ($1 → артисту 94,9¢ / Tonify 5,0¢ / рельса 0,1¢) RESULTS §3, fig4
Контрактный сплит direct-механизма independent ×1,0; signed-360 ×0,70 (DEAL360) Addendum v0.5, fig7 (direct·360 MVA 4 577 = 3 204/0,70)
Лейбл-проход 6,8% (LABEL_PASS) не применяется в sim3 Addendum v0.5: 6,8% — цепочка пуло-подобных роялти; донат — direct-механизм, к нему применяется 360-сделка ×0,70. Обоснование — §6
Распределение дохода по артистам Парето-хвост α=1,4, Gini 0,97; нижние 90% артистов держат ~0,9% денег PAPER §2, RESULTS «Валидация мира»

1.2 Калибровочные якоря режима B

Якорь Значение Статус
Hamster Kombat: DAU 300M→12M за 6 мес после пика (×25; остаток 4% пика) главный калибровочный якорь формы коллапса источник: Caladan, апрель 2026 (из ТЗ). Целевой чистый темп сжатия в фазе коллапса: 25^(1/6) ≈ 1,71×/мес, т.е. ~41,5% DAU в месяц
STEPN GST 2022: payback входа на пике ~20–40 дней; затем цена GST −99%+ стилизованный факт, флаг: точная цифра не проверена по первоисточнику используется только для порядка величины стартовой доходности y₀ (payback ~2 мес — консервативнее пика)
Axie SLP 2021–22: эмиссия » сжигание, цена SLP −99% от пика, выплаты обесценились стилизованный факт, флаг: точная цифра не проверена по первоисточнику используется только качественно: казна/выплаты в собственном токене умирают вместе с ценой

Hamster — это tap-to-earn без платного входа; STEPN/Axie — earn с платным входом. Sim3 намеренно совмещает: механика входа/эмиссии — STEPN/Axie-типа, форма коллапса DAU — хамстер-якорь. Это композит, а не модель конкретного проекта — зафиксировано в §11.

1.3 Введённые параметры sim3 (каждый — источник или флаг «допущение»)

# Параметр База Обоснование
P1 U₀ — стартовый DAU обоих режимов 1 000 000 выбор для сопоставимости с milestone-якорем sim1 (1M MAU → $1 955/мес комиссии); допущение
P2 c_min — базовый месячный churn (оба режима) 0,05 допущение: порядок месячного оттока consumer-приложений; одинаков в A и B, чтобы вся разница режимов шла из механики денег, а не из вшитых констант
P3 i_A — органический приток A, доля от U_t 0,06/мес допущение: скромный органический рост; чистый рост A = +1%/мес (6% − 5%). Фальсификатор §8 отдельно гоняет i_A = 0
P4 ρ — доля притока казны A, уходящая в кэшбэк 0,5 допущение (политика, не экономика): инвариант A выполняется при любом ρ ∈ [0,1]; sensitivity не требуется
P5 c_e — стоимость входа в B (покупка токена/NFT) $100 стилизация STEPN-кроссовка; допущение
P6 y₀ — стартовая месячная доходность B 0,5/мес (payback 2 мес) от стилизованного факта STEPN (§1.2), взято консервативнее пика; флаг
P7 ε — эмиссия токенов юзеру 50 ток./юзер/мес производная: ε = y₀·c_e/P₀ при P₀=$1; не свободный параметр
P8 δ_u — доля заработка, продаваемая юзером 0,7 допущение: 30% реинвест/холд (STEPN-минты, апгрейды)
P9 κ — эластичность цены к дисбалансу спроса 0,5 допущение; цена — стилизация (§11), κ формует крутизну, калибруется в узком гриде §7
P10 ν — вирусный коэффициент притока B 0,6 калибровочная ручка под T1 (грид §7.1)
P11 U_max — потолок рынка B (TAM) 20 000 000 калибровочная ручка под T1: даёт пик в месяцах 6–12
P12 λ — чувствительность оттока к падению доходности 0,5 калибровочная ручка под T1
P13 c_max — потолок месячного оттока B 0,45 от хамстер-темпа ~41,5%/мес (§1.2); верхняя граница clip
P14 ω — доля спекулянтских покупок от входного объёма юзеров 0,3 допущение
P15 d_trig — drawdown цены, триггер паники спекулянтов ~U[0,15; 0,35] на прогон допущение; стохастика тайминга паники (§5)
P16 ψ — темп панического сброса инвентаря спекулянтов 0,6/мес допущение: слив за 2–3 мес, затяжная форма как у Hamster
P17 σ_I — шум притока B (лognormal, мультипликативный) 0,2 допущение (§5)
P18 σ_P — шум цены B (лognormal, мультипликативный) 0,15 допущение (§5)
P19 φ_B — fee протокола B, в токенах, от sell-объёма 0,05 выбор для чистоты сравнения: та же ставка 5%, что у Tonify; различие режимов — в валюте и базе сбора, не в ставке
P20 cap притока min(y_t/y₀, 2) допущение: вирусность не растёт бесконечно с доходностью
P21 Артист уходит при доходе < $1/мес 6 мес подряд допущение (порог логистики: ниже минимума вывода всё равно ничего не происходит)
P22 N_art — размер артистного слоя 10 000 агентов допущение (достаточно для стабильной суммы весов; веса — из распределения sim1)
P23 DAU ≈ MAU на месячном шаге допущение-упрощение: шаг месяц не различает; в тексте пишем DAU как в ТЗ

2. Агенты и динамика

Три популяции. Месячный шаг t = 0..36. Всё — агрегатные переменные состояния (агентность — в поведенческих правилах популяций, не в поштучной симуляции юзеров; поштучный слой — только артисты, §2.3). Меньше параметров > больше реализма.

2.1 Юзеры

Режим A:

приток:  I_t = i_A · U_t                        (базовый органический)
отток:   O_t = c_min · U_t                      (базовый churn; доходности, к которой
                                                 быть чувствительным, в A нет — юзер
                                                 не зарабатывает, он донатит)
U_{t+1} = U_t + I_t − O_t

Донатный поток (реальные внешние деньги, $/мес):

D_t = U_t · s · (k/12) · $6,9 · w_t

где w_t ∈ [0,1] — коэффициент живого каталога артистов (§2.3), w₀ = 1. При U=1M, w=1: D = $39 100/мес, комиссия $1 955/мес — ровно milestone-число sim1 (кросс-чек T3b).

Режим B:

доходность:  y_t = ε · P_t / c_e                (месячный ROI фарма к цене входа)
приток:      I_t = ν · min(y_t/y₀, 2) · U_t · (1 − U_t/U_max) · ξ_I,t
             ξ_I,t ~ lognormal(0, σ_I)          (шум притока, §5)
отток:       c_t = clip(c_min + λ · max(0, 1 − y_t/y₀), c_min, c_max)
U_{t+1} = U_t + I_t − c_t · U_t

Механика понци-контура: доходность растёт только с ценой; цена растёт только при Buy > Sell (§3.2); Buy пропорционален притоку НОВЫХ. Новые кончились → цена вниз → доходность вниз → приток вниз, отток вверх → смерть. Требование ТЗ «доходность зависит от притока новых» замкнуто через цену — это и есть минимальная честная механика.

2.2 Спекулянты (только режим B)

Агрегированный пул с инвентарём Q_t (токены) и переключателем panic ∈ {0,1}.

пока panic=0 и drawdown_t < d_trig:
    покупают:  Buy_spec_t = ω · c_e · I_t            ($; докупают за новыми юзерами)
    Q_{t+1} = Q_t + Buy_spec_t / P_t
при drawdown_t ≥ d_trig (drawdown_t = 1 − P_t / max_{τ≤t} P_τ):
    panic := 1 (навсегда: sticky, обратно не входят)
пока panic=1:
    продают:   Sell_spec_t = ψ · Q_t (токены);  Q_{t+1} = Q_t · (1−ψ);  покупок нет

Роль в динамике: усиливают рост (добавляют ω к спросу) и усиливают коллапс (залповый сброс инвентаря в падение). Спекулянты — капитал, не DAU: в кривую DAU не входят. В режиме A спекулянты отсутствуют структурно: нет актива с ценой — донат является потребительским расходом, на нём нет позиции, которую можно продать. Это не упрощение, это свойство режима; печатается в выводах.

2.3 Артисты (оба режима; поштучный слой)

N_art = 10 000 агентов с весами дохода v_j, сэмплированными из распределения sim1 (lognormal-тело / Pareto-хвост α=1,4; нормировка Σv_j = 1; валидация сэмпла: топ-1% агентов держит ≥ 50% суммы весов — грубый слепок Gini 0,97). Доход артиста j в месяц t: inc_j,t = D_t · v_j · 0,949 (TON-рельса, до контрактного сплита — сплит в §6). Правило ухода: inc_j,t < $1 шесть месяцев подряд → артист уходит навсегда (P21). Обратная связь на донатный поток: w_t = Σ_{j активен} v_j.

Решение «насколько это влияет» (требование ТЗ): по миру sim1 нижние 90% артистов держат ~0,9% денег — уход хвоста режет поток на проценты, не в разы. Ожидание: w_36 ≥ 0,97 в режиме A. Слой оставлен в модели (а не выброшен), потому что это дёшево и потому что инженер обязан НАПЕЧАТАТЬ фактический w_36 и число ушедших артистов в обоих режимах — чтобы утверждение «влияние второго порядка» было проверенным числом, а не декларацией. В режиме B донатного потока нет; артистный слой B получает inc_j,t из выплатной эмиссии пропорционально тем же весам (стилизация «артисты как креаторы контента экосистемы B»), умирает вместе с ценой — те же правила, тот же вывод в печать. Каждая печать/таблица дохода артистов B (stdout и README) несёт маркер-сноску: «бумажная эмиссия (в зомби-фазе — токены с ценой на дне), не внешние деньги» — чтобы $-эквиваленты B не читались как сопоставимые с донатными $ режима A.


3. Два режима казны, точно

3.1 Режим A — «Закон Tonify»

Внешний приток казны (только реальные $ извне, никакой эмиссии):

inflow_t = 0,05 · D_t

Выплаты (кэшбэк/поощрения юзерам и артистам):

payout_t = ρ · inflow_t,   ρ = 0,5

Казна:

T^A_{t+1} = T^A_t + inflow_t − payout_t,   T^A_0 = 0

Закон (инвариант, hard assert в коде на каждом шаге):

payout_t ≤ inflow_t   и   T^A_t ≥ 0   для всех t

Инвариант выполняется структурно — по построению, при любых траекториях U_t, включая вымирающие: приток → 0 влечёт выплаты → 0, казна замирает на плато, но не уходит в минус. Это и есть содержание закона: смерть казны в A невозможна не потому, что параметры удачные, а потому что выплатам запрещено превышать приток. Assert обязан стоять в коде несмотря на структурность — он ловит ошибки реализации (T2).

Кэшбэк payout_t возвращается юзерам, но НЕ создаёт петли доходности: кэшбэк ≤ 5% от собственного доната юзера, ROI строго отрицательный, «фармить донаты» нельзя — поэтому в A нет ни спекулянтов, ни чувствительности притока к «доходности» (§2.1, §2.2).

3.2 Режим B — STEPN/Axie

Токен с ценой P_t ($), P₀ = 1. Потоки за месяц (в токенах, если не указано $):

эмиссия юзерам (выплаты):   M_t = ε · U_t                      (mint, ничем не обеспечен)
продажи юзеров:              Sell_u,t = δ_u · ε · U_t
продажи спекулянтов:         Sell_s,t = ψ · Q_t · panic
покупки (новые деньги, $):   Buy$_t = c_e · I_t · (1 + ω · (1−panic))
Sell_t = Sell_u,t + Sell_s,t          Buy_t = Buy$_t / P_t

Цена — стилизованная функция чистого спроса (§11, ограничение):

P_{t+1} = P_t · (Buy_t / Sell_t)^κ · ξ_P,t,    ξ_P,t ~ lognormal(0, σ_P),  floor P ≥ $0,001

Казна протокола (номинирована в собственном токене — определяющее свойство режима):

Z_{t+1} = Z_t + φ_B · Sell_t,   Z₀ = 10M токенов
T^B_t ($) = Z_t · P_t

Выплаты режима B в $-эквиваленте: payoutB_t = M_t · P_t — не ограничены ничем. Внешний приток B: inflowB_t = Buy$_t. Инженер обязан печатать помесячный коэффициент понциности payoutB_t / inflowB_t для обоих режимов (в A он ≤ ρ·1 ≤ 1 структурно; в B он пересекает 1,0 в момент замедления роста — это число для дека, новой механики не требует).

Механическое отличие режимов — одной строкой: A собирает 5% в долларах и платит меньше, чем собрала; B платит эмиссией больше, чем собирает, и хранит казну в бумаге, цену которой сама же обрушивает. Обе казны берут 5% (P19) — различие не в ставке.


4. Критерий смерти режима (явный, численный)

Смерть по DAU (основной, единый для A и B, хамстер-порог):

режим мёртв в месяц t*, если U_t < 0,04 · max_{τ≤t}(U_τ)  два месяца подряд;
t* = первый из этих двух месяцев

Порог 4% = 12M/300M (Hamster). Требование «два месяца подряд» — анти-дребезг на шуме (допущение). Если условие не наступило до t=36 — прогон «жив на горизонте» (в гистограмме fig12 такие прогоны, если появятся, показываются отдельным столбцом «36+»).

Смерть казны (вторичный датчик, печать в числах): T_t ($) < 5% от max_τ T_τ ($) два месяца подряд. В A недостижима структурно (§3.1, казна не убывает); в B — фиксируется и печатается рядом с датой смерти по DAU. Разводка двух смертей — требование §8.


5. Монте-Карло (200 прогонов режима B)

Что стохастично (ровно три источника, всё остальное детерминировано):

  1. шум притока: ξ_I,t ~ lognormal(0, σ_I=0,2), i.i.d. по месяцам — неопределённость вирусного роста;
  2. шум цены: ξ_P,t ~ lognormal(0, σ_P=0,15), i.i.d. — рыночный шум вне модели спроса;
  3. тайминг паники: d_trig ~ U[0,15; 0,35], один розыгрыш на прогон — спекулянты капитулируют при разной глубине просадки.

Сиды: прогон r ∈ {0..199} использует np.random.default_rng([42, r]) — базовый seed=42, сиды прогонов 0..199, полный детерминизм при любом порядке исполнения. Веса артистов v_j сэмплируются один раз из np.random.default_rng(42) и общие для всех прогонов (мир один, стохастика — в динамике).

Режим A в базовой конфигурации детерминирован (шума нет): его выводы — траектория и аналитика, Монте-Карло по ТЗ требуется только для B. Фигуры B показывают медиану и межквартильный коридор по 200 прогонам; гистограмма даты смерти t* — fig12.


6. Правило матрицы {правило × контракт} — обязательное

Донат в sim3 — direct-механизм (fig7, Addendum v0.5). Каждое выходное число дохода артистов печатается в ДВУХ колонках:

Колонка Множитель к доходу артиста Источник
independent ×1,0 Addendum v0.5
signed (360-сделка) ×0,70 Addendum v0.5, DEAL360

LABEL_PASS = 6,8% НЕ применяется: это проход пуло-подобных роялти через лейбловую цепочку; к direct-донату применим контрактный сплит 360-сделки (в fig7 ровно так: direct·360 MVA 4 577 = 3 204 / 0,70).

Позиция economist по казне (требование ТЗ «согласен/не согласен»): согласен — сплит контракта НЕ влияет на динамику казны Tonify. Обоснование: комиссия 5% берётся на рельсе с транзакции доната (fig4: $1 → 94,9¢ артисту / 5,0¢ Tonify / 0,1¢ рельса) — до того, как артистова доля делится с лейблом по 360-контракту. Контракт — двусторонняя сделка артист↔лейбл за пределами платформы; казна видит 5,0¢ с доллара при любом контракте. Следствие для модели: колонки signed/independent — это пост-обработка артистного слоя (§2.3): inc^signed_j,t = inc_j,t · 0,70, включая порог ухода P21 (signed-артист достигает $1/мес позже → уходит раньше; w_t считается отдельно для обеих колонок, базовая динамика казны берёт independent-w_t, дельта печатается). Инженер обязан вывести обе колонки в числовом блоке результатов: агрегатный доход артистов/мес на t=36, число выживших артистов, w_36 — everything ×2.


7. Валидация: мишени T1–T3 (печатаются ПЕРЕД выводами)

Числовой блок VALIDATION печатается в stdout до блока результатов; провал любой мишени = симуляция не принимается (жанр sim1: мишень → получено → ✓/✗).

T1 — калибровка B консистентна с Hamster (формулировка v1.2; не «воспроизводит»). По 200 прогонам: для каждого прогона фактор F_r = U_peak / U_{peak+6} (прогоны с t_peak > 30 исключаются из статистики T1 с печатью их количества).

мишень:  медиана(F_r) ∈ [15, 35]   (цель 25, допуск ±40%)
         и P10(F_r) ≥ 10           (даже слабые коллапсы — не меньше порядка)
         и медиана t_peak ∈ [4, 14]  (пик — не мгновенный и не за горизонтом)

Честная семантика T1 (red team, v1.2): масштаб фактора F задаётся потолком оттока c_max (P13), который сам выведен из того же хамстер-якоря — T1 полуциркулярна по масштабу и проверяет согласованность конструкции, а не независимое воспроизведение. Числа red team: medF при c_max 0,30 / 0,375 / 0,45 / 0,60 → 6,2 / 11,0 / 20,8 / 101,7; κ на F не влияет вообще. Эмерджентная часть T1 — тайминг пика и то, что коллапс эндогенно загоняет отток на потолок (в окне коллапса отток сидит на клипе 83% месяцев): модель могла бы не дойти до клипа — доходит.

T2 — инвариант закона Tonify (hard assert, не мишень-с-допуском). Для всех t всех конфигураций A (база §2.1, фальсификатор-сетка §8, обе контрактные колонки): payout_t ≤ inflow_t + 1e-9 и T^A_t ≥ −1e-9. Нарушение = AssertionError, падение прогона. Дополнительно: T2b — на фальсификатор-сетке §8 симуляционный t_death совпадает с аналитическим ln(0,04)/ln(1−c) с точностью ±1 мес (дискретизация).

T3 — выбор economist (двойная; T3a в редакции v1.1, см. CHANGELOG):

T3a: (i)  200/200 прогонов B: min_{t≤36} U_t ≤ 0,20 · U_peak
          (каждый прогон хотя бы раз теряет ≥80% пиковой аудитории);
     (ii) медиана t* по строгому хамстер-критерию §4 ≤ 36
          (эквивалентно: ≥101/200 прогонов строго мертвы на горизонте);
     (iii) печать разбивки: N_dead/200 по §4, N_zombie/200,
          для зомби-прогонов — min_t U_t/U_peak и U_36/U_peak.
T3b: кросс-чек с sim1: приток казны A при U=1M, w=1 равен $1 955/мес ± 1%
     (milestone-число RESULTS §4: 1M × 1,7% × 4/12 × $6,9 × 5%)

Обоснование порогов T3a — внешнее, не из прогона (анти-circular): 80% потери аудитории = «смерть бизнес-кейса» по определению, и порог слабее обоих реальных якорей — Hamster потерял 96% DAU, GST −99% цены, — т.е. мишень консервативна к реальности (только проверяемые доводы; апелляций к внутренней переписке команды публичный док не содержит — v1.2). Форма min_{t≤36} выбрана потому, что не зависит от фазы зомби-цикла в точке t=36 (анти-флап). (ii) — исходный дух T3 «типичная смерть за конечное время ≤ 36», перенесённый на медиану; требование ко всем 200 прогонам сохранено в (i). Строгий порог 4% (§4) не меняется — он якорный (12M/300M) и остаётся критерием для t* и fig12.

Иерархия результатов (v1.2, обязательна в RESULTS и README): флагманское устойчивое число — «200/200 прогонов теряют ≥80% пика»: выдержало весь стресс red team (обе формы цены, κ, δ_u, c_min до 12%, fee-варианты, σ_P=0 — §11.1). Строгая статистика «182/200, медиана t*=12» — форм-зависима и цитируется ТОЛЬКО с квалификатором «при базовой форме цены §3.2», никогда как самостоятельный факт.

Процедура калибровки под T1 (чтобы инженер не задавал вопросов): заморожено всё, кроме трёх ручек (ν, U_max, λ) и при необходимости κ. Фиксированный грид: ν ∈ {0,4; 0,6; 0,8}, U_max ∈ {10, 20, 40}M, λ ∈ {0,35; 0,5; 0,65} (27 точек × 200 прогонов — секунды рантайма). Правило выбора: точка с медианой F_r, ближайшей к 25, при выполнении остальных условий T1; тай-брейк — меньший |медиана t_peak − 9|. Выбранная точка печатается в VALIDATION и фиксируется в коде как база. Если ни одна точка грида не проходит T1 — расширить грид по κ ∈ {0,35; 0,5; 0,65} один раз; если и это не проходит — стоп, возврат спеки economist с числами (не подгонять молча ничего сверх перечисленного).


8. Фальсификатор (дословно из ТЗ + разводка двух смертей)

«Если режим A тоже умирает при нулевом росте — найти при каком оттоке и честно показать.»

Развести два разных утверждения — обязательно:

  1. Смерть казны в A — структурно невозможна (§3.1): казна не убывает ни при какой траектории DAU. Это доказывается инвариантом T2, а не подбором параметров.
  2. Смерть продукта по DAU в A — возможна и обязана быть показана честно. При i_A = 0 и оттоке c динамика A аналитична: U_t = U₀(1−c)^t, смерть по критерию §4:
    t_death(c) = ln(0,04) / ln(1−c)            (аналитика)
    порог горизонта: t_death ≤ 36  ⇔  c ≥ c* = 1 − 0,04^{1/36} ≈ 8,55%/мес
    

    На бесконечном горизонте A с нулевым притоком умирает по DAU при ЛЮБОМ c > 0 — писать это прямо, без смягчений.

Требования к исполнению: прогнать сетку c ∈ {2%, 5%, 8,55%, 12%, 20%, 41,5%} при i_A = 0 (41,5% = хамстер-темп, для сопоставления масштаба); напечатать таблицу c → t_death (симуляция и аналитика рядом, T2b); показать на фигуре (панель-инсет fig11, §9) симуляционные точки поверх аналитической кривой t_death(c) с вертикалью c* ≈ 8,55% (#FFD426). Обобщение на i_A > 0 (v1.2): динамика A зависит только от чистого темпа g = i_A − c (U_{t+1} = U_t·(1 + i_A − c)), поэтому смерть A по §4 ⇔ c − i_A ≥ 8,55%/мес — сетка при i_A = 0 покрывает все i_A через чистый темп (проверено red team симуляцией: при i_A = 6% смерть при c ≥ 14,6% — сходится с 6% + 8,55%). В тексте результатов зафиксировать формулировку (редакция v1.2, под фактические числа): «Закон Tonify гарантирует ненулевую казну, но не бессмертие продукта: при чистом темпе c − i_A ≥ 8,55%/мес продукт A умирает по хамстер-критерию внутри 36 мес — разница с B в том, что смерть A требует внешней причины (продукт перестал привлекать), а катастрофа B встроена в казначейскую механику: 200/200 прогонов теряют ≥80% пиковой аудитории (инвариант ко всем стресс-формам red team, §11.1); при базовой форме цены §3.2 медианная смерть по хамстер-критерию — месяц 12 [IQR 11–13]. Казна B, номинированная в собственном токене, “умирает” раньше продукта (медиана — месяц 6) — но это дефект деноминации, а не расхода: в $-моменте сбора она монотонно растёт, 0/200 смертей (§11.12); катастрофу продукта создаёт эмиссия — это два разных дефекта режима B. Выжившие по строгому критерию прогоны — не жизнь, а зомби-циклы на 5–8% пика (§11.11)».


9. Фигуры

Общее: фон #0D0A1A; палитра: режим A #6B2FFF, режим B #FF4D8D, вторичные линии/казна #00D4F5, акценты/пороги #FFD426; сетка едва видимая; каждая фигура несёт подпись происхождения каждой кривой: «симуляция (медиана, IQR, 200 прогонов)» для B, «симуляция (детерминированная траектория)» для A, «аналитика» для замкнутых формул. Оси подписаны всегда: «месяц» / «DAU» / «казна, $» / «доля прогонов».

fig11_treasury_dau.png — рабочая фигура, 3 панели:

fig12_death_dist.png — гистограмма месяца смерти t* режима B по 200 прогонам (критерий §4), bin = 1 мес; вертикаль медианы; аннотации: «мертво: N/200», «режим A: смертей казны 0/всех конфигураций (структурно, T2); по DAU при базовом росте — жив на горизонте». Столбец «36+», если есть выжившие прогоны.

fig13_two_curves.png — слайд-график, один месседж. DAU, нормированный к пику, 36 мес, ровно две кривые: A (#6B2FFF) живёт, B (#FF4D8D, медиана 200 прогонов) умирает. Минимум чернил: без сетки, без IQR, крупные подписи прямо у кривых («выплаты ≤ приток» / «выплаты из эмиссии»), одна вертикаль-отметка медианной даты смерти B (#FFD426). Мелкая сноска происхождения (v1.2): «A: детерминированная симуляция; B: медиана 200 прогонов; калибровка ×25/6 мес — Hamster (Caladan, апр. 2026); наклон A — допущение (органика 6%/мес > churn 5%/мес, P2–P3): закон Tonify гарантирует казну ≥ 0, не рост DAU». Никаких других элементов: это один слайд для дека.


10. Бюджет рантайма и детерминизм


11. Честные ограничения (скелет; engineer дополняет фактами прогона, red team — режет)

  1. Цена токена B — стилизация, не микроструктура рынка: (Buy/Sell)^κ вместо AMM/ордербука; κ — форм-параметр без прямого измерения. Стресс red team (v1.2): потеря ≥80% пика — 200/200 при всём: обе формы цены (степенная/линейная), κ ∈ {0,35; 0,5; 0,65}, δ_u ∈ [0,3; 0,9], c_min до 12%, fee-варианты, σ_P=0. Строгие смерти §4 форм-зависимы: 148–190/200 по κ; 173/200 при fee-net; 0/200 при линейной цене k=0,5 (но и там 200/200 с потерей ≥80%, U_36 37–55% пика). Эмпирика GST (−99% за месяцы) поддерживает агрессивный, а не линейный отклик цены — базовая форма §3.2 сохраняется, но строгая статистика цитируется только с квалификатором «при базовой форме цены» (§7, иерархия результатов).
  2. Один калибровочный якорь формы (Hamster ×25/6 мес) и два стилизованных факта (STEPN, Axie) без проверенных первоисточников — режим B воспроизводит класс коллапсов, а не конкретный проект; композит «STEPN-вход + хамстер-форма» (§1.2).
  3. Нет сетевых эффектов между юзерами — распространение по графу это SIM 2; приток здесь — агрегатная функция доходности/органики.
  4. Нет конкурентов и внешних шоков (регуляторика, платформенный риск, сезонность).
  5. Churn A = константа (P2, допущение): нет чувствительности оттока A к качеству продукта/каталогу — отток A занижен ровно настолько, насколько удержание в реальности хуже; фальсификатор §8 закрывает этот угол сеткой по c.
  6. Кеф 4 и суперфаны 1,7% фиксированы — оси «Объекта 3» sim1, их меряет MVP; казна A масштабируется по ним линейно, форма выводов не меняется.
  7. DAU ≈ MAU на месячном шаге (P23); хамстер-якорь задан в DAU по источнику ТЗ.
  8. Спекулянты — один агрегатный пул с общим триггером паники на прогон; гетерогенность порогов внутри прогона свёрнута в розыгрыш d_trig между прогонами.
  9. Кэшбэк A не моделирует прирост удержания (ρ влияет только на скорость роста казны) — консервативно против A: возможная польза кэшбэка для retention не учтена.
  10. Артистный слой — веса заморожены, нет новых артистов, нет роста аудитории отдельного артиста; влияние слоя проверяется числом w_36 (§2.3), а не постулируется.
  11. «Феникс»-отскок режима B — структурное свойство уравнений, найденное engineer (v1.1). В зомби-фазе (y < 2y₀, паника истощена, Q≈0) цена сокращается точно: Buy_tok = ν·(ε/y₀)·U·(1−U/U_max)·ξ, и Buy/Sell = (ν/(δ_u·y₀))·(1−U/U_max)·ξ не зависит от P (следствие линейности притока по доходности + входа в фикс-$). При U « U_max отношение ≈ 2,29 > 1 (грид-точка; 1,71 при базовой ν=0,6 — не артефакт калибровки) → цена отрастает от дна → зомби-циклы на 5–8% пика вместо падения в математический ноль; 18/200 прогонов не пробивают строгий порог 4%. Это ограничение-находка: эмпирически понци-проекты тоже не умирают в ноль (GST годами торгуется на −99% от пика при DAU на дне; сам хамстер-остаток 12M — это и есть зомби на 4%), поэтому зомби-статистика печатается как результат (T3a-iii), а не прячется. Red team вправе резать формулу отношения и форму цены §3.2. Дописано v1.2 (red team): пост-коллапсная фаза НЕ калибрована и расходится с обоими якорями. Модель после пробоя отскакивает: 96/200 прогонов имеют поздний пик выше пузыря; среди 182 строго-мёртвых на t=36 медиана U_36 = 29,3% пика, 69/182 выше 50%, 11/182 выше 100% — тогда как реальные проекты сидят на дне (Hamster — стабильные ~4%; GST — годы на −99%). Следствия: (а) смерть по §4 — событие пробоя, не поглощающее состояние; (б) все модельные величины ПОСЛЕ первого пробоя порога, включая U_36, — артефакт феникса, не прогноз; выводы sim3 строятся на событиях до и в момент коллапса (пик, темп сжатия, min по траектории, t*); (в) квантили U_36/U_peak печатаются (§10), чтобы артефакт был виден, а не спрятан.
  12. Казна B: два разных дефекта, не один (red team, v1.2). «Смерть казны раньше продукта» (медиана t=6, 183/200) целиком создаётся деноминацией в собственном токене: та же казна, считанная в $ по цене момента сбора fee, монотонна — 0/200 смертей, медиана ~$231M к t=36; пик казны-в-токене в $ ($357M, t=32) приходится на месяцы ПОСЛЕ её «смерти» (t=6). Умирает не сбор, а валюта хранения; катастрофу продукта создаёт отдельный дефект — выплаты из эмиссии (§2.1). Оговорки: (а) $231M — верхняя оценка: предполагает мгновенную конвертацию fee в $ без price impact; ликвидность и глубина рынка в модели отсутствуют, реальный выход казны такого размера на умирающем рынке сам был бы sell pressure; (б) масштабы казн несопоставимы ($231M против $41,7k у A: B продаёт вход за $100, A берёт 5% с доната $6,9) — месседж sim3 про смертность и устойчивость, не про размер; сравнение абсолютных величин казн выводом не является и в дек не идёт.
  13. Учёт fee B условен; рельса A без курсового риска. Базовая механика §3.2 содержит двойной счёт: казна получает φ_B от Sell, при этом на цену давит полный Sell-объём; fee-net вариант сдвигает строгие смерти 182→173, ядро (200/200 с потерей ≥80%) не трогает. Казна A предполагается в $ (мгновенная конвертация): волатильность TON-рельсы не моделируется.

12. Чек-лист приёмки (economist принимает по нему)

# Проверка Критерий
1 VALIDATION печатается до RESULTS да/нет
2 T1 медиана F ∈ [15,35], P10 ≥ 10, t_peak ∈ [4,14] числа в допуске
3 T2 assert в коде, T2b ±1 мес прогон не падает; таблица §8
4 T3a-v1.1: 200/200 потеря ≥80% пика; медиана t* ≤ 36; разбивка dead/zombie напечатана; T3b $1 955 ± 1% числа
5 Обе контрактные колонки (×1,0 / ×0,70) во всех числах дохода артистов печать ×2
6 Коэффициент понциности payout/inflow обоих режимов в RESULTS печать
7 Фальсификатор: таблица c → t_death (сим+аналитика), c* ≈ 8,55% на fig11c печать + фигура
8 fig11, fig12, fig13 — палитра, оси, подписи «симуляция vs аналитика» визуальная проверка
9 Рантайм ≤ 2 мин; повторный запуск байт-в-байт секундомер + diff
10 Секция «Честные ограничения» дополнена фактами прогона (w_36 и пр.) текст
11 v1.2: квантили U_36/U_peak мёртвых в stdout; маркер «бумажная эмиссия» у артист-чисел B; сноска fig13 про наклон A; строгие числа везде с квалификатором формы цены печать + фигура + текст

Спека закрыта. Вопросы инженера по недостающим числам — это дефект спеки: вернуть economist с указанием пункта, а не додумывать.


CHANGELOG

v1.2 (август 2026) — после red team; вердикт «принять при выполнении требований»

Вход: red team подтвердила механику, калибровку и код (реализация 1:1, детерминизм); ядро «200/200 теряют ≥80% пика» выдержало полный стресс (обе формы цены, κ ∈ {0,35–0,65}, δ_u ∈ [0,3–0,9], c_min до 12%, fee-варианты, σ_P=0). Блокеры касались формулировок и печати. Все требования выполнены, ни одно не оспорено — каждая находка воспроизведена прогонами, а обобщение c − i_A ≥ 8,55% перепроверено economist аналитически (1 + g = 1 + i_A − c; 6% + 8,55% = 14,55% ≈ симуляционным 14,6%).

Изменения по требованиям red team:

  1. [блокер] §7 T1: «воспроизводит» → «консистентна с»; вписана полуциркулярность масштаба (клип c_max из того же якоря; medF по c_max 6,2/11,0/20,8/101,7; κ на F не влияет) и эмерджентная часть (тайминг пика; отток на клипе 83% месяцев окна коллапса).
  2. [блокер] §7 «Иерархия результатов»: флагман — «200/200 ≥80% пика» (стресс- инвариант); «182/200, t*=12» — только с квалификатором «при базовой форме цены §3.2». §11.1 дополнен фактической sensitivity-строкой (148–190/200 по κ; 0/200 строгих при линейной k=0,5, но 200/200 потеря ≥80%, U_36 37–55% пика; fee-net 173/200) и доводом: GST −99% поддерживает агрессивный отклик.
  3. [блокер] §11.11 дописан: пост-коллапсная фаза не калибрована и расходится с якорями (96/200 поздний пик выше пузыря; U_36 мёртвых: медиана 29,3% пика, 69/182 >50%, 11/182 >100% — реальные сидят на дне); смерть §4 — событие пробоя, не поглощающее состояние; величины после первого пробоя — артефакт, не прогноз; квантили U_36/U_peak — в обязательный stdout (§10).
  4. [блокер] §9 fig13: сноска «наклон A — допущение (органика 6% > churn 5%); закон гарантирует казну ≥ 0, не рост».
  5. §8 + §11.12: развязка двух дефектов B — «смерть казны» создаёт деноминация (казна-в-$ монотонна, 0/200, ~$231M; пик $-стоимости ПОСЛЕ «смерти»), катастрофу продукта — эмиссия; оговорки: $231M — верхняя оценка без price impact; масштабы казн ($231M vs $41,7k) несопоставимы и выводом не являются.
  6. §7: убрана апелляция к внутренней переписке («заявлена до пересмотра») — непроверяема публично; оставлены только проверяемые доводы (Hamster −96%, GST −99%, анти-флап форма, запас мишени (ii)).
  7. §8: обобщение фальсификатора «смерть A ⇔ c − i_A ≥ 8,55%/мес», сетка покрывает все i_A через чистый темп (проверка red team: i_A=6% → c ≥ 14,6% ✓).
  8. §11.13: двойной счёт fee φ_B (fee-net: 182→173, ядро не трогает) и немоделируемая TON-волатильность казны A.
  9. §2.3 + §10: маркер «бумажная эмиссия, не внешние деньги» обязателен у всех артист-чисел B (stdout и README). Правки README (факт $75,8M вместо «$80M», «×943» вместо «два порядка») — зона engineer, спекой не дублируются.

v1.1 (август 2026) — разрешение дефекта T3a после реализации

Что случилось. Engineer реализовал v1.0 1:1. T1 ✓ (медиана F=20,79, P10=16,25, t_peak=5; грид-точка ν=0,8, U_max=10M, λ=0,65, κ=0,5), T2 ✓ (0 нарушений), T2b ✓ (max Δ=0,996 мес), T3b ✓ ($1 955,00 байт-в-байт), рантайм ~1 с. T3a v1.0 провалена: 182/200 строгих смертей вместо 200/200. Engineer доказал структурно: в зомби-фазе цена сокращается в Buy_tok точно, Buy/Sell = (ν/(δ_u·y₀))·(1−U/U_max)·ξ ≈ 2,29·(1−U/U_max)·ξ — не зависит от P; после каждого коллапса при U « U_max цена гарантированно отрастает («феникс»). Дно циклов 5–8% пика > порога 4%; ни одна точка грида не даёт 200/200 (максимум 191/200). Economist проверил вывод подстановкой — подтверждён; при базовой ν=0,6 отношение 1,71 > 1, т.е. феникс — свойство уравнений, а не точки калибровки. v1.0 к тому же противоречила сама себе: fig12 предусматривала столбец «36+» (выжившие допустимы), T3a требовала нуля выживших.

Решение: вариант (а) — переформулировка T3a; механика B не тронута. Менять механику ради прохождения мишени — подгонка под результат (red team обязана такое расстрелять); удлинение горизонта ломает ТЗ и не лечит (циклы переживут любой горизонт). Зомби-фаза признана находкой, а не багом: реальные понци не умирают в ноль (GST −99% годами при живом дне DAU; хамстер-остаток 12M — зомби на 4%).

Изменено (минимальный дифф):

Факты прогона v1.0-реализации, зафиксированные как контекст решения: пик DAU B 9,82M на t=4; понциность payout/inflow пересекает 1,0 в месяц 3, пик 36,9; медиана строгой смерти t*=12 [IQR 11–13]; смерть казны B (вторичный датчик §4) медиана t=6, 183/200 — казна-в-собственном-токене умирает на ~6 мес раньше продукта.