BINKY-WP-0006: retarget Railiance rhythm to llm-connect/OpenRouter
Some checks failed
Work Records / validate (push) Has been cancelled

Reject Claude Code (or any coding agent) on railiance01. Mail-scan stays
deterministic; triage/briefs use llm-connect HTTP → structured JSON →
deterministic apply. Document in integrations/railiance-llm-rhythm.md and
rewrite WP-0006 tasks accordingly; timers no longer require_claude.
This commit is contained in:
tegwick 2026-07-22 00:00:04 +02:00
parent 5011e53090
commit 88a4886ea7
9 changed files with 252 additions and 63 deletions

View file

@ -19,4 +19,5 @@ systemctl --user enable --now binky-rhythm-mail.timer
systemctl --user enable --now binky-rhythm-review.timer
systemctl --user list-timers --all | grep binky-rhythm || true
echo "Installed. Logs: ~/.cache/binky-control/rhythm/"
echo "Agentic daily/review require: claude CLI on PATH. mail-scan does not."
echo "Execution model: llm-connect/OpenRouter on cluster — NOT Claude CLI on host."
echo "See integrations/railiance-llm-rhythm.md (BINKY-WP-0006)."

View file

@ -28,10 +28,18 @@ require_repo() {
git -C "${BINKY_REPO}" pull --ff-only --quiet origin main || log "WARN: pull failed (continuing on local)"
}
require_claude() {
if ! command -v claude >/dev/null 2>&1; then
log "ERROR: claude CLI not on PATH — agentic rhythm cannot run on this host"
log " residual: install Claude Code (or swap in a hosted agentic adapter) on railiance01"
exit 2
require_llm_connect() {
# Server-side rhythm uses llm-connect HTTP (OpenRouter), never Claude CLI.
if [[ -z "${LLM_CONNECT_URL:-}" ]]; then
# In-cluster default when running inside k8s; host timers may override.
export LLM_CONNECT_URL="${LLM_CONNECT_URL:-http://llm-connect.activity-core.svc.cluster.local:8080}"
fi
log "LLM_CONNECT_URL=${LLM_CONNECT_URL}"
}
require_claude() {
# Deprecated for Railiance. Kept only so old docs fail loudly with the right message.
log "ERROR: Claude CLI is not the Railiance execution path (BINKY-WP-0006)."
log "Use llm-connect/OpenRouter via agent-harness hosted adapters — see integrations/railiance-llm-rhythm.md"
exit 2
}

View file

@ -4,9 +4,14 @@ set -euo pipefail
# shellcheck disable=SC1091
source "$(dirname "$0")/run-common.sh"
require_repo
require_claude
log "START daily-rhythm"
agent-harness run \
--task-file "${BINKY_REPO}/integrations/harness-tasks/daily-rhythm.json" \
2>&1 | tee -a "${LOG_DIR}/daily.log"
require_llm_connect
log "START daily-rhythm (llm-connect path when available; else fail until BINKY-WP-0006)"
# Prefer dedicated command once implemented; fall back message if only Claude runner exists.
if agent-harness brief-daily --help >/dev/null 2>&1; then
agent-harness brief-daily --target-repo "${BINKY_REPO}" \
2>&1 | tee -a "${LOG_DIR}/daily.log"
else
log "ERROR: brief-daily not implemented yet (needs llm-connect structured apply — BINKY-WP-0006-T05)"
exit 3
fi
log "END daily-rhythm rc=${PIPESTATUS[0]}"

View file

@ -15,13 +15,14 @@ log "mail-scan rc=${scan_rc}"
if [[ "${scan_rc}" -ne 0 ]]; then
exit "${scan_rc}"
fi
# Agentic triage if Claude present; otherwise scan+hub event is enough for intake idempotence.
if command -v claude >/dev/null 2>&1; then
log "START mail-triage session"
agent-harness run \
--task-file "${BINKY_REPO}/integrations/harness-tasks/mail-intake.json" \
2>&1 | tee -a "${LOG_DIR}/mail.log" || log "WARN: mail-triage session failed"
# Triage must use llm-connect (OpenRouter), not a host coding agent.
# Until agent-harness mail-triage exists (BINKY-WP-0006), scan-only is OK.
if agent-harness mail-triage --help >/dev/null 2>&1; then
log "START mail-triage (llm-connect)"
agent-harness mail-triage \
--target-repo "${BINKY_REPO}" \
2>&1 | tee -a "${LOG_DIR}/mail.log" || log "WARN: mail-triage failed"
else
log "SKIP mail-triage session (no claude CLI); mail-scan hub event stands"
log "SKIP mail-triage: command not available yet (BINKY-WP-0006); scan-only"
fi
log "END mail-intake"

View file

@ -4,9 +4,13 @@ set -euo pipefail
# shellcheck disable=SC1091
source "$(dirname "$0")/run-common.sh"
require_repo
require_claude
log "START review-prep"
agent-harness run \
--task-file "${BINKY_REPO}/integrations/harness-tasks/review-prep.json" \
2>&1 | tee -a "${LOG_DIR}/review.log"
require_llm_connect
log "START review-prep (llm-connect path)"
if agent-harness brief-weekly --help >/dev/null 2>&1; then
agent-harness brief-weekly --target-repo "${BINKY_REPO}" \
2>&1 | tee -a "${LOG_DIR}/review.log"
else
log "ERROR: brief-weekly not implemented yet (BINKY-WP-0006-T05)"
exit 3
fi
log "END review-prep rc=${PIPESTATUS[0]}"