From 0bb8fde586ea0577589ebd8e8faff07400957f13 Mon Sep 17 00:00:00 2001 From: nesquena-hermes <[email protected]> Date: Mon, 18 May 2026 22:50:45 +0000 Subject: [PATCH] Mark ControlResult unsafe_hash=False with explainer (Opus advisor followup) --- api/runtime_adapter.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/api/runtime_adapter.py b/api/runtime_adapter.py index 034d1c2d..f59fe87a 100644 --- a/api/runtime_adapter.py +++ b/api/runtime_adapter.py @@ -66,8 +66,12 @@ class RunStatus: pending_clarify_id: str | None = None -@dataclass(frozen=True) +@dataclass(frozen=True, eq=True, unsafe_hash=False) class ControlResult: + # NOTE: `payload: dict` makes this dataclass unhashable by design. + # `unsafe_hash=False` makes that explicit so future maintainers don't try + # to add `frozen=True`-implied hashability back (would silently break the + # moment any caller adds dict / list fields). Opus advisor stage-384 followup. accepted: bool status: str = "accepted" event_id: str | None = None