Repository navigation
refactor(spells): give cast events an explicit kind - #476
Conversation
|
Warning Review limit reachedNext included review available in 18 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (13)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Independent source review complete at 97678dd. All CI jobs passed. The PR remains held for human schema review and integration with the item GUID change. Root checked that the numeric kind is appended with default 0, all constructors write explicit kinds, and kind 0 preserves the existing interrupt, delay, proc, cast-time and completion branch order. Known nonzero kinds dispatch explicitly; unknown values are logged and dropped. The legacy fields remain populated for the older Gateway reader. All 990 generated bindings match the supported private-generation output, and schema parity checks the appended field. No remaining source review blocker found. The Module must publish before the new Gateway runs. The appended column needs human review under |
97678dd to
af13d1e
Compare
|
The clean rebases onto main 408f417 preserve the reviewed patches. Root also merged all three final source changes together in an isolated checkout and verified the combined result:
No integration conflict or source correction was needed. The current rebased-head CI is running. Human schema review has been requested in the delivery thread; this PR stays held until that review and final CI complete. |
|
The user approved the concrete schema change in the delivery thread. Root rechecked final head af13d1e: all CI jobs pass, the independent review has no outstanding finding, and there are no unresolved threads. The combined source proof is recorded above. Proceeding with the source merge; rollout follows the documented Module-before-Gateway order. |
A Spell Cast Event used several payload fields as an implicit signal type. The Gateway depended on a fixed branch order, and another signal could add another boolean and another invalid field combination.
This change gives each new event an explicit Spell Cast Event Kind. The Module stamps START, GO, INTERRUPT, PUSHBACK, or PROC_LOG through the typed event constructors. The Gateway preserves the old field-based order for migrated rows whose kind is zero. It emits no packet for an unknown nonzero kind and logs the event identity.
The schema change end-appends
kind: u8with#[default(0u8)]. Existing columns remain in place for rolling compatibility and payload data. The complete private Gateway bindings were regenerated with the supported command.Schema review
kindis the finalgame_spell_cast_eventcolumn.Validation
python3 scripts/check-gateway-bindings.pycargo test -p lyracore-importercargo test -p lyracore-module --lib --features=debug_reducerscargo test -p lyracore-gatewaycargo test -p lyracore-sharedcargo buildcargo clippy --workspace --all-targets --all-features -- -D warningscargo fmt --all -- --check./lyracore preflightRefs #72.
Implemented with GPT-5.6 Sol at high reasoning effort using Codex.