teleo-infrastructure/systemd/teleo-agent@.service
m3taversal 681afad506
Some checks failed
CI / lint-and-test (push) Has been cancelled
Consolidate pipeline code from teleo-codex + VPS into single repo
Sources merged:
- teleo-codex/ops/pipeline-v2/ (11 newer lib files, 5 new lib modules)
- teleo-codex/ops/ (agent-state, diagnostics expansion, systemd units, ops scripts)
- VPS /opt/teleo-eval/telegram/ (10 new bot files, agent configs)
- VPS /opt/teleo-eval/pipeline/ops/ (vector-gc, backfill-descriptions)
- VPS /opt/teleo-eval/sync-mirror.sh (Bug 2 + Step 2.5 fixes)

Non-trivial merges:
- connect.py: kept codex threshold (0.65) + added infra domain parameter
- watchdog.py: kept infra version (stale_pr integration, superset of codex)
- deploy.sh: codex rsync version (interim, until VPS git clone migration)
- diagnostics/app.py: codex decomposed dashboard (14 new route modules)

81 files changed, +17105/-200 lines

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 16:52:26 +01:00

38 lines
1.2 KiB
Desktop File

[Unit]
Description=Teleo Agent %i
After=network.target
Wants=network.target
[Service]
Type=simple
User=teleo
Group=teleo
WorkingDirectory=/opt/teleo-eval/telegram
# Touch required paths before startup (prevents namespace crash on missing files)
ExecStartPre=/bin/bash -c 'touch /opt/teleo-eval/workspaces/.main-worktree.lock'
# Validate config before starting (fail fast on bad config)
ExecStartPre=/opt/teleo-eval/pipeline/.venv/bin/python3 /opt/teleo-eval/telegram/agent_runner.py --agent %i --validate
ExecStart=/opt/teleo-eval/pipeline/.venv/bin/python3 /opt/teleo-eval/telegram/agent_runner.py --agent %i
Restart=on-failure
RestartSec=10
# Filesystem protection (Rhea-approved)
ProtectSystem=strict
ReadWritePaths=/opt/teleo-eval/logs
ReadWritePaths=/opt/teleo-eval/telegram-archives
ReadWritePaths=/opt/teleo-eval/workspaces/main/inbox
ReadWritePaths=/opt/teleo-eval/workspaces/.main-worktree.lock
ReadWritePaths=/opt/teleo-eval/pipeline/pipeline.db
ReadWritePaths=/opt/teleo-eval/pipeline/pipeline.db-wal
ReadWritePaths=/opt/teleo-eval/pipeline/pipeline.db-shm
# Agent-specific learnings (all agents share the worktree write path)
ReadWritePaths=/opt/teleo-eval/workspaces/main/agents
Environment=PYTHONUNBUFFERED=1
[Install]
WantedBy=multi-user.target