-
Notifications
You must be signed in to change notification settings - Fork 8
feat(truth): cutover to MAF runtime #983
Copy link
Copy link
Open
Labels
area:appsService applications under apps/Service applications under apps/context:truthBounded context: truth-* servicesBounded context: truth-* 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:truthBounded context: truth-* servicesBounded context: truth-* 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
truth-*bounded context (4 services: ingestion, enrichment, HITL, export) from the legacyBaseRetailAgentruntime internals to the MAF-backed runtime introduced in #981. The truth layer has the largest adapter surface in this cutover (4 services with shared enrichment / export semantics), so it lands as the second context to validate the seam under realistic adapter load before the wider agent fleet migrates.This is a hard sunset: legacy runtime imports are deleted in the same PR. There is no coexistence flag.
Required change
For each of
truth-ingestion,truth-enrichment,truth-hitl,truth-export: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 — no MAF idioms leak into service code unless intentional.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.Affected components
Acceptance criteria (per spec — Acceptance gate per bounded context)
apps/truth-*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/truth-ingestion,apps/truth-enrichment,apps/truth-hitl,apps/truth-export.Risks and dependencies
tests/e2ebefore opening the canary.BaseRetailAgentinternals from any of the 4 services.apps/truth-*/srctrees for direct use of internal modules; blocks cutover until refactored.Blocked by:
crud-servicecutover — preceding context per the R1 cutover order).Blocks: the next context (
search-enrichment-agent) per the R1 sequencing rule.Evidence links
ADR impact
Branch convention
feature/<issue-id>-truth-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]