Skip to content

feat(crm): cutover to MAF runtime #985

@Cataldir

Description

@Cataldir

Problem statement

Migrate the crm-* bounded context (4 services: campaign-intelligence, profile-aggregation, segmentation-personalization, support-assistance) from the legacy BaseRetailAgent runtime 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:

Affected components

Acceptance criteria (per spec — Acceptance gate per bounded context)

Risks and dependencies

Risk Mitigation
Cross-service CRM behavior (profile → segmentation → campaign chaining) regresses across the 4 services. Contract tests cover the chained MCP A2A flows; eval baselines cover end-to-end CRM scenarios.
MCP A2A introduces extra latency on multi-hop CRM flows. Measured pre/post per service; tolerance P95 within 10 %. Outside tolerance halts the canary.
Reach-throughs into BaseRetailAgent internals from any of the 4 services. Pre-flight grep across the four apps/crm-*/src trees; blocks cutover until refactored.
Foundry agent ID provisioning fails for any of the 4 services. Provisioning runs ahead of this PR; failure halts this context.

Blocked by:

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]
Loading

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:appsService applications under apps/context:crmBounded context: crm-* servicespriority:highHigh priority worktype:refactorRefactor / restructure with no functional change

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions