Published: 2026-09-06
Deep dive

OmegaClaw tested: a symbolic-logic agent installed with one Docker command

Chapters / key moments (click to jump — plays here on the page)

The architectural claim here is unusual enough to be worth checking: OmegaClaw puts the language model underneath a symbolic layer rather than in charge of it. The model is a component the symbolic core calls, not the controller. Mirza installs it live and tests the two claims that would actually matter to you — long-term memory surviving a restart, and a symbolic layer that computes a truth value instead of narrating one. Both hold, though the second needed a second prompt to surface. Worth knowing before you install: the agent can rewrite its own skills and logic while running and can execute shell commands, which is why there is a security policy file in the config.

Source video

"OmegaClaw: An AI Agent Built on Symbolic Logic, Not Just an LLM" by Fahd MirzaWatch on YouTube →

Step-by-Step Breakdown

  1. Install with Docker and pick a chat channel

    The install is a single Docker command that pulls the image and walks you through setup. OmegaClaw has no web UI — it talks over a chat channel. IRC is the default, with Telegram or Slack available if you supply a bot token. In the demo an IRC channel and nickname are entered at the prompt.

  2. Point it at any model endpoint

    It accepts an OpenAI-compatible endpoint, OpenRouter, or a locally served model — llama.cpp is named explicitly. This is the part that makes the architecture claim testable: the model is swappable because it is a called component, not the core.

  3. Verify the loop is running before you talk to it

    Tail the container logs. You should see iteration after iteration and 200 responses from your model endpoint. The agent is already working at this point; you just have no window into it yet. The loop is continuous — it keeps working when nobody is talking to it, which is the behavioural difference from a request-response agent.

  4. Join the channel and claim the agent with its one-time secret

    The installer prints a one-time secret. Join your IRC channel, send that secret as your first message, and the agent authenticates you. Only then will it answer.

  5. Test persistence honestly: tell, restart, ask

    Mirza tells it a fact about his channel, restarts the container, waits for the loop to rejoin and resume iterating, then asks for the fact back. It returns correctly — memory survived a fresh container. This is the test to run against any agent that advertises long-term memory.

  6. Talk to the symbolic layer directly

    There is a skill that passes an expression straight to the symbolic layer, bypassing the model. Feeding it two facts, each with a strength and confidence value, should produce a derived conclusion with a computed truth value. On the first attempt it stored the facts and asked a question instead — the model narrating rather than the symbolic layer answering. A follow-up asking it to run inference on the stored data returned the derived conclusion with strength and confidence attached.

Commands & Code Shown

docker run -it --rm omegaclaw/omegaclaw:latest

docker run -it --rm omegaclaw/omegaclaw:latest

Purpose: Pulls the image and runs the guided installer. The installer asks you to accept terms, choose a chat channel (IRC by default, Telegram or Slack with a token), and supply a model endpoint.

When to use: Docker is the recommended install path and the one demonstrated — there are enough moving pieces that a native install is not the shortcut it looks like. Check the project's own README for the current image name and tag before running.

docker logs -f <container-name>

docker logs -f <container-name>

Purpose: Shows the continuous agent loop iterating and the HTTP status of each call out to your model endpoint. This is how you confirm the loop is actually running rather than idle.

When to use: Immediately after install, and any time the agent stops responding on its chat channel — the loop and the chat bridge are separate, so one can be alive while the other is not.

docker restart <container-name>

docker restart <container-name>

Purpose: The memory test. Long-term memory lives in a Docker volume, so restarting the container should not wipe what the agent has been told to remember.

When to use: Before you trust any agent's persistence claim. Tell it a fact, restart, then ask for the fact back — that is the whole test, and it took under two minutes here.

Gotchas & Caveats

  • The agent can rewrite its own skills and logic while running, and it can execute shell commands. That is why a security policy file exists in the config. Read that file before you point this at anything you care about — self-modification plus shell access is a combination that deserves a container boundary, which is another argument for the Docker path.
  • The symbolic-reasoning result was weaker than advertised on the first try. Mirza's own words: the reply was "the language model narrating rather than the symbolic layer's actual output." It produced the real derived truth value only when asked directly to run inference. The capability is there; the routing to it is not automatic.
  • MeTTa, the language the core is written in, is a symbolic language closer to Prolog or Lisp than to Python. If you want to extend the symbolic layer rather than just use it, that is the learning curve.
  • No web UI is a design choice, not an omission — everything goes through IRC, Telegram or Slack. Plan your interface around that.

Key Takeaways

  • The model sits below the symbolic layer, not above it. The symbolic core drives the loop and holds the structure; it calls the model as a component. Whether or not you adopt OmegaClaw, this is a genuinely different answer to "what is in charge of the agent" than every harness that wraps a model in Python.
  • Three things fall out of that architecture: a continuous loop that runs unprompted, long-term memory in a Docker volume that survives restarts, and a proof trail you can read back to see how a conclusion was reached.
  • Memory persistence was verified live, not taken on trust — fact stored, container restarted, fact recalled.
  • An agent that computes its confidence is different from one that sounds confident. That is the whole pitch, and the symbolic skill does produce a strength-and-confidence pair — when you ask it to.
  • Open source, from SingularityNET, built on the Hyperon stack with a core of roughly 200 lines of MeTTa.

Weekly Digest — In Your Inbox

Get the week's top AI agent news, updates, and guides — every Friday.