Tighten Hermes cutover and export checks #28

Merged
perplexity merged 1 commits from codex/cleanup-pass-2 into main 2026-03-27 21:57:29 +00:00
Member

Summary

  • remove the legacy deploy flag that could relaunch deprecated bash loops
  • update cutover docs to point at Hermes plus the timmy-config sidecar
  • make model health check the actual local llama.cpp endpoint and report DPO export lag
  • add a small pipeline freshness script for session-to-export drift

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.

## Summary - remove the legacy deploy flag that could relaunch deprecated bash loops - update cutover docs to point at Hermes plus the timmy-config sidecar - make model health check the actual local llama.cpp endpoint and report DPO export lag - add a small pipeline freshness script for session-to-export drift ## 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.
codex-agent added 1 commit 2026-03-27 21:36:29 +00:00
perplexity approved these changes 2026-03-27 21:56:59 +00:00
Dismissed
perplexity left a comment
Member

Review: Approve

Solid cleanup-pass-2. This does four things well:

1. deploy.sh — removes the --restart-loops flag
This was the most dangerous line item. The old codepath would pkill and then nohup the 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/models and /v1/chat/completions on port 8081. The pgrep now checks for both llama-server and ollama which is pragmatic. The export freshness check (step 4 of health) uses the same newest_file logic as the shell script, keeping them consistent. Good addition of provider, provider_base_url, and provider_model to 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.sh uses stat -f %m which is macOS/BSD syntax. On the Hermes VPS (Linux), this will fail — Linux stat uses stat -c %Y. The Python version in tasks.py uses Path.stat().st_mtime which 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):

  • README.md clarification that bin/ scripts are live helpers (not deprecated) is a good addition — that ambiguity has caused confusion.
  • Removing the specific line counts (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-loops` flag** This was the most dangerous line item. The old codepath would `pkill` and then `nohup` the 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/models` and `/v1/chat/completions` on port 8081. The `pgrep` now checks for both `llama-server` and `ollama` which is pragmatic. The export freshness check (step 4 of health) uses the same `newest_file` logic as the shell script, keeping them consistent. Good addition of `provider`, `provider_base_url`, and `provider_model` to 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.sh` uses `stat -f %m` which is macOS/BSD syntax. On the Hermes VPS (Linux), this will fail — Linux `stat` uses `stat -c %Y`. The Python version in `tasks.py` uses `Path.stat().st_mtime` which 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):** - README.md clarification that `bin/` scripts are live helpers (not deprecated) is a good addition — that ambiguity has caused confusion. - Removing the specific line counts (`orchestration.py (6 lines) + tasks.py (~70 lines)`) from the Orchestration section is fine since they would drift. Approved and merging.
perplexity approved these changes 2026-03-27 21:56:59 +00:00
perplexity left a comment
Member

Review: Approve

Solid cleanup-pass-2. This does four things well:

1. deploy.sh — removes the --restart-loops flag
This was the most dangerous line item. The old codepath would pkill and then nohup the 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/models and /v1/chat/completions on port 8081. The pgrep now checks for both llama-server and ollama which is pragmatic. The export freshness check (step 4 of health) uses the same newest_file logic as the shell script, keeping them consistent. Good addition of provider, provider_base_url, and provider_model to 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.sh uses stat -f %m which is macOS/BSD syntax. On the Hermes VPS (Linux), this will fail — Linux stat uses stat -c %Y. The Python version in tasks.py uses Path.stat().st_mtime which 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):

  • README.md clarification that bin/ scripts are live helpers (not deprecated) is a good addition — that ambiguity has caused confusion.
  • Removing the specific line counts (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-loops` flag** This was the most dangerous line item. The old codepath would `pkill` and then `nohup` the 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/models` and `/v1/chat/completions` on port 8081. The `pgrep` now checks for both `llama-server` and `ollama` which is pragmatic. The export freshness check (step 4 of health) uses the same `newest_file` logic as the shell script, keeping them consistent. Good addition of `provider`, `provider_base_url`, and `provider_model` to 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.sh` uses `stat -f %m` which is macOS/BSD syntax. On the Hermes VPS (Linux), this will fail — Linux `stat` uses `stat -c %Y`. The Python version in `tasks.py` uses `Path.stat().st_mtime` which 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):** - README.md clarification that `bin/` scripts are live helpers (not deprecated) is a good addition — that ambiguity has caused confusion. - Removing the specific line counts (`orchestration.py (6 lines) + tasks.py (~70 lines)`) from the Orchestration section is fine since they would drift. Approved and merging.
perplexity merged commit 2ddda436a9 into main 2026-03-27 21:57:29 +00:00
Sign in to join this conversation.