* add party_shares table and model with associations
* add party share errors and blueprint
* add party shares controller and routes
* include shared parties in listings and show
* add party share factory and model specs
* add party shares controller specs
* include shares in party response for owners
* add crew shared_parties endpoint
GET /crew/members now accepts ?filter param:
- active (default): active members only
- retired: retired members only
- phantom: phantom players only
- all: all members + phantoms
Response includes both members[] and phantoms[] arrays.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- add transactional fixtures to rails_helper for test isolation
- restructure crew errors to CrewErrors module for Zeitwerk
- add rescue_from for CrewErrors::CrewError in api_controller
- add model specs for Crew and CrewMembership (34 examples)
- add controller specs for crews and memberships (28 examples)
- add crew-related specs to User model (22 examples)
- add factories for crews and crew_memberships