Skip to content

Register Mech tokens through the shared spawn path - #4

Merged
abueide merged 1 commit into
mainfrom
fix/canonical-mech-token
Sep 22, 2026
Merged

abueide merged 1 commit into
mainfrom
fix/canonical-mech-token

Conversation

@abueide

@abueide abueide commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

Problem

The rules engine creates Mechs through a handwritten fallback but does not register Mech as a canonical token name. Three token-name diagnostics are ignored for this known gap. Ferrous Forerunner's existing fallback already creates its printed tokens; this is a registry/integration fix, not a claim that Deathknell previously did nothing.

Change

  • Add canonical Token::Mech, domainless 3-Might face and shared name registration.
  • Route Mech creation through the common spawn path; retain owner/controller, exhausted entry, token cleanup and Played events.
  • Preserve Rumble's public MECH_TOKEN alias and update other Mech consumers.
  • Enable three previously ignored diagnostics and test both Ferrous Mechs triggering Rengar independently.
  • Token has no serialized discriminant contract; no wire/blob/snapshot format changes.

Validation

Passed in both repositories:

  • Focused Ferrous tests including ignored cases.
  • Full turns library: Agni 4,581 passed / 169 ignored; agni-rfb 4,567 passed / 169 ignored.
  • cargo fmt --all -- --check, pinned Nix treefmt --ci, bash ci/check.sh.

The portable Wasm artifact was not built by this task; no GUI/network playtest claimed. The remaining ignored tests are not counted as verified.

Integration

Companion PR mirrors the still-duplicated rules source; Kai currently consumes Agni. The app dependency/module must be updated to deliver the fix to players.

@abueide

abueide commented Sep 22, 2026

Copy link
Copy Markdown
Contributor Author

Mirrored rules PR: abysl/agni-rfb#3 . Kai integration will pin the combined audit fixes; no main branch has been merged by this task.

@abueide
abueide merged commit 99f91b2 into main Sep 22, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant