Resolves the DB-driven progress-narration instruction template: the Active MJ: AI Prompts
row named NARRATION_PROMPT_NAME, read from AIEngine's cached prompts. When
the current name is absent, falls back to the DEPRECATED LEGACY_NARRATION_PROMPT_NAME
(pre-rename seed) with a deprecation log. Tolerant: returns null (never throws) when
neither prompt is present, the text is empty, or the engine cache is unavailable — consumers
fall back to the built-in narration instruction wording.
Returns string
The template text (containing a {{ progressMessage }} placeholder), or null.
Resolves the DB-driven progress-narration instruction template: the Active
MJ: AI Promptsrow named NARRATION_PROMPT_NAME, read from AIEngine's cached prompts. When the current name is absent, falls back to the DEPRECATED LEGACY_NARRATION_PROMPT_NAME (pre-rename seed) with a deprecation log. Tolerant: returnsnull(never throws) when neither prompt is present, the text is empty, or the engine cache is unavailable — consumers fall back to the built-in narration instruction wording.