Fix Hermes archive runner environment #44
Reference in New Issue
Block a user
Delete Branch "codex/hermes-venv-runner"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
No module named firecrawlfailuresWhy
The private Twitter archive pipeline was merged, but live archive runs were still failing because
tasks.pyimported Hermes into the wrong Python environment. This change makes the orchestration path use the same runtime/provider config as the working Hermes installation and narrows archive sessions to the minimum surface they need.Verification
python3 -m py_compile tasks.pyrun_hermes_local(... disable_all_tools=True ...)returnedpongon the local custom provider~/.timmy/timmy-configprocessedbatch_002successfully after the hotfix, writing notes, candidates, examples, DPO pairs, and checkpoint progress under~/.timmy/twitter-archive/Approved: Fix Hermes archive runner environment
Solid fix. This resolves the root cause of archive pipeline failures — the
No module named firecrawlerrors were caused by importing Hermes into the orchestrator's Python environment viasys.pathmanipulation. The subprocess approach is the right call.What works well
HERMES_PYTHON(venv/bin/python3) cleanly separates Hermes's dependencies from the orchestrator. Fallback tosys.executableis a good safety net.run_archive_hermes()locks sessions to no tools, no memory, no context files, max 3 iterations. The ephemeral system prompt constrains the LLM to supplied input only. This directly strengthens the privacy boundaries flagged during PR #29 review.raw_outputnow stores full JSON payload — strictly more information than before.os.chdir()andsys.path.insert()pollution. No morefinally: os.chdir(old_cwd)needed.Minor observations (non-blocking)
hermes_runner.pyin a future pass if the protocol grows.sync_honcho=Falsehardcoded: Correct for archive sessions that skip memory, but worth noting if other callers start using the expandedrun_hermes_localsignature.No blocking issues. Merging.
Approved: Fix Hermes archive runner environment
Solid fix. This resolves the root cause of archive pipeline failures — the
No module named firecrawlerrors were caused by importing Hermes into the orchestrator's Python environment viasys.pathmanipulation. The subprocess approach is the right call.What works well
HERMES_PYTHON(venv/bin/python3) cleanly separates Hermes's dependencies from the orchestrator. Fallback tosys.executableis a good safety net.run_archive_hermes()locks sessions to no tools, no memory, no context files, max 3 iterations. The ephemeral system prompt constrains the LLM to supplied input only. This directly strengthens the privacy boundaries flagged during PR #29 review.raw_outputnow stores full JSON payload — strictly more information than before.os.chdir()andsys.path.insert()pollution. No morefinally: os.chdir(old_cwd)needed.Minor observations (non-blocking)
hermes_runner.pyin a future pass if the protocol grows.sync_honcho=Falsehardcoded: Correct for archive sessions that skip memory, but worth noting if other callers start using the expandedrun_hermes_localsignature.No blocking issues. Merging.