Skip to content

Wire sensory (sound/trace/awareness) narration through the pipeline #518

Description

@dkirby-ms

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

  • Route sendTraceNarrations (ZoneRoom.ts:2363-2371) and any sound/awareness emission through generateNarration('trace_narration' | 'sound_narration' | 'awareness_narration', …), with the current traceSystem text as fallback.
  • Ensure the sensory-specific system prompts (llm-client.ts:127-160) are selected per type.
  • Respect awareness/perception thresholds when deciding whether to narrate.
  • Add wiring tests for each of the three sensory types.

Acceptance Criteria

  • Trace/sound/awareness narration reaches narrate() and uses the matching sensory prompt.
  • Template fallback preserves current behavior when LLM is off.
  • Tests cover all three sensory types.

Dependencies

#513; Milestone A.

Size

M

Derived from the LLM narration gap analysis (Volo) and decomposition (Elminster).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    llmLLM narration integrationnarrativesensorySensory narration systemssquad:drizztAssigned to Drizzt (Engine Dev)squad:jarlaxleAssigned to Jarlaxle (Systems Dev)wiringConnecting existing code into runtime paths

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions