# Agent0 and Omega13 architecture

## Purpose

Agent0 is the local Glitch University agent bundle intended to run on the Omega13 home inference server.

Omega13 provides local compute and long-running containers. A reverse SSH tunnel connects selected services to the public Glitch University infrastructure at `glitch.university`.

## Core repositories

Expected side-by-side checkout layout:

```text
Projects/
  Agent0/
  gutasktool/
```

Agent0 remote:

```text
ssh://git@ramanujan.glitch.university:2222/glitch-university/Agent0.git
```

gutasktool remote:

```text
ssh://git@ramanujan.glitch.university:2222/glitch-university/gutasktool.git
```

## Deployment model

Preferred operator flow on Omega13:

```bash
cd ~/Projects/Agent0
git pull
docker compose up -d gerhard gerhard-dashboard
```

Once Gerhard is stable, bring up the tunnel and then the rest of the stack:

```bash
docker compose up -d glitch-tunnel
docker compose up -d
```

## Docker Compose services

The stack includes Agent Zero style agents, Hermes Gerhard, a Gerhard dashboard, Postgres/Festinger, and a tunnel.

Important service names include:

- `gerhard`
- `gerhard-dashboard`
- `glitch-tunnel`
- `postgres`
- `festinger`
- `dobby`, `gemma`, `gunnar`, `rind`, `abyssinthia`

## Persistence model

Version control:

- `docker-compose.yml`
- agent identities such as `agents/gerhard-hermes/SOUL.md`
- shared knowledge in `shared/knowledge/`
- shared skills and runbooks
- `.env.example` with placeholders only

Host-local or ignored:

- `.env`
- `auth.json`, `auth.lock`
- Hermes `state.db*`
- sessions and logs
- cron runtime state such as `cron/jobs.json` and `cron/output/`
- model caches and package caches

## Secrets rule

No secrets in Git.

Store credentials on Omega13 in local environment files, SSH config, Docker secrets, or service-specific auth stores. Use placeholders such as `***` or `[REDACTED]` in docs and examples.
