---
name: query_plan
lang: py
domain: core
version: "1.0.0"
algebraic: product
definition: |
  @dataclass
  class QueryPlan:
      queries: list[TypedQuery]
      session_context: str
      reasoning: str
description: "Plan de busqueda generado por analisis de intenciones (LLM). Contiene multiples queries tipadas y el razonamiento detras de la descomposicion."
tags: [retrieval, plan, rag, intent, llm, search]
uses_types: [typed_query_py_core]
file_path: "python/types/core/query_plan.py"
---

## Notas

`session_context` resume el estado de la conversacion o sesion que el LLM analizo para generar el plan. Permite al retriever entender el contexto sin acceder al historial completo.

`reasoning` es la cadena de pensamiento del LLM — util para debugging y observabilidad. Documenta por que se decidio descomponer la busqueda en esas queries especificas con esos tipos de contexto.

Las queries en la lista se ordenan convencionalmente por `priority` (1=alta) para que el retriever pueda ejecutar primero las mas importantes y aplicar early stopping si ya tiene suficiente contexto.
