-
Notifications
You must be signed in to change notification settings - Fork 8
feat(search): cutover to MAF runtime #984
Copy link
Copy link
Open
Labels
area:appsService applications under apps/Service applications under apps/context:searchBounded context: search-enrichment-agentBounded context: search-enrichment-agentpriority: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:searchBounded context: search-enrichment-agentBounded context: search-enrichment-agentpriority: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
search-enrichment-agentbounded context (single service) from the legacyBaseRetailAgentruntime internals to the MAF-backed runtime introduced in #981. This is the smallest single-service context in R1 and serves as a clean validation of the seam after the larger truth-* migration.This is a hard sunset: legacy runtime imports are deleted in the same PR. There is no coexistence flag.
Required change
For
search-enrichment-agent: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./search,/enrich) remain unchanged in shape; migration is internal.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/search-enrichment-agentunit and integration tests pass.maxDeltaPercentfor the 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).Risks and dependencies
maxDeltaPercenthalt the canary.BaseRetailAgentinternals.Blocked by:
truth-*cutover — preceding context per the R1 cutover order).Blocks: the next context (
crm-*) per the R1 sequencing rule.Evidence links
ADR impact
Branch convention
feature/<issue-id>-search-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]