fix: fix: delete entrypoint-llama.sh — unify into single entrypoint with AGENT_ROLES (#380) #396
3 changed files with 2 additions and 97 deletions
|
|
@ -267,42 +267,6 @@ def main() -> int:
|
|||
"2653705045fdf65072cccfd16eb04900": "Standard prompt template (GRAPH_SECTION, SCRATCH_CONTEXT, FORMULA_CONTENT)",
|
||||
"93726a3c799b72ed2898a55552031921": "Standard prompt template continuation (SCRATCH_CONTEXT, FORMULA_CONTENT, SCRATCH_INSTRUCTION)",
|
||||
"c11eaaacab69c9a2d3c38c75215eca84": "Standard prompt template end (FORMULA_CONTENT, SCRATCH_INSTRUCTION)",
|
||||
# install_project_crons function in entrypoint.sh and entrypoint-llama.sh (intentional duplicate)
|
||||
"007e1390498374c68ab5d66aa6d277b2": "install_project_crons function in entrypoints (window 007e1390)",
|
||||
"04143957d4c63e8a16ac28bddaff589b": "install_project_crons function in entrypoints (window 04143957)",
|
||||
"076a19221cde674b2fce20a17292fa78": "install_project_crons function in entrypoints (window 076a1922)",
|
||||
"0d498287626e105f16b24948aed53584": "install_project_crons function in entrypoints (window 0d498287)",
|
||||
"137b746928011acd758c7a9c690810b2": "install_project_crons function in entrypoints (window 137b7469)",
|
||||
"287d33d98d21e3e07e0869e56ad94527": "install_project_crons function in entrypoints (window 287d33d9)",
|
||||
"325a3d54a15e59d333ec2a20c062cc8c": "install_project_crons function in entrypoints (window 325a3d54)",
|
||||
"34e1943d5738f540d67c5c6bd3e60b20": "install_project_crons function in entrypoints (window 34e1943d)",
|
||||
"3dabd19698f9705b05376c38042ccce8": "install_project_crons function in entrypoints (window 3dabd196)",
|
||||
"446b420f7f9821a2553bc4995d1fac25": "install_project_crons function in entrypoints (window 446b420f)",
|
||||
"4826cf4896b792368c7b4d77573d0f8b": "install_project_crons function in entrypoints (window 4826cf48)",
|
||||
"4e564d3bbda0ef33962af6042736dc1e": "install_project_crons function in entrypoints (window 4e564d3b)",
|
||||
"5a3d92b22e5d5bca8cce17d581ac6803": "install_project_crons function in entrypoints (window 5a3d92b2)",
|
||||
"63c20c5a31cf5e08f3a901ddf6db98af": "install_project_crons function in entrypoints (window 63c20c5a)",
|
||||
"77547751325562fac397bbfd3a21c88e": "install_project_crons function in entrypoints (window 77547751)",
|
||||
"80bdff63e54b4a260043d264b83d8eb0": "install_project_crons function in entrypoints (window 80bdff63)",
|
||||
"84e55706393f731b293890dd6d830316": "install_project_crons function in entrypoints (window 84e55706)",
|
||||
"85f8a9d029ee9efecca73fd30449ccf4": "install_project_crons function in entrypoints (window 85f8a9d0)",
|
||||
"86e28dae676c905c5aa0035128e20e46": "install_project_crons function in entrypoints (window 86e28dae)",
|
||||
"a222b73bcd6a57adb2315726e81ab6cf": "install_project_crons function in entrypoints (window a222b73b)",
|
||||
"abd6c7efe66f533c48c883c2a6998886": "install_project_crons function in entrypoints (window abd6c7ef)",
|
||||
"bcfeb67ce4939181330afea4949a95cf": "install_project_crons function in entrypoints (window bcfeb67c)",
|
||||
"c1248c98f978c48e4a1e5009a1440917": "install_project_crons function in entrypoints (window c1248c98)",
|
||||
"c40571185b3306345ecf9ac33ab352a6": "install_project_crons function in entrypoints (window c4057118)",
|
||||
"c566639b237036a7a385982274d3d271": "install_project_crons function in entrypoints (window c566639b)",
|
||||
"d9cd2f3d874c32366d577ea0d334cd1a": "install_project_crons function in entrypoints (window d9cd2f3d)",
|
||||
"df4d3e905b12f2c68b206e45dddf9214": "install_project_crons function in entrypoints (window df4d3e90)",
|
||||
"e8e65ccf867fc6cbe49695ecdce2518e": "install_project_crons function in entrypoints (window e8e65ccf)",
|
||||
"eb8b298f06cda4359cc171206e0014bf": "install_project_crons function in entrypoints (window eb8b298f)",
|
||||
"ecdf0daa2f2845359a6a4aa12d327246": "install_project_crons function in entrypoints (window ecdf0daa)",
|
||||
"eeac93b2fba4de4589d36ca20845ec9f": "install_project_crons function in entrypoints (window eeac93b2)",
|
||||
"f08a7139db9c96cd3526549c499c0332": "install_project_crons function in entrypoints (window f08a7139)",
|
||||
"f0917809bdf28ff93fff0749e7e7fea0": "install_project_crons function in entrypoints (window f0917809)",
|
||||
"f0e4101f9b90c2fa921e088057a96db7": "install_project_crons function in entrypoints (window f0e4101f)",
|
||||
# Structural end-of-while-loop+case pattern: `return 1 ;; esac done }`
|
||||
# Appears in stack_lock_acquire (lib/stack-lock.sh) and lib/pr-lifecycle.sh
|
||||
"29d4f34b703f44699237713cc8d8065b": "Structural end-of-while-loop+case (return 1, esac, done, closing brace)",
|
||||
# Forgejo org-creation API call pattern shared between forge-setup.sh and ops-setup.sh
|
||||
|
|
|
|||
|
|
@ -1,59 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
LOG_DIR="/home/agent/data/logs/dev"
|
||||
mkdir -p "$LOG_DIR" /home/agent/data
|
||||
chown -R agent:agent /home/agent/data 2>/dev/null || true
|
||||
|
||||
log() {
|
||||
printf "[%s] llama-loop: %s\n" "$(date -u '+%Y-%m-%d %H:%M:%S UTC')" "$*" | tee -a "$LOG_DIR/llama-loop.log"
|
||||
}
|
||||
|
||||
# Apply token override for named agent identity
|
||||
if [ -n "${FORGE_TOKEN_OVERRIDE:-}" ]; then
|
||||
export FORGE_TOKEN="$FORGE_TOKEN_OVERRIDE"
|
||||
fi
|
||||
|
||||
log "Starting llama dev-agent loop"
|
||||
log "Backend: ${ANTHROPIC_BASE_URL:-not set}"
|
||||
log "Claude CLI: $(claude --version 2>&1 || echo not found)"
|
||||
log "Agent identity: $(curl -sf -H "Authorization: token ${FORGE_TOKEN}" "${FORGE_URL:-http://forgejo:3000}/api/v1/user" 2>/dev/null | jq -r '.login // "unknown"')"
|
||||
|
||||
# Clone repo if not present
|
||||
if [ ! -d "${PROJECT_REPO_ROOT}/.git" ]; then
|
||||
log "Cloning repo..."
|
||||
mkdir -p "$(dirname "$PROJECT_REPO_ROOT")"
|
||||
chown -R agent:agent /home/agent/repos 2>/dev/null || true
|
||||
# Use password auth for git HTTP — Forgejo 11.x rejects API tokens for push (#361)
|
||||
su -s /bin/bash agent -c "git clone http://dev-bot:${FORGE_PASS:-${FORGE_TOKEN}}@forgejo:3000/${FORGE_REPO:-disinto-admin/disinto}.git ${PROJECT_REPO_ROOT}"
|
||||
log "Repo cloned"
|
||||
fi
|
||||
|
||||
# Reset base repo to origin/main to avoid divergence warnings
|
||||
su -s /bin/bash agent -c "
|
||||
cd \"${PROJECT_REPO_ROOT}\"
|
||||
git fetch origin main
|
||||
git checkout main 2>/dev/null || true
|
||||
git reset --hard origin/main
|
||||
" || true
|
||||
log "Base repo reset to origin/main"
|
||||
|
||||
log "Entering poll loop (interval: ${POLL_INTERVAL:-300}s)"
|
||||
|
||||
while true; do
|
||||
# Clear stale session IDs before each poll.
|
||||
# Local llama does not support --resume (no server-side session storage).
|
||||
# Stale .sid files cause agent_run to exit instantly on every retry.
|
||||
rm -f /tmp/dev-session-*.sid 2>/dev/null || true
|
||||
|
||||
su -s /bin/bash agent -c "
|
||||
export FORGE_TOKEN='${FORGE_TOKEN}'
|
||||
export FORGE_TOKEN_OVERRIDE='${FORGE_TOKEN_OVERRIDE:-}'
|
||||
export ANTHROPIC_API_KEY='${ANTHROPIC_API_KEY:-}'
|
||||
export ANTHROPIC_BASE_URL='${ANTHROPIC_BASE_URL:-}'
|
||||
export CLAUDE_CONFIG_DIR='${CLAUDE_CONFIG_DIR:-}'
|
||||
cd /home/agent/disinto && \
|
||||
bash dev/dev-poll.sh ${PROJECT_TOML:-projects/disinto.toml}
|
||||
" >> "$LOG_DIR/llama-loop.log" 2>&1 || true
|
||||
sleep "${POLL_INTERVAL:-300}"
|
||||
done
|
||||
|
|
@ -421,7 +421,8 @@ services:
|
|||
WOODPECKER_DATA_DIR: /woodpecker-data
|
||||
ANTHROPIC_BASE_URL: ${local_model}
|
||||
ANTHROPIC_API_KEY: sk-no-key-required
|
||||
FORGE_TOKEN_OVERRIDE: \$FORGE_TOKEN
|
||||
FORGE_TOKEN: \$FORGE_TOKEN
|
||||
AGENT_ROLES: dev
|
||||
CLAUDE_CONFIG_DIR: /home/agent/.claude
|
||||
POLL_INTERVAL: ${interval}
|
||||
env_file:
|
||||
|
|
@ -429,7 +430,6 @@ services:
|
|||
depends_on:
|
||||
- forgejo
|
||||
- woodpecker
|
||||
entrypoint: ["/home/agent/entrypoint-llama.sh"]
|
||||
|
||||
volumes:
|
||||
agent-data-llama:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue