Summary
Full system prompts and timeout/model config exist for sound_narration/trace_narration/awareness_narration (llm-client.ts:127-160, narrative-types.ts:136-150), and there is a renderSensoryTemplate dispatch, but these types are never passed to narrate() — trace output goes straight through traceSystem (ZoneRoom.ts:2363-2371). Wire sensory output through the pipeline.
Scope / Tasks
Acceptance Criteria
Dependencies
#513; Milestone A.
Size
M
Derived from the LLM narration gap analysis (Volo) and decomposition (Elminster).
Summary
Full system prompts and timeout/model config exist for
sound_narration/trace_narration/awareness_narration(llm-client.ts:127-160,narrative-types.ts:136-150), and there is arenderSensoryTemplatedispatch, but these types are never passed tonarrate()— trace output goes straight throughtraceSystem(ZoneRoom.ts:2363-2371). Wire sensory output through the pipeline.Scope / Tasks
sendTraceNarrations(ZoneRoom.ts:2363-2371) and any sound/awareness emission throughgenerateNarration('trace_narration' | 'sound_narration' | 'awareness_narration', …), with the currenttraceSystemtext as fallback.llm-client.ts:127-160) are selected per type.Acceptance Criteria
narrate()and uses the matching sensory prompt.Dependencies
#513; Milestone A.
Size
M
Derived from the LLM narration gap analysis (Volo) and decomposition (Elminster).