Skip to content

feat(truth): cutover to MAF runtime #983

@Cataldir

Description

@Cataldir

Problem statement

Migrate the truth-* bounded context (4 services: ingestion, enrichment, HITL, export) from the legacy BaseRetailAgent runtime 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:

Affected components

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

Risks and dependencies

Risk Mitigation
Truth context has the largest adapter surface in the cutover — 4 services sharing enrichment/export semantics. Land contract tests first under the seam introduced by #981; validate cross-service behavior with tests/e2e before opening the canary.
Eval baselines drift during cutover. Baselines refresh nightly (per PR #974). R1 introduces no new behavior; baseline drift indicates a bug, not a feature.
MCP A2A introduces extra latency vs. previous A2A pattern. Measured pre/post per service; tolerance P95 within 10 %. Outside tolerance halts the canary.
Reach-throughs into BaseRetailAgent internals from any of the 4 services. Pre-flight grep across the four apps/truth-*/src trees for direct use of internal modules; blocks cutover until refactored.
Foundry agent ID provisioning fails for any of the 4 services. Provisioning runs ahead of this PR; failure halts this context.

Blocked by:

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]
Loading

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:appsService applications under apps/context:truthBounded context: truth-* 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