--- name: teleo-leo-onboarding description: Use when a worker needs fast context on Teleo/Living IP, Leo architecture, VPS/GCP and Hermes runtime boundaries, database provenance, ingestion/apply/reconstruction, identity, testing, security, secrets, or incident recovery before doing Leo or Teleo work. --- # Teleo / Leo Onboarding ## Job Orient the worker before action. Build a current, proof-linked understanding of the company/product, Leo's role, the infrastructure surfaces, and the exact claim ceiling without rediscovering the system from historical chat. ## Trigger Phrases - "onboard to Leo" - "what is Teleo / Living IP" - "load Leo VPS context" - "Fable handoff for Leo" - "before working on Teleo infra" - "explain the architecture" - "recover or reconstruct Leo" - "which skill should I use" ## Core Model - Teleo is the knowledge/agent infrastructure layer behind Leo. - Leo is the operator-facing agent expected to answer in Telegram, remember operator context, reason from canonical KB state, stage concrete KB changes, and support approved changes becoming canonical DB rows with proof. - The immediate July 9 issue is not generic bot liveness. It is m3taversal's expectation that approved KB changes move beyond proposal state when appropriate. - The VPS is the currently proven Telegram-visible Leo surface. - GCP is a separate lane. Direct passwordless SSH and `sudo -n` work as of 2026-07-14. The newest VPS DB was restored to a disposable private Cloud SQL clone with exact parity, and a real ID-free no-send reasoning turn passed. The merged helper/skill were deployed, supported KB commands now fail closed to Cloud SQL, and the service survived a controlled restart with live post-restart status/search receipts. Persistent GCP `teleo_canonical` is still an older staging copy; Telegram delivery, GCP canonical mutation, ongoing replication, promotion, and cutover remain separate proof rows. ## Architecture Boundaries - VPS canonical KB: Docker Postgres `teleo-pg`, database `teleo`. - GCP canonical KB: private Cloud SQL database `teleo_canonical`. - Canonical rows: `public.claims`, `public.sources`, `public.claim_evidence`, `public.claim_edges`, and related identity/strategy tables; staging/review is `kb_stage.*`. - Hermes `state.db` and session JSONL files are conversation continuity, not canonical collective knowledge. GCP memory-sync success does not prove the canonical KB was restored or updated. - `SOUL.md` is a rendered/runtime artifact. Direct file edits are not canonical identity changes without DB row and render/sync proof. ## Clean-Context First Commands From the repository root, validate the pack without a virtual environment or network access: ```bash .agents/skills/teleo-leo-onboarding/scripts/validate_skill_pack.py --root . ``` Install exactly the manifest-indexed skills into an empty temporary agent skill root with: ```bash .agents/skills/teleo-leo-onboarding/scripts/install_skill_pack.py \ --root . \ --target /private/tmp/teleo-clean-agent/skills ``` Installed skills still resolve repository-relative routes against the current `teleo-infrastructure` checkout. Keep the agent working directory at the repo root. For pytest, use `.venv/bin/python`; if `.venv` is absent, create it from `README.md` before running tests. Do not guess a bare `python` command. Run the deterministic isolated acceptance canary with: ```bash .agents/skills/teleo-leo-onboarding/scripts/run_clean_context_canary.py \ --root . \ --output docs/reports/leo-working-state-20260709/skill-pack-clean-context-canary-current.json ``` ## Task Router | Area | Skill | Canonical first route | |---|---|---| | Company, product, architecture | `teleo-leo-onboarding` | `docs/reports/leo-working-state-20260709/current-truth-index.md` | | VPS runtime and incidents | `teleo-vps-runtime-ops` | Fresh service, deploy, DB, and cleanup readbacks | | GCP and Cloud SQL | `teleo-gcp-parity-ops` | Current main evidence; keep open PR #148 candidate-only | | Hermes packaging/runtime | `nousresearch-hermes-agent` | `hermes-agent/` plus the live service-specific ops skill | | Database provenance | `teleo-infra-provenance` and `teleo-db-operator` | Separate Git, runtime, SQLite, Postgres, and retained proof | | Source ingestion and proposal/apply | `teleo-kb-db-change-workflow` | Hash-bound source, review, guarded apply, receipt | | Reconstruction and recovery | `teleo-reconstruction-recovery` | `docs/kb-rebuild-and-recompile.md` | | Identity and rendered soul | `working-leo-m3taversal-outcomes` | Canonical identity rows before `SOUL.md` | | Testing and proof tiers | `teleo-proof-handoff` | Exact tier, command, receipt, cleanup, claim ceiling | | Secrets | `private-password-storage` | Provider login first; never paste or retrieve a secret | ## Read First From the repo root, read: 1. `docs/reports/leo-working-state-20260709/current-truth-index.md` 2. `docs/reports/leo-working-state-20260709/gcp-db-first-working-leo-20260714.md` 3. `docs/reports/leo-working-state-20260709/gcp-db-first-parity-current.json` 4. `docs/reports/leo-working-state-20260709/gcp-db-first-blind-claim-current.json` 5. `docs/reports/leo-working-state-20260709/gcp-db-first-cleanup-current.json` 6. `docs/reports/leo-working-state-20260709/gcp-db-first-live-deploy-restart-current.json` 7. `docs/reports/leo-working-state-20260709/operator-surface-map.md` 8. `docs/reports/leo-working-state-20260709/working-leo-definition-20260709.md` 9. `.agents/skills/working-leo-m3taversal-outcomes/SKILL.md` 10. `docs/reports/leo-working-state-20260709/approve-claim-clone-canary-current.md` 11. `docs/reports/leo-working-state-20260709/gcp-cloud-sql-t3-live-readonly-current.md` 12. `docs/kb-rebuild-and-recompile.md` ## Required Status Split Every status answer must split: - `VPS runtime` - `Telegram-visible Leo` - `KB proposal/staging` - `Canonical DB apply` - `GCP parity` - `Runtime/code provenance` Do not collapse GCP demo readiness into Telegram completion. Do not collapse proposal approval into canonical DB application. ## Hard Boundaries - Do not do paid route work or introduce paid-route naming. - Do not change live VPS Leo runtime behavior unless explicitly authorized. - Do not production-apply DB packets unless explicitly authorized. - Do not expose secret contents. - Do not treat an old summary as current if a fresh readback is cheap. - PRs #146 and #147 are merged repository truth. PR #148 remains an open GCP least-privilege candidate until live `gh pr view 148` readback says otherwise; never route a deployment from its branch as though it were `main`. - Use `ssh -o BatchMode=yes teleo-gcp-staging true` to preflight passwordless GCP VM access. If the firewall route drifts, rediscover the authenticated non-secret route before declaring a blocker. The OIDC/IAP workflow is still not bootstrapped. Do not print the Cloud SQL or Google password or create IAM/users inside a read-only lane. - A benchmark score is not sufficient when an answer contradicts the DB receipt. Compare every printed count to `teleo-kb status` or the canonical manifest. ## Output Format For onboarding handoffs, return: 1. Product/architecture summary in 8 bullets or fewer. 2. Current proof split by VPS, Telegram, DB, GCP. 3. Evidence files actually read. 4. Exact claim ceiling. 5. Next runnable non-production action.