feat(rust): the rewards — tally, kit reward, chat and the news leg (phase 13b, protocol 10) #16
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/phase-13b-rewards"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What & why
Phase 13b (
PLAN.md§29; decisions D98–D108).rust.participation.open/.collect: the game counts who takes part in an event, and collect records them as the run's participants, keyed by Steam id with the website user where linked.rust.kit.entitlerewards a kit to the people one of five modes picks (D101): everyone who scored, top N, a minimum score, N at random (seeded by the step's key), or the top X per cent. Ties are kept in, and an unlinked winner is named as missed.rust_perm_run_grants, which the permission push unions with admin grants (D84), so reverting an event never removes an admin's grant.creditson the permission sync (D103).rust.kit.entitled, deferred from phase 10 (D64), with a newrewards-v1rule group.rust.announcesays a line on one server or every server (D105).rust.chatannounce leg says a published news post only on servers whose switch is on (D104). The switch isrust_servers.announce_news, set from a new "News in game chat" card on Admin → Rust visibility (D106).rust.grantsandrust.announcements; therust.options.kitssource and five fixed-choice sources, since core has no enum param type.ci/bundle.jsongainseventRewards.js.engagement-triggers.jsonare regenerated.purge.sqlcovers the new table.apiin the unit tests never checks. A test now pins every registered id to that grammar.How it was tested
rewards.test.js, the permission union and credit tests, and the news switch).check:imports,check:bundle,check:swaggerandcheck:engagementall pass.check:externalspasses.mainwith both rigs; results inPLAN.md§29.7:PLAYER_WALK.md's rewards walk).Checklist
AI-assisted contributions (required)
Claude Code (Claude Opus 5.5). I have reviewed and understand every change, and take responsibility for it. AI-authored commits are marked with aCo-Authored-Bytrailer.License
🤖 Generated with Claude Code
https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY