ProtectedcollectDistinct, defined primary-key values from the rows (as strings — the scorer's record ids).
ProtectedcreateThe scoring runner to delegate to. Overridable so unit tests inject a fake with no
live DB / sidecar (mirrors the Score action / operation createRunner seam). The
production default wires the model loader / sidecar / artifact loader.
Enrich (append columns to) the query result rows. Implementations should return a row array of the same length and order, mutating/cloning each row to add their derived column(s). On any unrecoverable condition they may throw — RunQuery's guard will log and fall back to the original rows.
ProtectedindexIndex ephemeral predictions by their recordId for an O(1) join back onto rows.
ProtectedparseValidate + narrow the free-form config to MLModelScoreEnricherConfig, or
null (with a logged reason) when the required modelId / outputField are absent.
ProtectedrowA single row's primary-key value as a string, or undefined when absent/null.
Scores RunQuery result rows with a trained ML model, appending the prediction column. Registered on the MJGlobal ClassFactory so MJCore's
RunQuerycan resolve it by key without a static dependency.