From 492f5cf1e4c28d723480d70edd7e637633c0a42c Mon Sep 17 00:00:00 2001 From: Yiorgis Gozadinos Date: Fri, 20 Feb 2026 17:59:35 +0200 Subject: [PATCH] Avoid mutable defaults --- haiku_rag_slim/haiku/rag/skills/rag.py | 12 ++++++------ haiku_rag_slim/haiku/rag/tools/qa.py | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/haiku_rag_slim/haiku/rag/skills/rag.py b/haiku_rag_slim/haiku/rag/skills/rag.py index 04d835db..776db28a 100644 --- a/haiku_rag_slim/haiku/rag/skills/rag.py +++ b/haiku_rag_slim/haiku/rag/skills/rag.py @@ -2,7 +2,7 @@ import os from pathlib import Path from typing import Any -from pydantic import BaseModel +from pydantic import BaseModel, Field from pydantic_ai import RunContext from haiku.rag.agents.research.models import Citation @@ -31,12 +31,12 @@ class ResearchEntry(BaseModel): class RAGState(BaseModel): - citations: list[Citation] = [] - qa_history: list[QAHistoryEntry] = [] + citations: list[Citation] = Field(default_factory=list) + qa_history: list[QAHistoryEntry] = Field(default_factory=list) document_filter: str | None = None - searches: dict[str, list[SearchResult]] = {} - documents: list[DocumentInfo] = [] - reports: list[ResearchEntry] = [] + searches: dict[str, list[SearchResult]] = Field(default_factory=dict) + documents: list[DocumentInfo] = Field(default_factory=list) + reports: list[ResearchEntry] = Field(default_factory=list) def create_skill( diff --git a/haiku_rag_slim/haiku/rag/tools/qa.py b/haiku_rag_slim/haiku/rag/tools/qa.py index 0c32da7f..116377ea 100644 --- a/haiku_rag_slim/haiku/rag/tools/qa.py +++ b/haiku_rag_slim/haiku/rag/tools/qa.py @@ -11,7 +11,7 @@ class QAHistoryEntry(BaseModel): question: str answer: str confidence: float = 0.9 - citations: list[Citation] = [] + citations: list[Citation] = Field(default_factory=list) question_embedding: list[float] | None = Field(default=None, exclude=True) @property