446 lines
5.8 KiB
Markdown
446 lines
5.8 KiB
Markdown
# EP.1.1 – Activity Domain Foundation
|
||
|
||
Status: Planning
|
||
|
||
Priority: Critical
|
||
|
||
Type: Feature Foundation
|
||
|
||
Depends On
|
||
|
||
- BU-R.0 Business Constitution
|
||
- BU-R.0.1 Workspace & Activity Blueprint
|
||
- BU-R.1 Business Capability Audit
|
||
- AR.1 Architecture Transition Plan
|
||
- AR.2 Epic Technical Design
|
||
- AR.2 Workspace UI/UX Design Note
|
||
- ENG.0 Engineering Constitution
|
||
|
||
---
|
||
|
||
# Objective
|
||
|
||
Introduce the shared Activity Domain as the operational foundation of ALLA OS.
|
||
|
||
This epic establishes the Activity aggregate, ownership model, business rules, service boundaries, and integration points while preserving all existing CRM modules.
|
||
|
||
This phase delivers only the Activity foundation.
|
||
|
||
Timeline, Calendar, My Day, Dashboard, and Notification are intentionally excluded and will consume Activity in later epics.
|
||
|
||
---
|
||
|
||
# Background
|
||
|
||
Business Constitution defines Activity as the shared operational model.
|
||
|
||
Architecture Constitution defines Activity as the source domain for future projections.
|
||
|
||
Engineering Constitution requires:
|
||
|
||
- Preserve existing CRM domains
|
||
- Extend rather than replace
|
||
- Keep Activity as the single operational write model
|
||
|
||
Current implementation already contains several activity-like concepts:
|
||
|
||
- Follow-up
|
||
- Reminder
|
||
- Site Visit
|
||
- Meeting
|
||
- Internal Task
|
||
|
||
These must be audited and unified without breaking existing production behavior.
|
||
|
||
---
|
||
|
||
# Review Required
|
||
|
||
Review before implementation:
|
||
|
||
Business
|
||
|
||
- Relationship & Sales Workspace Blueprint
|
||
- Activity Blueprint
|
||
|
||
Architecture
|
||
|
||
- AR.1 Architecture Transition Plan
|
||
- AR.2 Epic Technical Design
|
||
|
||
Engineering
|
||
|
||
- Engineering Constitution
|
||
|
||
UI
|
||
|
||
- Workspace UI/UX Design Note
|
||
- layout.md
|
||
- ui-ux-rules.md
|
||
- ui-ux-pro-max
|
||
|
||
Implementation
|
||
|
||
- Existing Follow-up modules
|
||
- Existing Customer detail
|
||
- Existing Opportunity detail
|
||
- Existing Quotation detail
|
||
- Existing Notification logic
|
||
- Existing Permission model
|
||
|
||
---
|
||
|
||
# Scope
|
||
|
||
## Part 1 — Activity Domain Model
|
||
|
||
Create
|
||
|
||
Activity Aggregate
|
||
|
||
Define
|
||
|
||
- Activity
|
||
- Activity Owner
|
||
- Activity Assignee
|
||
- Activity Type
|
||
- Activity Status
|
||
- Activity Priority
|
||
|
||
Freeze ownership.
|
||
|
||
Activity becomes the only operational work entity.
|
||
|
||
---
|
||
|
||
## Part 2 — Activity Lifecycle
|
||
|
||
Define
|
||
|
||
Draft
|
||
|
||
Scheduled
|
||
|
||
In Progress
|
||
|
||
Completed
|
||
|
||
Cancelled
|
||
|
||
Skipped
|
||
|
||
Overdue
|
||
|
||
Define
|
||
|
||
Allowed transitions
|
||
|
||
Completion rules
|
||
|
||
Reschedule rules
|
||
|
||
Assignment rules
|
||
|
||
---
|
||
|
||
## Part 3 — Activity Relationship Model
|
||
|
||
Activity may reference
|
||
|
||
Customer
|
||
|
||
Contact
|
||
|
||
Lead
|
||
|
||
Opportunity
|
||
|
||
Quotation
|
||
|
||
PO
|
||
|
||
Internal Only
|
||
|
||
Exactly one source context is required.
|
||
|
||
---
|
||
|
||
## Part 4 — Activity Business Rules
|
||
|
||
Freeze
|
||
|
||
Assignment
|
||
|
||
Ownership
|
||
|
||
Visibility
|
||
|
||
Permission
|
||
|
||
Completion
|
||
|
||
Deletion
|
||
|
||
Editing
|
||
|
||
History
|
||
|
||
Determine
|
||
|
||
Recurring activities
|
||
|
||
Parent / Child activities
|
||
|
||
Future dependency support
|
||
|
||
---
|
||
|
||
## Part 5 — Activity Service
|
||
|
||
Introduce
|
||
|
||
Activity Service
|
||
|
||
Responsibilities
|
||
|
||
Create
|
||
|
||
Update
|
||
|
||
Assign
|
||
|
||
Complete
|
||
|
||
Cancel
|
||
|
||
Reschedule
|
||
|
||
Permission validation
|
||
|
||
Audit logging
|
||
|
||
Business validation
|
||
|
||
Route Handlers remain thin.
|
||
|
||
---
|
||
|
||
## Part 6 — Activity Repository
|
||
|
||
Create repository abstraction.
|
||
|
||
Separate
|
||
|
||
Write model
|
||
|
||
Read model
|
||
|
||
Prepare for future projections.
|
||
|
||
---
|
||
|
||
## Part 7 — Activity API
|
||
|
||
Introduce REST endpoints
|
||
|
||
Create
|
||
|
||
Update
|
||
|
||
Delete
|
||
|
||
Assign
|
||
|
||
Complete
|
||
|
||
Cancel
|
||
|
||
Reschedule
|
||
|
||
List
|
||
|
||
Get Detail
|
||
|
||
API must follow existing CRM conventions.
|
||
|
||
---
|
||
|
||
## Part 8 — Permission Model
|
||
|
||
Integrate with existing CRM authorization.
|
||
|
||
Support
|
||
|
||
Owner
|
||
|
||
Assignee
|
||
|
||
Manager
|
||
|
||
Administrator
|
||
|
||
Respect
|
||
|
||
Organization
|
||
|
||
Branch
|
||
|
||
Product Type
|
||
|
||
Pricing visibility boundaries.
|
||
|
||
---
|
||
|
||
## Part 9 — Existing Module Integration
|
||
|
||
Integrate Activity with
|
||
|
||
Customer
|
||
|
||
Lead
|
||
|
||
Opportunity
|
||
|
||
Quotation
|
||
|
||
without changing their ownership.
|
||
|
||
Do not migrate Follow-up yet.
|
||
|
||
Only establish extension points.
|
||
|
||
---
|
||
|
||
## Part 10 — Future Projection Preparation
|
||
|
||
Publish integration contracts for
|
||
|
||
Timeline
|
||
|
||
Calendar
|
||
|
||
Notification
|
||
|
||
My Day
|
||
|
||
Dashboard
|
||
|
||
Do NOT implement projections.
|
||
|
||
Only define extension interfaces.
|
||
|
||
---
|
||
|
||
# UI Scope
|
||
|
||
Implement only foundational UI.
|
||
|
||
Review
|
||
|
||
- layout.md
|
||
- ui-ux-rules.md
|
||
- ui-ux-pro-max
|
||
|
||
Deliver
|
||
|
||
- Activity Sheet
|
||
- Activity Form
|
||
- Activity Detail
|
||
- Activity Badge
|
||
- Activity Status Badge
|
||
- Activity Priority Badge
|
||
|
||
Do NOT build
|
||
|
||
- Calendar
|
||
- Timeline
|
||
- My Day
|
||
- Manager Workspace
|
||
|
||
UI must extend existing CRM patterns.
|
||
|
||
---
|
||
|
||
# Deliverables
|
||
|
||
1. Activity Domain Model
|
||
2. Activity Lifecycle
|
||
3. Activity Service
|
||
4. Activity Repository
|
||
5. Activity API
|
||
6. Activity Permission Integration
|
||
7. Activity UI Foundation
|
||
8. Activity Integration Contracts
|
||
9. Existing Follow-up Gap Analysis
|
||
10. Migration Preparation Report
|
||
|
||
---
|
||
|
||
# Constraints
|
||
|
||
Must preserve
|
||
|
||
- Customer
|
||
- Lead
|
||
- Opportunity
|
||
- Quotation
|
||
- Approval
|
||
- RBAC
|
||
- Organization
|
||
- Existing APIs
|
||
|
||
No Calendar.
|
||
|
||
No Timeline.
|
||
|
||
No Dashboard.
|
||
|
||
No Notification Expansion.
|
||
|
||
No projection implementation.
|
||
|
||
No migration of existing Follow-up records.
|
||
|
||
---
|
||
|
||
# Acceptance Criteria
|
||
|
||
- Activity becomes the official operational domain.
|
||
- Existing CRM behavior remains unchanged.
|
||
- Activity is reusable by all future workspaces.
|
||
- Existing Follow-up implementation continues working.
|
||
- Projection interfaces are prepared without implementation.
|
||
- Thin Route Handler pattern is preserved.
|
||
- Service-owned business logic is preserved.
|
||
- All new UI follows layout.md, ui-ux-rules.md, and ui-ux-pro-max.
|
||
- Existing shadcn/ui patterns are reused.
|
||
- No breaking changes are introduced.
|
||
|
||
---
|
||
|
||
# Success Criteria
|
||
|
||
ALLA OS now has a production-ready Activity Foundation.
|
||
|
||
Future epics can consume Activity without redesign.
|
||
|
||
Ready for
|
||
|
||
EP.1.2 – Activity Integration & Follow-up Consolidation.
|
||
|
||
## Compatibility Strategy
|
||
|
||
During EP.1.1, existing Follow-up implementations remain operational.
|
||
|
||
The new Activity Domain must coexist with legacy Follow-up structures.
|
||
|
||
No existing API contracts may be removed.
|
||
|
||
No database records are migrated.
|
||
|
||
No UI flow changes are introduced.
|
||
|
||
Activity is introduced as an additive capability only.
|
||
|
||
Legacy Follow-up consolidation is deferred to EP.1.2 after Activity Foundation has been validated.
|