teleo-infrastructure/docs/leo-test-deploy-readiness.md
2026-06-20 13:03:10 +02:00

2.2 KiB

Leo Test Deploy Readiness

Working Target

Confirm the VPS is ready to boot the disposable teleo-agent@leo-test service without touching production Leo, sending Telegram/Slack messages, resetting services, or reading token contents.

Why

PR #5 added telegram/agents/leo-test.yaml, but the VPS deploy source can lag behind GitHub. The readiness check keeps the next live step explicit: source reconciliation first, token file second, service validation and boot third.

Command

Run on the VPS:

/opt/teleo-eval/workspaces/deploy-infra/deploy/check-leo-test-deploy-readiness.sh

The checker is read-only. It prints key=value rows and exits non-zero until all required state is present.

By default it does not fetch or update Git refs. To explicitly refresh github/main before checking, run:

FETCH_GITHUB_MAIN=1 /opt/teleo-eval/workspaces/deploy-infra/deploy/check-leo-test-deploy-readiness.sh

Expected Blockers Before Reconciliation

The current blocker set should include:

  • teleo_auto_deploy_exec_start_expected: systemd still points at the legacy /opt/teleo-eval/workspaces/deploy/ops/auto-deploy.sh path.
  • runtime_leo_test_config: runtime Telegram path does not yet have agents/leo-test.yaml.
  • pipeline_leo_test_config: pipeline Telegram mirror does not yet have agents/leo-test.yaml.
  • leo_test_token_file: /opt/teleo-eval/secrets/leo-test-telegram-bot-token is absent.

Ready State

The checker returns:

status=ready_for_leo_test_validate_and_boot

only after:

  • deploy-infra can fetch GitHub main at the expected PR #5 merge commit;
  • GitHub main contains telegram/agents/leo-test.yaml;
  • systemd points auto-deploy at the reviewed deploy-infra script;
  • runtime and pipeline Telegram paths contain agents/leo-test.yaml;
  • the separate disposable test bot token file exists.

Next Live Step After Ready

After readiness passes, validate without sending a message:

sudo -u teleo /opt/teleo-eval/pipeline/.venv/bin/python3 \
  /opt/teleo-eval/telegram/agent_runner.py --agent leo-test --validate

Only after that should teleo-agent@leo-test be started for a private, explicitly authorized disposable bot DM test.