Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions verifiers/gepa/display.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,9 @@ def __init__(
if self.log_file:
self.log_file.parent.mkdir(parents=True, exist_ok=True)

def get_log_hint(self) -> Text | None:
return None

def set_valset_info(self, valset_size: int, valset_example_ids: list[int]) -> None:
"""Update valset info after environment is loaded."""
self.valset_size = valset_size
Expand Down
15 changes: 14 additions & 1 deletion verifiers/utils/display_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,10 @@ def refresh(self) -> None:
if self._live:
self._live.update(self._render())

def get_log_hint(self) -> Text | None:
"""Return an optional hint for viewing full logs."""
return Text("full logs: --debug", style="dim")

def _make_log_panel(self) -> Panel:
"""Create a panel showing recent log messages with placeholder lines."""
max_lines = self._log_handler.logs.maxlen or 3
Expand All @@ -181,7 +185,16 @@ def _make_log_panel(self) -> Panel:
else:
log_text.append(" ", style="dim") # placeholder line

return Panel(log_text, title="[dim]Logs[/dim]", border_style="dim")
subtitle = self.get_log_hint()
if subtitle is None:
return Panel(log_text, title="[dim]Logs[/dim]", border_style="dim")
return Panel(
log_text,
title="[dim]Logs[/dim]",
subtitle=subtitle,
subtitle_align="center",
border_style="dim",
)

def start(self) -> None:
"""Start the live display."""
Expand Down