Free-form, enricher-specific configuration. Passed through verbatim to the resolved enricher's QueryResultEnricherBase.EnrichResults; its shape is owned by the concrete enricher, not by MJCore.
The ClassFactory key the enricher is registered under
(@RegisterClass(QueryResultEnricherBase, '<key>')). Resolved at runtime so
MJCore never takes a static dependency on any concrete enricher.
Declarative, runtime-only directive that asks RunQuery to post-process its result rows through a registered QueryResultEnricherBase. Supplied on
RunQueryParams.Enrichmentper-call — there is intentionally NO persisted query column for this (a saved per-query annotation is a deliberate follow-up), so the feature is purely additive and requires no schema change / CodeGen.The enrichment is decoupled from MJCore: the
EnricherKeyis resolved through the MJGlobal ClassFactory at runtime (see resolveQueryResultEnricher). When no enricher is registered under the key (e.g. the package that provides it isn't loaded), RunQuery simply no-ops and returns the un-enriched rows.