Tighten Hermes cutover and export checks #28
Reference in New Issue
Block a user
Delete Branch "codex/cleanup-pass-2"
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
Why
The live audit showed that the unified Hermes pipeline is real, but the repo could still revive dead loops and the health signal was still aimed at the old Ollama path. This narrows the cutover surface and makes export lag visible before training work is lost.
Review: Approve
Solid cleanup-pass-2. This does four things well:
1. deploy.sh — removes the
--restart-loopsflagThis was the most dangerous line item. The old codepath would
pkilland thennohupthe exact bash loops that DEPRECATED.md says must never return. Replacing it with an explicit error message if any flag is passed is the right call. No silent resurrection possible now.2. DEPRECATED.md — updated to reference Hermes sidecar
Consistent with the boundary work from PR #27. Removes stale sovereign-orchestration references.
3. tasks.py model_health() — retargeted to llama-server on :8081
Moves from Ollama-specific endpoints (
localhost:11434/api/tags) to the OpenAI-compatible/v1/modelsand/v1/chat/completionson port 8081. Thepgrepnow checks for bothllama-serverandollamawhich is pragmatic. The export freshness check (step 4 of health) uses the samenewest_filelogic as the shell script, keeping them consistent. Good addition ofprovider,provider_base_url, andprovider_modelto the health JSON for observability.4. bin/pipeline-freshness.sh — standalone export lag check
Useful for manual/cron use outside the Huey loop. One real issue flagged below.
One portability bug (non-blocking but should be fixed):
pipeline-freshness.shusesstat -f %mwhich is macOS/BSD syntax. On the Hermes VPS (Linux), this will fail — Linuxstatusesstat -c %Y. The Python version intasks.pyusesPath.stat().st_mtimewhich is portable, so this only affects the shell script. Consider:stat -c %Y "$file" 2>/dev/null || stat -f %m "$file"to handle both.Minor observations (non-blocking):
bin/scripts are live helpers (not deprecated) is a good addition — that ambiguity has caused confusion.orchestration.py (6 lines) + tasks.py (~70 lines)) from the Orchestration section is fine since they would drift.Approved and merging.
Review: Approve
Solid cleanup-pass-2. This does four things well:
1. deploy.sh — removes the
--restart-loopsflagThis was the most dangerous line item. The old codepath would
pkilland thennohupthe exact bash loops that DEPRECATED.md says must never return. Replacing it with an explicit error message if any flag is passed is the right call. No silent resurrection possible now.2. DEPRECATED.md — updated to reference Hermes sidecar
Consistent with the boundary work from PR #27. Removes stale sovereign-orchestration references.
3. tasks.py model_health() — retargeted to llama-server on :8081
Moves from Ollama-specific endpoints (
localhost:11434/api/tags) to the OpenAI-compatible/v1/modelsand/v1/chat/completionson port 8081. Thepgrepnow checks for bothllama-serverandollamawhich is pragmatic. The export freshness check (step 4 of health) uses the samenewest_filelogic as the shell script, keeping them consistent. Good addition ofprovider,provider_base_url, andprovider_modelto the health JSON for observability.4. bin/pipeline-freshness.sh — standalone export lag check
Useful for manual/cron use outside the Huey loop. One real issue flagged below.
One portability bug (non-blocking but should be fixed):
pipeline-freshness.shusesstat -f %mwhich is macOS/BSD syntax. On the Hermes VPS (Linux), this will fail — Linuxstatusesstat -c %Y. The Python version intasks.pyusesPath.stat().st_mtimewhich is portable, so this only affects the shell script. Consider:stat -c %Y "$file" 2>/dev/null || stat -f %m "$file"to handle both.Minor observations (non-blocking):
bin/scripts are live helpers (not deprecated) is a good addition — that ambiguity has caused confusion.orchestration.py (6 lines) + tasks.py (~70 lines)) from the Orchestration section is fine since they would drift.Approved and merging.