v2.9.0
Features
- permissions: single-source denial copy via resolved decisions
Bug Fixes
- voting-round: keep the auto-reveal countdown correct across roster and spectator changes
Miscellaneous
- add Convex agent AI files and guidelines
Code Refactoring
- canvas: own action wiring in frozen-identity modules
- canvas: single resolved-decision contract for player removal
- convex: resolve no-filter-in-query warnings and type canvas node data
- demo: drop deprecated isDemoRoom/isBot fields (deploy 2), closes
- demo: route the demo signal through the provider seam; drop the isDemoMode prop-drill