refactor(llm): validate AgentConfig in prod; spec-mock the client in tests

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Justin Bollinger
2026-07-24 11:50:19 -04:00
co-authored by Claude Sonnet 4.6
parent 1cc71abfef
commit a57a4165f1
2 changed files with 3 additions and 2 deletions
+1 -1
View File
@@ -111,7 +111,7 @@ def generate_candidates(
prompt_generator = _TARGET_PROMPT if mode == "target" else _WORDLIST_PROMPT
agent = AtomicAgent[GenerationInput, PasswordCandidatesOutput](
config=AgentConfig.model_construct(
config=AgentConfig(
client=client,
model=model,
system_prompt_generator=prompt_generator,
+2 -1
View File
@@ -3,6 +3,7 @@
import os
from unittest import mock
import instructor
import pytest
os.environ["HATE_CRACK_SKIP_INIT"] = "1"
@@ -25,7 +26,7 @@ def _patch_agent(candidates):
agent_cls.__getitem__.return_value.return_value = agent_instance
return (
mock.patch("hate_crack.llm.instructor"),
mock.patch("hate_crack.llm.instructor.from_openai", return_value=mock.MagicMock(spec=instructor.Instructor)),
mock.patch("hate_crack.llm.OpenAI"),
mock.patch("hate_crack.llm.AtomicAgent", agent_cls),
agent_cls,