-
Notifications
You must be signed in to change notification settings - Fork 8
feat(crm): cutover to MAF runtime #985
Copy link
Copy link
Open
Labels
area:appsService applications under apps/Service applications under apps/context:crmBounded context: crm-* servicesBounded context: crm-* servicespriority:highHigh priority workHigh priority worktype:refactorRefactor / restructure with no functional changeRefactor / restructure with no functional change
Metadata
Metadata
Assignees
Labels
area:appsService applications under apps/Service applications under apps/context:crmBounded context: crm-* servicesBounded context: crm-* servicespriority:highHigh priority workHigh priority worktype:refactorRefactor / restructure with no functional changeRefactor / restructure with no functional change
Type
Fields
Give feedbackNo fields configured for issues without a type.
Problem statement
Migrate the
crm-*bounded context (4 services: campaign-intelligence, profile-aggregation, segmentation-personalization, support-assistance) from the legacyBaseRetailAgentruntime internals to the MAF-backed runtime introduced in #981.This is a hard sunset: legacy runtime imports are deleted in the same PR. There is no coexistence flag.
Required change
For each of
crm-campaign-intelligence,crm-profile-aggregation,crm-segmentation-personalization,crm-support-assistance:lib/src/holiday_peak_lib/agents/internals with the public surface backed by the MAF runtime from feat(lib): MAF runtime adapter behind the existing BaseRetailAgent surface #981.main.pyand the agent definition to use the MAF-backed seam.FastAPIMCPServerremain unchanged in signature; only the underlying runtime changes.FOUNDRY_AGENT_ID_FAST,MODEL_DEPLOYMENT_NAME_FAST,FOUNDRY_AGENT_ID_RICH,MODEL_DEPLOYMENT_NAME_RICH,FOUNDRY_STREAM,PROJECT_ENDPOINT) wired via Helm values + Key Vault refs.Affected components
Acceptance criteria (per spec — Acceptance gate per bounded context)
apps/crm-*unit and integration tests pass.maxDeltaPercentfor each agent in this context (advisory until PR Add continuous agent evaluation engine #974 merges).dev, then instaging(per ADR-029, PR docs(adr): ADR-029..033 - architecture contracts (canary, MCP A2A, OTEL, memory, UI on SWA) #978).scripts/ci/lint_no_a2a_http.py(per ADR-030, PR docs(adr): ADR-029..033 - architecture contracts (canary, MCP A2A, OTEL, memory, UI on SWA) #978).apps/crm-campaign-intelligence,apps/crm-profile-aggregation,apps/crm-segmentation-personalization,apps/crm-support-assistance.Risks and dependencies
BaseRetailAgentinternals from any of the 4 services.apps/crm-*/srctrees; blocks cutover until refactored.Blocked by:
search-enrichment-agentcutover — preceding context per the R1 cutover order).Blocks: the next context (
inventory-*) per the R1 sequencing rule.Evidence links
ADR impact
Branch convention
feature/<issue-id>-crm-maf-cutover(per ADR-018).BPMN process
%%{init: {'theme':'base', 'themeVariables': { 'primaryColor':'#FFB3BA', 'primaryTextColor':'#000', 'primaryBorderColor':'#FF8B94', 'lineColor':'#BAE1FF', 'secondaryColor':'#BAE1FF', 'tertiaryColor':'#FFFFFF' }}}%% flowchart LR A[Analyze Current Code] --> B[Design Change] B --> C[Implement on Issue Branch] C --> D[Open PR] D --> E[Validation and Fixes] E --> F[Merge to Main] F --> G[Monitor Workflows] G --> H[Close Issue and Cleanup]