# ThrillWiki Project Notes

## CRITICAL PROJECT TERMINOLOGY CHANGES

### ⚠️ **IMPORTANT: Entity Name Change** ⚠️

**Date**: June 13, 2025  
**Change**: "Company" entity has been permanently changed to "Operator"

**Context**: Throughout the project development, the entity for theme park operating companies and ride manufacturers was initially referred to as "Company". This has been permanently changed to "Operator" to better reflect the business domain.

**What This Means**:
- **All future development** must use "Operator" (not "Company")
- **Generator commands** use "Operator" model name
- **Database relationships** reference "operators" table
- **Documentation** consistently uses "Operator" terminology

**Generator Commands**:
```bash
# CORRECT - Use these commands
php artisan make:thrillwiki-model Operator --migration --factory --with-relationships --cached --api-resource --with-tests
php artisan make:thrillwiki-crud Operator --api --with-tests

# INCORRECT - Do NOT use these
php artisan make:thrillwiki-model Company [...]
php artisan make:thrillwiki-crud Company [...]
```

**Files Updated to Reflect This Change**:
- `.clinerules` - Project rules and generator documentation
- `memory-bank/coreRules.md` - Core Memory Bank rules
- `memory-bank/activeContext.md` - Current implementation planning
- `master.md` - Master project documentation
- `memory-bank/decisionLog.md` - Decision documentation

**Relationship Patterns**:
- **Operator**: parks (hasMany)
- **Park**: operator (belongsTo)
- **Ride**: manufacturer (belongsTo to Operator), designer (belongsTo to Designer)

**Smart Trait Assignments**:
- **HasLocation**: Park, **Operator**, ParkArea models
- **HasSlugHistory**: Park, Ride, **Operator**, Designer models

---

**Remember**: Any references to "Company" in legacy documentation or conversations should be understood as referring to what is now called "Operator". This change ensures consistency across all project documentation and code generation.

**Status**: ✅ **PERMANENT CHANGE - FULLY IMPLEMENTED**