Repository navigation
refactor(core): share gameplay rules and declare relays by family - #678
Merged
Merged
Conversation
7 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Spell effects, gameplay rules and Relay wiring had separate definitions that contributors had to keep in sync. The Gateway could also disagree with the Module about carried items, quest completion, trainer state and movement speed.
The shared crate now owns the typed effect taxonomy and the pure rules both tiers call. Each Protocol Family declares its Relay tables and callbacks next to its outbound builders. Those declarations generate subscriptions and callback registration. Package API version 4 exposes
actor::EffectKindand keeps existing Actor byte values.This completes phase 7 of #635. Closes #635.
Local validation passed: 306 shared tests, 402 importer tests, 1,564 Module tests, 1,990 Gateway unit tests and 144 schema-parity tests. Package API and build-script tests, the package-delta and test-support suites, formatting, script tests and workspace Clippy also passed. Data-dependent and standalone Gateway tests remain ignored in the unit tier. All nine CI checks passed on
7b826044, including all three durable jobs, Gateway bindings, the Headless Client checks and the Official Package build. Rust, durable tests and bindings, Runtime Scripts.Two independent adversarial review rounds found and resolved the mounted-speed projection gap and generated-query schema coverage. The final review found no remaining material objections.
Made with GPT-6 Astra in the Codex harness through T3 Code.