Skip to content

Детерминизм требует полного контекста

Воспроизводится не ответ на кадр, а жизнь машины на ленте.

Для stateful-системы формула «одинаковый вход — одинаковый выход» слишком коротка.

Полный инвариант

Одинаковый след получается при совпадении:

  1. байтов .d8p;
  2. версии и арифметики runtime;
  3. начального состояния;
  4. полной упорядоченной VSB-ленты;
  5. границ кадров;
  6. внешних и автоматических reset.
trace = run(personality, initial_state, tape, reset_schedule)

Один и тот же последний кадр после разных историй законно даёт разные состояния. Это память, а не недетерминизм.

Что можно проверять

  • FIRE по времени и pattern id;
  • победителей и коллизии доменов;
  • BUS16 и flags;
  • состояние аккумуляторов и lock;
  • hash входной ленты и личности.

Wall-clock не входит в семантический trace. Он зависит от реализации и нагрузки.

Этический смысл

Детерминизм не делает решение автоматически правильным. Он делает ответственность точной:

  • пекарь отвечает за устройство личности;
  • владелец пресса — за смысл и качество ленты;
  • runtime — за исполнение контракта;
  • директор — за действие и риск.

В Whaler live можно сравнивать с offline replay только после совпадения источника, нарезки, прогрева и reset. Такая строгость полезнее общего обещания «бот повторяем».