docs: add MODULE_SPEC.md with permission model and capabilities

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jeff Emmett 2026-02-17 12:30:14 -07:00
parent c0c61f4f76
commit 240c2fa7f1
1 changed files with 48 additions and 0 deletions

48
MODULE_SPEC.md Normal file
View File

@ -0,0 +1,48 @@
# rTrips — Trip Planning
**Module ID:** `rtrips`
**Domain:** `rtrips.online`
**Version:** 0.1.0
**Framework:** Next.js 14 / React 18 / Prisma / PostgreSQL
**Status:** Active
## Purpose
Collaborative trip planning with itineraries, packing lists, shared expenses, and location-based scheduling. Integrates with rMaps for destination visualization and rFunds for expense splitting.
## Data Model
Prisma schema (PostgreSQL). Trips, itineraries, destinations, packing lists, expenses.
## Permission Model
| Capability | Required SpaceRole | Description |
|-----------|-------------------|-------------|
| `view_trips` | VIEWER | See trip details and itineraries |
| `create_trip` | PARTICIPANT | Create new trips |
| `edit_own_trips` | PARTICIPANT | Modify trips you created |
| `moderate_trips` | MODERATOR | Edit/manage any trip |
| `configure_trips` | ADMIN | Space-level trip settings |
**Current Auth:** EncryptID via SDK.
## Canvas Integration
Shape types:
- **`folk-itinerary`**: Trip timeline with dates and destinations
- **`folk-packing-list`**: Checklist widget
- **`folk-destination`**: Location card linked to rMaps
## Cross-Module Dependencies
| Module | Integration |
|--------|------------|
| **rMaps** | Destination markers on map |
| **rFunds** | Expense splitting and budget tracking |
| **rSpace** | Canvas shape embedding |
## Migration Plan
1. Already has EncryptID auth
2. Add space-level role resolution
3. Import `resolveSpaceRole()` + capability checks