-
Notifications
You must be signed in to change notification settings - Fork 8
feat(crud-service): cutover to MAF runtime #982
Copy link
Copy link
Open
Labels
area:appsService applications under apps/Service applications under apps/context:crudBounded context: crud-serviceBounded context: crud-servicepriority: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:crudBounded context: crud-serviceBounded context: crud-servicepriority: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
crud-servicebounded context from the legacyBaseRetailAgentruntime internals to the MAF-backed runtime introduced in #981.crud-serviceis a pure microservice with no agent logic, but it binds the new three-tier memory contract (ADR-032, PR #978) and is the first cutover step per the R1 sequencing — establishing the steady-state pattern (eval baselines, AGC canary, MCP-only A2A lint, span contract validation) that every subsequent bounded context follows.This is a hard sunset: legacy runtime imports are deleted in the same PR. There is no coexistence flag.
Required change
lib/src/holiday_peak_lib/agents/internals in apps/crud-service/src with the public surface backed by the MAF runtime from feat(lib): MAF runtime adapter behind the existing BaseRetailAgent surface #981.MemoryFacade(Hot=Redis, Warm=Cosmos, Cold=Blob) via env varsREDIS_URL,COSMOS_ACCOUNT_URI,COSMOS_DATABASE,COSMOS_CONTAINER,BLOB_ACCOUNT_URL,BLOB_CONTAINER./products,/orders,/cart) 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 (where applicable for downstream agent calls from CRUD).Affected components
crud-servicedeployment.Acceptance criteria (per spec — Acceptance gate per bounded context)
apps/crud-serviceunit and integration tests in apps/crud-service/tests pass.maxDeltaPercentfor any agent calls originating fromcrud-service(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
BaseRetailAgentinternals fromcrud-serviceis found late.Blocked by: #981 (lib MAF runtime seam).
Blocks: the next context (
truth-*) per the R1 sequencing rule (one bounded context at a time).Evidence links
ADR impact
crud-serviceadopts the formal Hot/Warm/Cold binding.Branch convention
feature/<issue-id>-crud-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]