fix: guard breadcrumb writes for bare test fakes; fold session category into general
- cli.py breadcrumb call sites use getattr so object.__new__/SimpleNamespace test fakes without the mixin method don't AttributeError (pitfall 17) - web_server: fold one-field 'session' category into 'general' per the single-field-category test contract
This commit is contained in:
@@ -5056,7 +5056,7 @@ class HermesCLI(CLIAgentSetupMixin, CLICommandsMixin, CLIBillingMixin):
|
||||
timestamp_str = self.session_start.strftime("%Y%m%d_%H%M%S")
|
||||
short_uuid = uuid.uuid4().hex[:6]
|
||||
self.session_id = f"{timestamp_str}_{short_uuid}"
|
||||
self._write_terminal_breadcrumb()
|
||||
getattr(self, "_write_terminal_breadcrumb", lambda: None)()
|
||||
|
||||
# History file for persistent input recall across sessions
|
||||
self._history_file = _hermes_home / ".hermes_history"
|
||||
@@ -9252,7 +9252,7 @@ class HermesCLI(CLIAgentSetupMixin, CLICommandsMixin, CLIBillingMixin):
|
||||
timestamp_str = self.session_start.strftime("%Y%m%d_%H%M%S")
|
||||
short_uuid = uuid.uuid4().hex[:6]
|
||||
self.session_id = f"{timestamp_str}_{short_uuid}"
|
||||
self._write_terminal_breadcrumb()
|
||||
getattr(self, "_write_terminal_breadcrumb", lambda: None)()
|
||||
self.conversation_history = []
|
||||
self._pending_title = None
|
||||
self._resumed = False
|
||||
@@ -12604,7 +12604,7 @@ class HermesCLI(CLIAgentSetupMixin, CLICommandsMixin, CLIBillingMixin):
|
||||
and self.agent.session_id != self.session_id
|
||||
):
|
||||
self.session_id = self.agent.session_id
|
||||
self._write_terminal_breadcrumb()
|
||||
getattr(self, "_write_terminal_breadcrumb", lambda: None)()
|
||||
self._pending_title = None
|
||||
# Manual /compress replaces conversation_history with a new
|
||||
# compressed handoff for the child session. Persist it from
|
||||
@@ -15679,7 +15679,7 @@ class HermesCLI(CLIAgentSetupMixin, CLICommandsMixin, CLIBillingMixin):
|
||||
):
|
||||
self._transfer_session_yolo(self.session_id, self.agent.session_id)
|
||||
self.session_id = self.agent.session_id
|
||||
self._write_terminal_breadcrumb()
|
||||
getattr(self, "_write_terminal_breadcrumb", lambda: None)()
|
||||
self._pending_title = None
|
||||
|
||||
# Get the final response
|
||||
@@ -16064,7 +16064,7 @@ class HermesCLI(CLIAgentSetupMixin, CLICommandsMixin, CLIBillingMixin):
|
||||
agent._persist_session(messages, conversation_history)
|
||||
if getattr(agent, "session_id", None):
|
||||
self.session_id = agent.session_id
|
||||
self._write_terminal_breadcrumb()
|
||||
getattr(self, "_write_terminal_breadcrumb", lambda: None)()
|
||||
|
||||
try:
|
||||
if persist_lock is None:
|
||||
|
||||
Reference in New Issue
Block a user