mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-25 00:51:20 +00:00
fix: remove 115 verified dead code symbols across 46 production files
Automated dead code audit using vulture + coverage.py + ast-grep intersection, confirmed by Opus deep verification pass. Every symbol verified to have zero production callers (test imports excluded from reachability analysis). Removes ~1,534 lines of dead production code across 46 files and ~1,382 lines of stale test code. 3 entire files deleted (agent/builtin_memory_provider.py, hermes_cli/checklist.py, tests/hermes_cli/test_setup_model_selection.py). Co-authored-by: alt-glitch <balyan.sid@gmail.com>
This commit is contained in:
parent
04baab5422
commit
96c060018a
70 changed files with 876 additions and 2877 deletions
|
|
@ -20,6 +20,13 @@ from zoneinfo import ZoneInfo
|
|||
import hermes_time
|
||||
|
||||
|
||||
def _reset_hermes_time_cache():
|
||||
"""Reset the hermes_time module cache (replacement for removed reset_cache)."""
|
||||
hermes_time._cached_tz = None
|
||||
hermes_time._cached_tz_name = None
|
||||
hermes_time._cache_resolved = False
|
||||
|
||||
|
||||
# =========================================================================
|
||||
# hermes_time.now() — core helper
|
||||
# =========================================================================
|
||||
|
|
@ -28,10 +35,10 @@ class TestHermesTimeNow:
|
|||
"""Test the timezone-aware now() helper."""
|
||||
|
||||
def setup_method(self):
|
||||
hermes_time.reset_cache()
|
||||
_reset_hermes_time_cache()
|
||||
|
||||
def teardown_method(self):
|
||||
hermes_time.reset_cache()
|
||||
_reset_hermes_time_cache()
|
||||
os.environ.pop("HERMES_TIMEZONE", None)
|
||||
|
||||
def test_valid_timezone_applies(self):
|
||||
|
|
@ -86,24 +93,24 @@ class TestHermesTimeNow:
|
|||
def test_cache_invalidation(self):
|
||||
"""Changing env var + reset_cache picks up new timezone."""
|
||||
os.environ["HERMES_TIMEZONE"] = "UTC"
|
||||
hermes_time.reset_cache()
|
||||
_reset_hermes_time_cache()
|
||||
r1 = hermes_time.now()
|
||||
assert r1.utcoffset() == timedelta(0)
|
||||
|
||||
os.environ["HERMES_TIMEZONE"] = "Asia/Kolkata"
|
||||
hermes_time.reset_cache()
|
||||
_reset_hermes_time_cache()
|
||||
r2 = hermes_time.now()
|
||||
assert r2.utcoffset() == timedelta(hours=5, minutes=30)
|
||||
|
||||
|
||||
class TestGetTimezone:
|
||||
"""Test get_timezone() and get_timezone_name()."""
|
||||
"""Test get_timezone()."""
|
||||
|
||||
def setup_method(self):
|
||||
hermes_time.reset_cache()
|
||||
_reset_hermes_time_cache()
|
||||
|
||||
def teardown_method(self):
|
||||
hermes_time.reset_cache()
|
||||
_reset_hermes_time_cache()
|
||||
os.environ.pop("HERMES_TIMEZONE", None)
|
||||
|
||||
def test_returns_zoneinfo_for_valid(self):
|
||||
|
|
@ -122,9 +129,6 @@ class TestGetTimezone:
|
|||
tz = hermes_time.get_timezone()
|
||||
assert tz is None
|
||||
|
||||
def test_get_timezone_name(self):
|
||||
os.environ["HERMES_TIMEZONE"] = "Asia/Tokyo"
|
||||
assert hermes_time.get_timezone_name() == "Asia/Tokyo"
|
||||
|
||||
|
||||
# =========================================================================
|
||||
|
|
@ -205,10 +209,10 @@ class TestCronTimezone:
|
|||
"""Verify cron paths use timezone-aware now()."""
|
||||
|
||||
def setup_method(self):
|
||||
hermes_time.reset_cache()
|
||||
_reset_hermes_time_cache()
|
||||
|
||||
def teardown_method(self):
|
||||
hermes_time.reset_cache()
|
||||
_reset_hermes_time_cache()
|
||||
os.environ.pop("HERMES_TIMEZONE", None)
|
||||
|
||||
def test_parse_schedule_duration_uses_tz_aware_now(self):
|
||||
|
|
@ -237,7 +241,7 @@ class TestCronTimezone:
|
|||
monkeypatch.setattr(jobs_module, "OUTPUT_DIR", tmp_path / "cron" / "output")
|
||||
|
||||
os.environ["HERMES_TIMEZONE"] = "Asia/Kolkata"
|
||||
hermes_time.reset_cache()
|
||||
_reset_hermes_time_cache()
|
||||
|
||||
# Create a job with a NAIVE past timestamp (simulating pre-tz data)
|
||||
from cron.jobs import create_job, load_jobs, save_jobs, get_due_jobs
|
||||
|
|
@ -262,7 +266,7 @@ class TestCronTimezone:
|
|||
from cron.jobs import _ensure_aware
|
||||
|
||||
os.environ["HERMES_TIMEZONE"] = "Asia/Kolkata"
|
||||
hermes_time.reset_cache()
|
||||
_reset_hermes_time_cache()
|
||||
|
||||
# Create a naive datetime — will be interpreted as system-local time
|
||||
naive_dt = datetime(2026, 3, 11, 12, 0, 0)
|
||||
|
|
@ -286,7 +290,7 @@ class TestCronTimezone:
|
|||
from cron.jobs import _ensure_aware
|
||||
|
||||
os.environ["HERMES_TIMEZONE"] = "Asia/Kolkata"
|
||||
hermes_time.reset_cache()
|
||||
_reset_hermes_time_cache()
|
||||
|
||||
# Create an aware datetime in UTC
|
||||
utc_dt = datetime(2026, 3, 11, 15, 0, 0, tzinfo=timezone.utc)
|
||||
|
|
@ -312,7 +316,7 @@ class TestCronTimezone:
|
|||
monkeypatch.setattr(jobs_module, "OUTPUT_DIR", tmp_path / "cron" / "output")
|
||||
|
||||
os.environ["HERMES_TIMEZONE"] = "UTC"
|
||||
hermes_time.reset_cache()
|
||||
_reset_hermes_time_cache()
|
||||
|
||||
from cron.jobs import create_job, load_jobs, save_jobs, get_due_jobs
|
||||
|
||||
|
|
@ -343,7 +347,7 @@ class TestCronTimezone:
|
|||
# of the naive timestamp exceeds _hermes_now's wall time — this would
|
||||
# have caused a false "not due" with the old replace(tzinfo=...) approach.
|
||||
os.environ["HERMES_TIMEZONE"] = "Pacific/Midway" # UTC-11
|
||||
hermes_time.reset_cache()
|
||||
_reset_hermes_time_cache()
|
||||
|
||||
from cron.jobs import create_job, load_jobs, save_jobs, get_due_jobs
|
||||
create_job(prompt="Cross-tz job", schedule="every 1h")
|
||||
|
|
@ -367,7 +371,7 @@ class TestCronTimezone:
|
|||
monkeypatch.setattr(jobs_module, "OUTPUT_DIR", tmp_path / "cron" / "output")
|
||||
|
||||
os.environ["HERMES_TIMEZONE"] = "US/Eastern"
|
||||
hermes_time.reset_cache()
|
||||
_reset_hermes_time_cache()
|
||||
|
||||
from cron.jobs import create_job
|
||||
job = create_job(prompt="TZ test", schedule="every 2h")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue