WBML-0005 — Actions / Conditions / Effects Suite
✅ Verified — выполненные ветки WBML-0005 PARTIAL PASS: 90 / 0 / 3
Можно ли использовать creator-facing action stack PoliticalWorldAPI 1.14.0 как целостную систему: registration → conditions → execution → effects → unregister?
Окружение
Заголовок раздела «Окружение»WorldBox 0.51.2 build 719Git build-719@5decNeoModLoader 1.2.0.1PoliticalWorldAPI 1.14.0WBML 0.0.5-fix4Phase A
Заголовок раздела «Phase A»Проверены validation PW303/PW304, warning PW305, регистрация трёх action и metadata queries.
Главное открытие:
RegisterAction(тот же ID) → accepted / replacedReplacement был виден через GetAction, после чего Lab восстановил canonical definition.
Phase A: 22 PASS / 0 FAIL / 0 SKIP.
Phase B
Заголовок раздела «Phase B»Прошли All, Any, Not, включая:
Any(empty) → trueNot(null) → trueТакже прошли government/ideology/current/system/stability, addon int/bool/tag, dynamic Enabled и выполненные party conditions.
Исправленный harness больше не считал старый PartyInfo.Support вечным: перед support assertions партия перечитывалась по ID.
Phase C
Заголовок раздела «Phase C»Проверены:
disabled action не вызывает handleraction-condition-failedExecuteAction successTryExecuteAction success + okaction-not-foundinvalid-kingdomhandler side effectsEffects.SequencePhase D
Заголовок раздела «Phase D»Прошли addon int/bool/tags effects, stability mutation/restoration, party radicalism mutation/restoration и unregister paths.
Support
Заголовок раздела «Support»В target kingdom была одна active party. Ранний прогон уже показал single-party normalization support в 100, поэтому final suite безопасно пропустил точную mutation.
Phase D: 87 PASS / 0 FAIL / 2 SKIP.
Почему понадобился fix4
Заголовок раздела «Почему понадобился fix4»fix3 правильно пропустил dangerous mutation в Phase D, но старый FINAL cleanup всё равно попробовал «восстановить» support из старого snapshot. Сам cleanup вызвал setter и получил 100.
Этот run признан harness/finalizer bug.
В fix4:
если Phase D support не менял→ FINAL setter не вызывает→ restoration = SKIPPASS=90FAIL=0SKIP=3A=PASS B=PASS C=PASS D=PASSSUITE RESULT: PARTIAL PASSВсе три SKIP относятся к exact party-support mutation/restoration.
Ещё одно наблюдение
Заголовок раздела «Ещё одно наблюдение»Live query после unregister дал 0 actions, но diagnostics после replacement history показал Registered actions: 2. Пока это 👁 Observed bookkeeping mismatch.
Граница
Заголовок раздела «Граница»Выполненные action/condition/effect/unregister ветки verified. Exact multi-party support mutation пока нет.