Self-hosted remote command runner with an optional personal-assistant layer

Phase 1: make the Claude layer optional — command-only mode master

First step of docs/roadmap.md (repositioning: the secure remote command runner is the core; Claude Code is an optional assistant layer). - New OGMA_LLM setting: claude (default when the CLI exists) | off. A missing claude binary now logs and falls back to command-only mode instead of sys.exit. - All Claude-specific code moved from gateway.py into llm_claude.py (headless invocation, sessions, /new /model /effort /fallback). The gateway imports it only when the layer is on; the module returns reply strings and never touches the transport. - Command-only mode: free text and LLM commands (/new /model /effort /fallback /briefing /dream /search) get a refusal; the Telegram menu and /help drop the LLM entries. - bin/setup: new 'llm' section (assistant layer vs. commands only); command-only runs skip persona/model/overlays/skills; --check and the summary are mode-aware. - README repositioned; OGMA_LLM documented in .env.example; CI compiles llm_claude.py too. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BpU5gQZgDocjfqqhNWJZvP