Перейти к содержимому

WBML-0002 — addon state остаётся изолированным между сохранениями миров

✅ Verified 🧪 WorldBox Modding Lab WBML-0002

WBML-0002 проверял другой вопрос, чем WBML-0001:

Если два world save используют один addon и одинаковые logical data keys, появится ли addon state одного мира в другом?

WBML-0001 подтвердил:

тот же save + полный restart процесса → values возвращаются

Но это не доказывало isolation между разными мирами. Плохая реализация могла выглядеть persistent, одновременно протекая через static/runtime state.

Поэтому WBML-0002 использовал два разных save и две разные current-run signatures.

Первая версия 0.0.2 имела методологический баг: провал Step C не запрещал Step D напечатать финальный success.

Этот прогон был отклонён.

0.0.2-fix1 добавил:

строгий state machine A → B → C → D
уникальный run token
step flags
final gate с A=PASS B=PASS C=PASS D=PASS
failure lockout

Probe становится доказательством только тогда, когда можно доверять его собственной логике verdict.

WorldBox: 0.51.2
build: 719
git: build-719@5dec
NeoModLoader: 1.2.0.1
PoliticalWorldAPI: 1.14.0
Lab: 0.0.2-fix1

Current-run token:

af599151c6da
World A
→ записать signature A
→ save
→ загрузить World B
→ подтвердить отсутствие signature A
→ записать signature B
→ save
→ загрузить World A
→ подтвердить отсутствие B + возврат values A
→ загрузить World B
→ подтвердить отсутствие A + возврат values B

Probe проверял:

marker
int
Unicode string
bool
float
addon-private kingdom tag
shared kingdom tag
A-IMMEDIATE RESULT: 6/6 DATA PASS | marker=PASS => PASS
STEP A RESULT: PASS

До записи B probe проверил 21 kingdom:

WORLD B CLEAN CHECK: PASS
no current-run WORLD A signature found across 21 kingdoms

Затем:

B-IMMEDIATE RESULT: 6/6 DATA PASS | marker=PASS => PASS
STEP B RESULT: PASS
RETURN A: current-run WORLD B signature absent => PASS
A-RETURN RESULT: 6/6 DATA PASS | marker=PASS => PASS
STEP C RESULT: PASS
RETURN B: current-run WORLD A signature absent => PASS
B-RETURN RESULT: 6/6 DATA PASS | marker=PASS => PASS
STEP D RESULT: PASS

Исправленный final gate потребовал успех каждого шага:

FINAL GATE: A=PASS B=PASS C=PASS D=PASS
FINAL RESULT: WORLD ISOLATION VERIFIED FOR THIS RUN.

В проверенной среде kingdom state PoliticalWorldAPI, использованный probe, оставался изолирован между двумя протестированными world save в рамках одного процесса WorldBox.

Current-run signature A не появилась в B, signature B не появилась в A, а собственные values каждого мира возвращались после повторной загрузки соответствующего save.

Этот result сам по себе не доказывает:

  • isolation party-private data;
  • точный физический save file/database для каждого value;
  • isolation всех возможных типов PoliticalWorldAPI;
  • будущие версии WorldBox/NML/Political World;
  • isolation в последовательности с полным restart процесса.

Full-process persistence отдельно подтверждён в WBML-0001.

Сломанный harness тоже полезен как research material, если ложный verdict отклоняется, а не попадает в Verified.

Правило теперь такое:

final result = conjunction of every required step

а не:

last step passed → whole experiment passed

Это правило относится уже ко всей методологии Lab.