Phase 5 — Resolver Adapters

Converts C# Rendering Contents Resolvers to TypeScript Edge GraphQL adapters — one resolver at a time, with live XMC Edge validation.

Phase 5 converts your C# Rendering Contents Resolvers into TypeScript Edge GraphQL adapters. This is the final phase of the migration — once complete, your site is fully running on SitecoreAI CMS (XMC) SXA Headless with no remaining XP-specific dependencies.

Duration: Hours — iterative, one adapter at a time | Orchestrator: Resolver Adapters Orchestrator

Requires: All components complete in migration-state (pending=0), code-discovery-report, content-discovery-report, plus live mode active

⚠️

Live mode required — Phase 5 must run with the sandbox dev server connected to SitecoreAI CMS (XMC) Edge. Switch to live mode before starting: call dev-server-set-mode { mode: 'live' }. This requires SITECORE_EDGE_CONTEXT_ID — see the setup table below.


What Resolver Adapters does

In Sitecore XP, C# Rendering Contents Resolvers run server-side to fetch and transform data before it reaches the frontend. SitecoreAI CMS (XMC) has no equivalent — that logic must move to the Next.js application layer as TypeScript GraphQL adapters.

For each component that had a resolver, the agent:

  1. Compares the XP layout response (with resolver running) against the XMC Edge response (without resolver)
  2. Identifies exactly what data the resolver was enriching
  3. Builds a focused GraphQL query that fetches that data from XMC Edge
  4. Writes a TypeScript adapter with the resolver logic and appropriate caching
  5. Verifies the adapter produces enriched output (FIELDS_ENRICHED > 0)

Complexity order. Adapters are built from highest complexity to lowest — high → medium → low. This front-loads the hardest work while context is freshest.

Validation guardrail. After each adapter, the orchestrator verifies enrichment evidence. If an adapter claims success but shows FIELDS_ENRICHED=0 or uses endpoint-construction anti-patterns, it is automatically re-classified as failed and you are asked how to proceed.


Before you start

  • Phase 2 — Code Migration is complete (migration-state shows pending=0)
  • Phase 4 — SXA Conversion is complete
  • SITECORE_EDGE_CONTEXT_ID is set in your workspace
  • Dev server switched to live mode

Required SitecoreAI CMS (XMC) environment values:

ValueRequired forWhere to find it
Edge Context IDLive modeSitecore Cloud Portal → Deploy app → Environment → Details → Context ID
Editing SecretPages editing integrationSitecore Cloud Portal → Deploy app → Environment → Details → Editing secret

Set these via:

migration-set-connectors {
  xmCloudEnvironment: {
    edgeContextId: "<your-context-id>",
    editingSecret: "<your-editing-secret>"
  }
}

Or individually via dev-server-set-env.


How to run Resolver Adapters

  1. Set the Edge Context ID using migration-set-connectors or dev-server-set-env
  2. Switch to live mode: call dev-server-set-mode { mode: 'live' }
  3. Open your project in Kajoo Agentic and start a new chat session
  4. Type "Start resolver adapters" to invoke the Resolver Adapters Orchestrator
  5. The agent loads the resolver inventory from the discovery report
  6. For each resolver, the agent builds and validates the adapter
  7. Review and choose your next action after each one (see below)
  8. Continue until all adapters are complete

What you'll decide

After each adapter:

ActionWhat it does
ContinueAccept the adapter and move to the next resolver
RedoRe-build this adapter — optionally with adjusted instructions
SkipLeave this resolver for manual handling and move to the next
StopPause — progress is saved, resume anytime

On failure:

ActionWhat it does
RetryRe-attempt the adapter build
SkipMark as skipped and continue
StopPause and review before continuing

After a rollback, the orchestrator will ask how to reconcile state before proceeding.


Resuming Resolver Adapters

Progress is tracked in the resolver-adapter-state artifact.

To resume: open a new chat session in your project and type "Resume resolver adapters". The agent picks up from the next pending adapter.


What Resolver Adapters produces

ArtifactWhat it contains
resolver-adapter-stateCompleted, pending, and skipped adapters. Per-adapter detail: queries built, fields enriched, complexity, checkpoint references
rendering-resolver-detailsResolver inventory loaded from Phase 1 discovery

Completed adapter code is committed to your target repository alongside the migrated component code.


Troubleshooting

IssueFix
"SITECORE_EDGE_CONTEXT_ID is not set"Set via migration-set-connectors with xmCloudEnvironment.edgeContextId or via dev-server-set-env
"FIELDS_ENRICHED=0" on an adapterGuardrail caught it — adapter is marked failed. Choose Retry with adjusted instructions or Skip
Dev server not connecting to XMC EdgeConfirm Edge Context ID is correct and the XMC environment is deployed and running
"Cannot resume"resolver-adapter-state is missing. Safe to restart — the agent will reload the resolver inventory from discovery
Rollback neededThe orchestrator will ask how to reconcile state after rollback — follow its guidance

Migration complete

Once all resolver adapters are built and validated, your migration is done. Your target repository contains:

  • All React/JSS components migrated to Content SDK 2.0 SXA Headless
  • Full content tree serialized and present in SitecoreAI CMS (XMC)
  • SXA Headless site structure — tenant, partial designs, page designs, presentation
  • TypeScript GraphQL adapters replacing all C# Rendering Contents Resolvers

The next step is to push your final code to your production repository, complete any remaining QA, and cut over to the new SitecoreAI CMS (XMC) environment.

📘

Need help with the final cutover or QA? Contact your Kajoo delivery contact or reach out to the TechGuilds team for post-migration support.