Repository navigation
v2.0.0 — Ogma is now a secure remote command runner (Claude optional)
The repositioning release. Ogma's core is now a secure remote command runner: chat-driven execution of commands you predefine on your own machine — deterministic, shell-free, double-gated. Claude Code is now an optional layer (OGMA_LLM=claude|off): keep it for a conversation partner that can perform tasks and analyze, or run commands-only with zero LLM dependency (Python stdlib is then the only requirement).
Three tiers, each optional on top of the one below:
- Core — gateway + command runner (
/status,/health, your own commands viaogmactl.local+commands.local.json— see the new extending tutorial) - LLM layer — free-text chat via headless Claude Code sessions
- Assistant layer — persona, memory, briefing, dream, skills
⚠️ Breaking changes
/restartrequires/confirm— protected commands arm instead of firing (window: 180s,OGMA_CONFIRM_TTL; also available for your own commands via"confirm": true).- Group chats authorize the sender, not the chat — each user ID must be allow-listed individually.
- Long command output (>~8k chars) arrives as a document, not chunked text.
bin/setup --reconfigurenumeric section IDs shifted (names unchanged).- A missing
claudeCLI no longer aborts startup — the gateway runs command-only instead. - Internals reorganized for patch-carriers: Claude specifics →
llm_claude.py, Telegram specifics →transport_telegram.py.
No .env migration needed — defaults preserve existing behavior.
Hardening (Phase 2)
- Two-step /confirm for destructive commands, per-argument regex validation (fails closed), append-only audit log (
state/audit.log, view via/logs audit), guest role (TELEGRAM_GUEST_USERS: read-only subset), delivery-lag-aware confirm windows, group sender checks.
Signal-ready (Phase 3)
- All Telegram specifics live behind a six-method transport surface (
transport_telegram.py). Asignal-clibackend is now an implementation, not a rewrite.
Also
- Command completion + duration logging; inbound delivery lag surfaced in the log;
ogmactl restarttimer no longer fires up to a minute late (AccuracySec=1s); assistant scripts (briefing/dream) are clean no-ops on command-only installs.
Full details in the CHANGELOG and the roadmap this release implements.
🤖 Generated with Claude Code