Repository navigation
test(gateway): run the cross-Shard command transport test in Core CI - #630
Conversation
The cross-Shard Companion Order coordinator test lived in the playerbots testsuite and reached Gateway private modules through a test-only source selection. The transport is Core's, so Core now owns the test. A debug Module with no Package handler falls back to a neutral fixture command. It applies nothing, so each outcome comes from the transport. The Gateway test drives it across three World Shards and Realm-core: certification, issuer sequence after a Transfer, Command Receipts across both Gateway crash boundaries, capacity and expiry. Module durable CI runs it with no Package installed. LYRACORE_COORDINATOR_TEST_SOURCE and the Gateway build script that read it are gone. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 38 minutes. View limit detailsLimit details: You’ve used the included review currently available. Review configuration: ⚙️ Run configuration
📒 Files selected for processing (7)
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 |
Code review: c8e9a7cThis review has two separate axes: Standards and Spec. No issue is linked, so the PR description is the spec. I read the code but ran nothing. Priority key: 🔴 weigh before merge · 🟠 should fix · 🟡 judgement / optional StandardsCorrectness of
Spec
Summary: Standards has 3 should-fix findings, 3 judgement calls and some smells. The worst is that two tests each cover many behaviours. Spec has 1 finding: the claim that the Gates refuse Generated by Claude Code |
…alled Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The test that proves the Companion Order transport across World Shards lived in the playerbots testsuite. It reached Gateway private modules (
accept,config, thestdbbindings,codecand the durable test support). Core admitted that file only whenLYRACORE_COORDINATOR_TEST_SOURCEnamed it, and only packages CI ran it. The transport is Core's, so a Core change could break it and Core CI would stay green.Now Core owns the test. A Module built with
debug_reducersand no Package handler falls back to a neutral fixture command,fixture.command, with a bot guid as payload andfixture.command.resultas the reply. Its apply step returns Applied and writes nothing, so every other outcome comes from the transport. A Package handler always wins over it.gateway/src/stdb/subscriptions_party_command_durable_tests.rsbuilds three World Shards and Realm-core on one Standalone. The companions are plain session-less Characters on the seeded Account, and each leader has its own Account and Account Claim. Six tests cover these cases:Module durable CI runs them in shard 1 as "Run the cross-Shard command transport tests". No Package is installed there.
module/tests/raid_convert.rsread the Suppressed outcome that meant "no handler" as proof that a ten-member Raid passes the Core Gates. With the fixture handler it now reads Applied, which says the same thing more directly.gateway/build.rsexisted only forLYRACORE_COORDINATOR_TEST_SOURCE. I deleted it, its include insubscriptions.rsand the paragraph in the test-support README. Nothing else used it.One behaviour to weigh: every publish bakes in
debug_reducers. On a Realm with no client-command Package, a player could sendfixture.command. The transport Gates still apply. Without a Package no session-less Character has a live body, so the Gates refuse it and the player gets a Refusal reply. The playerbots issuer fence (Superseded) is the Package's decision, so the Core test asserts only the sequence.playerbots_orderskeeps the fence test.Paired with LyraCoreProject/packages#75, which deletes the playerbots copy and its runner command. Merge Core first, then the packages PR.
Validation: clippy with
-D warningspasses on the Gateway tests and on the Module, with and withoutdebug_reducers. The durable tests ran only in CI, because this workstation must keep heavy local builds to a minimum.Made by Claude Opus 5.5 in Claude Code.
🤖 Generated with Claude Code