-
Notifications
You must be signed in to change notification settings - Fork 8
feat(product-management): cutover to MAF runtime #989
Copy link
Copy link
Open
Labels
area:appsService applications under apps/Service applications under apps/context:product-managementBounded context: product-management-* servicesBounded context: product-management-* 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:product-managementBounded context: product-management-* servicesBounded context: product-management-* 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
product-management-*bounded context (4 services: acp-transformation, assortment-optimization, consistency-validation, normalization-classification) from the legacyBaseRetailAgentruntime internals to the MAF-backed runtime introduced in #981. This is the final bounded context in the R1 cutover order; once it merges and clears the 24-hour steady-state hold, the R1 epic can close and R2 (UI decoupling) becomes unblocked.This is a hard sunset: legacy runtime imports are deleted in the same PR. There is no coexistence flag.
Required change
For each of
product-management-acp-transformation,product-management-assortment-optimization,product-management-consistency-validation,product-management-normalization-classification: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.apps/still imports the legacylib/src/holiday_peak_lib/agents/internals; delete legacy runtime internals fromlib/(public surface stays as a thin re-export over MAF).Affected components
Acceptance criteria (per spec — Acceptance gate per bounded context)
apps/product-management-*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/product-management-acp-transformation,apps/product-management-assortment-optimization,apps/product-management-consistency-validation,apps/product-management-normalization-classification.lib/runtime internals deleted in the same PR (public surface remains as thin re-export over MAF).apps/imports the legacy runtime (verified via grep across the entireapps/tree).Risks and dependencies
crud-serviceconfirms zero pre-MAF imports before deleting; CI enforces the deletion.Blocked by:
ecommerce-*cutover — preceding context per the R1 cutover order).Blocks: R2 (UI decoupling, file 22-r2-ui-decoupling-swa.md). R2 is a strict downstream of R1's full completion per the S2 sequencing rule.
Evidence links
ADR impact
Branch convention
feature/<issue-id>-product-management-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]