5.3 KiB
EP.1.2 – Activity Integration & Legacy Follow-up Adapter
Status: Completed
Priority: Critical
Type: Feature Integration
Depends On
- EP.1.1 Activity Domain Foundation
- ENG.0 Engineering Constitution
- AR.1 Architecture Transition Plan
- AR.2 Epic Technical Design
Objective
Introduce the Activity Integration Layer that connects the new Activity Domain with existing CRM modules while preserving all legacy follow-up implementations.
This phase establishes adapter-based integration without introducing data migration, dual-write, or projection consumers.
The objective is to prepare existing modules to consume Activity incrementally while maintaining production stability.
Background
EP.1.1 introduced the additive crm_activities write model.
Current CRM still contains multiple follow-up implementations:
- Lead (audit-log-backed)
- Opportunity (row-backed)
- Quotation (row-backed)
Business Constitution defines Activity as the long-term operational model.
Architecture Constitution requires:
- Preserve existing production behavior.
- Introduce Activity through adapters.
- Delay consolidation until adapters are validated.
Review Required
Review
Business
- Relationship & Sales Workspace Blueprint
- Activity Blueprint
Architecture
- AR.1 Architecture Transition Plan
- AR.2 Epic Technical Design
Engineering
- Engineering Constitution
Implementation
- EP.1.1 Activity Foundation
- Existing Lead Follow-up
- Existing Opportunity Follow-up
- Existing Quotation Follow-up
- Existing Dashboard queries
- Existing Reports
- Existing Audit Log
UI
- Workspace UI/UX Design Note
- layout.md
- ui-ux-rules.md
- ui-ux-pro-max
Scope
Part 1 — Legacy Follow-up Adapter Layer
Introduce adapter interfaces.
Create
LeadFollowUpAdapter
OpportunityFollowUpAdapter
QuotationFollowUpAdapter
Responsibilities
Read legacy follow-up
Translate legacy model
Produce Activity-compatible DTO
No database migration.
No dual write.
Part 2 — Activity Context Integration
Integrate Activity with
Customer
Contact
Lead
Opportunity
Quotation
PO
Activity must resolve context without changing ownership of those domains.
Part 3 — Activity Type Governance
Freeze the official activity catalog.
Minimum types
- Meeting
- Visit
- Phone Call
- Site Survey
- Presentation
- Reminder
- Internal Task
- Follow-up
- Delivery Coordination
- Approval Action
Introduce crm_activity_type master options.
No hard-coded types.
Part 4 — Activity Context Strategy
Freeze
contextType
contextId
supported contexts
Exactly one primary context.
Optional related references.
Prepare Timeline and Calendar compatibility.
Part 5 — Activity Number Strategy
Introduce configurable document numbering.
Example
ACT2607-0001
Support
Organization
Branch
Period
Sequence
Reuse existing Document Sequence Foundation.
Part 6 — Activity Attachment Foundation
Integrate Activity with existing Storage Foundation.
Support
Images
Office Documents
Voice Recording
Drawing
No new storage engine.
Reuse current abstraction.
Part 7 — Activity UI Integration
Extend existing pages.
Customer Detail
Opportunity Detail
Quotation Detail
Lead Detail
Add
Recent Activities
Create Activity
Activity Summary
Do NOT replace Follow-up UI.
Run both in parallel.
Part 8 — Permission Integration
Reuse existing CRM permission model.
Support
Owner
Assignee
Manager
Administrator
Organization
Branch
Product Type
Pricing visibility
Internal-only Activity
Part 9 — Compatibility Layer
Introduce compatibility interfaces.
Legacy Follow-up
↓
Activity Adapter
↓
Activity DTO
Current consumers remain unchanged.
No existing API removed.
No schema migration.
Part 10 — Migration Readiness
Produce
Adapter validation
Compatibility report
Legacy usage inventory
Projection readiness report
Migration checklist
No migration execution.
Deliverables
- Lead Follow-up Adapter
- Opportunity Follow-up Adapter
- Quotation Follow-up Adapter
- Activity Context Integration
- Activity Type Governance
- Activity Numbering Strategy
- Activity Attachment Foundation
- Activity UI Integration
- Compatibility Layer
- Migration Readiness Report
Constraints
Must preserve
- Existing Follow-up
- Existing APIs
- Existing Reports
- Existing Dashboard
- Existing Audit History
- Existing Permissions
No Timeline.
No Calendar.
No Notification.
No My Day.
No Dashboard Projection.
No Event Publishing.
No data migration.
No dual write.
Acceptance Criteria
- Activity integrates with all major CRM modules.
- Existing Follow-up continues to function.
- Adapter Layer becomes the only integration point.
- Activity Types are centrally governed.
- Activity Numbering follows Document Sequence Foundation.
- Activity Attachments reuse existing Storage Foundation.
- No production behavior changes.
- No breaking API changes.
- No duplicated business logic.
- No duplicated lifecycle.
Success Criteria
Activity is fully integrated into the CRM foundation.
Legacy Follow-up remains operational.
All future projection epics can consume Activity through stable interfaces.
Repository remains backward compatible.
Ready for
EP.1.3 – Business Event Foundation & Projection Contracts.