Skip to content

feat(ecommerce): cutover to MAF runtime #988

@Cataldir

Description

@Cataldir

Problem statement

Migrate the ecommerce-* bounded context (5 services: cart-intelligence, catalog-search, checkout-support, order-status, product-detail-enrichment) from the legacy BaseRetailAgent runtime internals to the MAF-backed runtime introduced in #981. This is the largest single bounded context in R1 (5 services in one cutover).

This is a hard sunset: legacy runtime imports are deleted in the same PR. There is no coexistence flag.

Required change

For each of ecommerce-cart-intelligence, ecommerce-catalog-search, ecommerce-checkout-support, ecommerce-order-status, ecommerce-product-detail-enrichment:

Affected components

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

Risks and dependencies

Risk Mitigation
ecommerce is the largest bounded context — 5 services in one cutover. Pre-flight grep + dedicated contract tests cover the cross-service browse → cart → checkout → order journey. tests/e2e/ end-to-end retail journey runs in CI before the canary opens.
Checkout-support regressions risk transactional flow failures (high blast radius). Canary ladder (5→25→50→100) gives early detection; contract tests cover checkout edge cases; outside tolerance halts the canary immediately.
Catalog-search relevance regresses on cutover. Eval baselines cover relevance metrics; outside tolerance halts the canary.
MCP A2A introduces extra latency on the browse → cart → checkout chain. Measured pre/post per service; tolerance P95 within 10 %.
Reach-throughs into BaseRetailAgent internals from any of the 5 services. Pre-flight grep blocks cutover until refactored.
Foundry agent ID provisioning fails for any of the 5 services. Provisioning runs ahead of this PR; failure halts this context.

Blocked by:

Blocks: the next context (product-management-*) per the R1 sequencing rule.

Evidence links

ADR impact

Branch convention

feature/<issue-id>-ecommerce-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:ecommerceBounded context: ecommerce-* 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