Files
orion/docs/archive/SESSION_NOTE_2026-01-31_tenancy-module-consolidation.md
Samir Boulahtit 7a9dda282d refactor(scripts): reorganize scripts/ into seed/ and validate/ subfolders
Move 9 init/seed scripts into scripts/seed/ and 7 validation scripts
(+ validators/ subfolder) into scripts/validate/ to reduce clutter in
the root scripts/ directory. Update all references across Makefile,
CI/CD configs, pre-commit hooks, docs (~40 files), and Python imports.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 21:35:53 +01:00

146 lines
4.4 KiB
Markdown

# Session Note: Tenancy Module Consolidation Plan
**Date:** 2026-01-31
**Topic:** Complete migration plan for tenancy module and remaining legacy code
## Summary
This session established a comprehensive plan for migrating all identity and organizational management code to the tenancy module, plus identified where other legacy code should go.
## Key Decisions
### 1. Tenancy Module Scope
The tenancy module owns **identity and organizational hierarchy**:
- Platforms (top-level SaaS instances)
- Merchants (business entities)
- Stores (merchant accounts)
- Users (admin users, team members)
- Authentication (login, tokens, sessions)
- Teams (store team management)
- Domains (custom domain configuration)
### 2. Completed Migrations (This Session)
- Migrated `app/api/v1/store/info.py``tenancy/routes/api/store.py`
- Changed path from `/{store_code}` to `/info/{store_code}` (removes catch-all)
- Set up tenancy module as `is_self_contained=True`
- Updated frontend JS to use new endpoint path
### 3. Files Identified for Tenancy Migration
#### Routes to Migrate
```
Admin API:
- admin_users.py → tenancy/routes/api/admin_users.py
- merchants.py → tenancy/routes/api/admin_merchants.py
- platforms.py → tenancy/routes/api/admin_platforms.py
- stores.py → tenancy/routes/api/admin_stores.py
- store_domains.py → tenancy/routes/api/admin_store_domains.py
- users.py → tenancy/routes/api/admin_users.py
- auth.py → tenancy/routes/api/admin_auth.py
Store API:
- auth.py → tenancy/routes/api/store_auth.py
- profile.py → tenancy/routes/api/store_profile.py
- team.py → tenancy/routes/api/store_team.py
```
#### Services to Migrate
```
- store_service.py
- merchant_service.py
- platform_service.py
- admin_service.py
- admin_platform_service.py
- store_domain_service.py
- store_team_service.py
- team_service.py
- auth_service.py
- platform_signup_service.py
```
#### Models to Migrate
```
- store.py
- merchant.py
- platform.py
- admin.py
- admin_platform.py
- store_domain.py
- store_platform.py
- user.py
```
### 4. Other Module Assignments
| Module | Files to Receive |
|--------|-----------------|
| **monitoring** | background_tasks, logs, monitoring, platform_health, audit |
| **dev_tools** | code_quality, tests |
| **messaging** | messages, notifications, email_templates, email_settings |
| **cms** | media, images, store_themes |
| **core** (new) | dashboard, settings |
### 5. Framework-Level (Stay in ROOT)
- Module system (`modules.py`, `module_config.py`)
- Menu configuration (`menu_config.py`)
- System settings (`settings.py`)
- Base models (`base.py`, `platform_module.py`, `admin_menu_config.py`)
## Architecture Validation Updates
Added new rules to enforce module-first architecture:
- **MOD-016**: Routes must be in modules, not `app/api/v1/`
- **MOD-017**: Services must be in modules, not `app/services/`
- **MOD-018**: Tasks must be in modules, not `app/tasks/`
- **MOD-019**: Schemas must be in modules, not `models/schema/`
## Documentation Created
1. `docs/architecture/tenancy-module-migration.md` - Full migration plan
2. `docs/development/migration/module-autodiscovery-migration.md` - Migration history
3. Updated `docs/architecture/module-system.md` - Entity auto-discovery reference
## Next Actions
### Immediate (High Priority)
1. Migrate store auth routes to tenancy
2. Migrate admin auth routes to tenancy
3. Migrate store profile and team routes
### Short-term
4. Migrate merchant/store/platform admin routes
5. Move services to tenancy module
6. Create re-exports for backwards compatibility
### Medium-term
7. Migrate models to tenancy (careful - many dependencies)
8. Migrate schemas
9. Move messaging routes to messaging module
10. Move media routes to cms module
### Long-term
11. Create core module for dashboard/settings
12. Remove all re-exports once migration complete
13. Archive legacy directories
## Commits This Session
1. `401db56` - refactor: migrate remaining routes to modules and enforce auto-discovery
2. `23d5949` - refactor: move store info endpoint to tenancy module
## Key Principle
> **Tenancy owns identity and organizational hierarchy.**
> Everything else belongs to feature modules.
## Related Files
- `/docs/architecture/tenancy-module-migration.md`
- `/docs/architecture/module-system.md`
- `/docs/development/migration/module-autodiscovery-migration.md`
- `/.architecture-rules/module.yaml`
- `/scripts/validate/validate_architecture.py`