2026-06-17 13:19:42 +02:00
|
|
|
# Host & Agent Matrix (shared, fill-as-you-go)
|
|
|
|
|
|
|
|
|
|
A living inventory of **who runs where** and **what each host actually is**. Any agent
|
|
|
|
|
on any host fills in its own row. Source of truth for facts is the probe — not memory.
|
|
|
|
|
|
|
|
|
|
> **How to fill your row**
|
2026-06-17 13:52:42 +02:00
|
|
|
>
|
2026-06-17 13:19:42 +02:00
|
|
|
> ```sh
|
|
|
|
|
> cd ~/layered-soul
|
|
|
|
|
> python3 scripts/verify_facts_probe.py --os --hardware --storage --network --text
|
|
|
|
|
> ```
|
2026-06-17 13:52:42 +02:00
|
|
|
>
|
2026-06-17 13:19:42 +02:00
|
|
|
> Copy the verified values into the tables below, set `Probed` to today's UTC date,
|
|
|
|
|
> and commit. **Never guess hardware, OS, or IPs** — paste what the probe reports.
|
|
|
|
|
> On FreeBSD the probe synthesizes an OS-specific command map; trust its output over
|
|
|
|
|
> Linux habits.
|
2026-06-17 17:01:51 +02:00
|
|
|
>
|
|
|
|
|
> **Disk before action:** before installing a toolchain or starting a build, check
|
|
|
|
|
> real free space (`df -h /`, or the probe's `--storage`) — never estimate. Keep the
|
|
|
|
|
> **Disk (free)** column current and flag any host past ~85%. See _Disk discipline_ below.
|
2026-06-17 13:19:42 +02:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 1. Agent placement (who runs where)
|
|
|
|
|
|
2026-06-17 17:47:32 +02:00
|
|
|
| Agent | Host | OS / Isolation | Harness | Role | Bot / channel | Status |
|
|
|
|
|
| ---------- | ------- | ------------------------------- | ----------------------- | ------------------------- | ---------------------------- | ---------------------- |
|
|
|
|
|
| Hermes | debby | Debian 13 / Docker | Hermes Agent (upstream) | Orchestrator, soul backup | @hermes_samob_bot (Telegram) | live |
|
|
|
|
|
| Zot | debby | Debian 13 / Docker | Zot RPC | Coding, media workflows | @zot_samob_bot (Telegram) | live |
|
|
|
|
|
| Claude | domedog | Ubuntu 24.04 / Docker | Claude Code | Verification, review | — (CLI) | live |
|
|
|
|
|
| Mevy | osa | FreeBSD 15 / jail | Hermes Agent | Operator bot (current) | Mevy (Telegram) | live |
|
|
|
|
|
| Codex | osa | FreeBSD 15 / jail | Codex CLI | ISO builds, validation | — | installed (probe) |
|
|
|
|
|
| hermes-osa | osa | FreeBSD 15 / host service first | Hermes Agent (FreeBSD) | Native FreeBSD Hermes | _(planned)_ | planned; not installed |
|
2026-06-17 13:19:42 +02:00
|
|
|
|
|
|
|
|
> Notes:
|
2026-06-17 13:52:42 +02:00
|
|
|
>
|
2026-06-17 13:19:42 +02:00
|
|
|
> - Provider per agent (DeepSeek / OpenRouter / Z.AI / local) — fill in the per-host table.
|
|
|
|
|
> - One Telegram token per running service. Never share a token across instances.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 2. Host hardware & facts (one row per host)
|
|
|
|
|
|
2026-06-17 13:52:42 +02:00
|
|
|
| Host | Tailscale IP | OS / Kernel | Virt | CPU | vCPU | RAM | Swap | Disk (free) | GPU | Probed | By |
|
|
|
|
|
| ----------- | -------------- | ---------------------------------- | --------------------- | -------------------------------------- | ---- | ------- | --------------------- | ---------------------------- | ---------------------- | ---------- | ------ |
|
|
|
|
|
| **domedog** | 100.103.255.41 | Ubuntu 24.04.4 / 6.8.0-117 | KVM | AMD EPYC 7543P (32-core host) | 2 | 7.8 GiB | 2.0 GiB | 100 GB QEMU (51G free) | none (headless) | 2026-06-17 | Claude |
|
|
|
|
|
| **debby** | 100.66.193.10 | Debian 13 / 6.12.90+deb13.1-amd64 | bare metal | AMD Ryzen 7 5700U (8-core) | 16 | 15 GiB | 15 GiB | nvme0n1p2 453G (23G free) | Radeon Graphics (iGPU) | 2026-06-17 | Hermes |
|
2026-06-17 17:47:32 +02:00
|
|
|
| **osa** | 100.72.229.63 | FreeBSD 15.0-RELEASE-p10 / GENERIC | not reported by probe | Intel Core Processor (Haswell, no TSX) | 6 | 11 GiB | not reported by probe | ZFS pool: zroot (23.4G free) | not reported by probe | 2026-06-17 | Pi |
|
2026-06-17 13:19:42 +02:00
|
|
|
|
2026-06-17 17:01:51 +02:00
|
|
|
### Disk discipline (check, don't guess)
|
|
|
|
|
|
|
|
|
|
Disk is a first-class fact, same as OS or CPU — **measure it before you act, don't estimate.**
|
|
|
|
|
|
|
|
|
|
- **Before installing a toolchain or starting a build**, run `df -h /` (Linux) or
|
|
|
|
|
`zfs list` / `df -h` (FreeBSD), or the probe's `--storage`. Confirm the headroom is
|
|
|
|
|
really there.
|
|
|
|
|
- **Keep the `Disk (free)` column above current** when you add or remove anything large.
|
|
|
|
|
- **Flag any host past ~85% used.** Reference footprints to budget with: Go SDK ≈ 290 MB,
|
|
|
|
|
Rust toolchain (`~/.rustup` + `~/.cargo`) ≈ 1.8 GB, a Node version ≈ 150 MB; build/module
|
|
|
|
|
caches grow on top of these.
|
|
|
|
|
- **Standing watch:** `debby` runs ~95% full (23 GB free). Treat new installs/builds there
|
|
|
|
|
as a deliberate decision, not a default — prefer the host with real headroom.
|
|
|
|
|
|
|
|
|
|
This is the survivability principle applied to storage: a host that silently fills up is a
|
|
|
|
|
host that fails. What you guess will be wrong; what you probe will be right.
|
|
|
|
|
|
2026-06-17 13:19:42 +02:00
|
|
|
---
|
|
|
|
|
|
|
|
|
|
## 3. Per-host detail (expand as needed)
|
|
|
|
|
|
|
|
|
|
### domedog (Claude / verification) — probed 2026-06-17 by Claude
|
2026-06-17 13:52:42 +02:00
|
|
|
|
2026-06-17 13:19:42 +02:00
|
|
|
- **Identity**: hostname `domedog.pro`, Tailscale `100.103.255.41`
|
|
|
|
|
- **OS**: Ubuntu 24.04.4 LTS, kernel `6.8.0-117-generic`, x86_64, KVM guest
|
|
|
|
|
- **CPU**: AMD EPYC 7543P 32-Core (2 vCPU exposed to guest)
|
|
|
|
|
- **Memory**: 7.8 GiB RAM, 2.0 GiB swap
|
|
|
|
|
- **Storage**: `/dev/sda1` 96 GB ext4 root, 51 GB free (QEMU HARDDISK). No ZFS.
|
|
|
|
|
- **GPU**: none (headless VM)
|
|
|
|
|
- **Uptime at probe**: ~3.5 weeks
|
|
|
|
|
- **Role here**: Claude Code — verification & review lane. No Telegram bot.
|
|
|
|
|
|
2026-06-17 13:24:46 +02:00
|
|
|
### debby (Hermes orchestrator + Zot) — probed 2026-06-17 by Hermes
|
2026-06-17 13:52:42 +02:00
|
|
|
|
2026-06-17 13:24:46 +02:00
|
|
|
- **Identity**: hostname `debby`, Tailscale `100.66.193.10`
|
|
|
|
|
- **OS**: Debian 13 (Trixie), kernel `6.12.90+deb13.1-amd64`, bare metal (KDE Plasma desktop)
|
|
|
|
|
- **CPU**: AMD Ryzen 7 5700U with Radeon Graphics, 8 physical cores, 16 threads
|
|
|
|
|
- **Memory**: 15 GiB RAM, 15 GiB swap
|
|
|
|
|
- **Storage**: `/dev/nvme0n1p2` 453 GB ext4 root, 23 GB free (95% full). No ZFS.
|
|
|
|
|
- **GPU**: AMD Radeon Graphics (integrated, Lucienne)
|
|
|
|
|
- **Containers**: Docker 29.5.3 installed (daemon not currently running)
|
|
|
|
|
- **Hermes Agent**: v0.16.0 (upstream f9c8d95e), DeepSeek v4 Pro primary provider, OpenRouter for vision/fallback, Z.AI/GLM available
|
|
|
|
|
- **Zot RPC**: Go binary at `~/.local/bin/zot`, GLM-5.1 model
|
|
|
|
|
- **Telegram**: @hermes_samob_bot + @zot_samob_bot in "My Debby" group
|
|
|
|
|
- **Layered soul**: commit `817624c`, 6 curated memories, 9 cross-harness skills
|
2026-06-17 13:19:42 +02:00
|
|
|
|
2026-06-17 17:14:43 +02:00
|
|
|
### osa (FreeBSD: Mevy + Codex + hermes-osa) — probed 2026-06-17 by Mevy
|
2026-06-17 13:52:42 +02:00
|
|
|
|
|
|
|
|
- **Identity**: hostname `osa.smilepowered.org`, Tailscale `100.72.229.63`
|
|
|
|
|
- **OS**: FreeBSD `15.0-RELEASE-p10`, kernel `FreeBSD osa.smilepowered.org 15.0-RELEASE-p10 FreeBSD 15.0-RELEASE-p10 releng/15.0-n281064-98258a339269 GENERIC amd64`
|
|
|
|
|
- **Virt**: not reported by probe
|
|
|
|
|
- **CPU**: Intel Core Processor (Haswell, no TSX), 6 vCPU
|
|
|
|
|
- **Memory**: 11 GiB RAM, swap not reported by probe
|
2026-06-17 17:47:32 +02:00
|
|
|
- **Storage**: ZFS pool `zroot`, 98.5G, ONLINE; latest storage probe reports 23.4G available
|
2026-06-17 13:52:42 +02:00
|
|
|
- **GPU**: not reported by probe (`lspci` returned usage text)
|
|
|
|
|
- **Jails / containers**: FreeBSD jails `cms` and `worker`; Docker not installed
|
|
|
|
|
- **Agents reported by probe**: Codex CLI `/usr/local/bin/codex` (`codex-cli 0.117.0`); Claude Code `/home/clawdie/.npm-global/bin/claude`
|
|
|
|
|
- **Mevy Telegram / provider**: not reported by probe; do not guess token ownership or provider
|
2026-06-17 17:14:43 +02:00
|
|
|
- **hermes-osa** (FreeBSD-native Hermes): not installed yet — see install note below
|
2026-06-17 13:52:42 +02:00
|
|
|
- **Layered soul**: commit `3ee2888`, 7 curated memories, 10 cross-harness skills
|
2026-06-17 13:19:42 +02:00
|
|
|
|
2026-06-17 17:14:43 +02:00
|
|
|
#### hermes-osa install note (corrected)
|
|
|
|
|
|
|
|
|
|
The osa FreeBSD-native Hermes is the **clean-room MIT `hermes-bsd`** codebase — _not_
|
|
|
|
|
"Autolycus" (an LGPL upstream dependency the layer explicitly avoids; the old codename is
|
|
|
|
|
retired). Grounded in the actual code:
|
|
|
|
|
|
|
|
|
|
- **Service:** `hermes_daemon` (`packaging/freebsd/hermes_daemon.in` → `/usr/local/etc/rc.d/hermes_daemon`,
|
|
|
|
|
`sysrc hermes_daemon_enable=YES`). Distinct from the old `clawdie`/`clawdie_hostd` rc.d
|
|
|
|
|
entries, so it won't collide during validation.
|
2026-06-17 17:47:32 +02:00
|
|
|
- **State home:** the app reads **`HERMES_HOME`** (`get_hermes_home()`). Do not set
|
|
|
|
|
`AUTOLYCUS_HOME` for hermes-osa.
|
2026-06-17 17:48:57 +02:00
|
|
|
- **Local validation home:** use the operator-owned default-compatible state directory first.
|
|
|
|
|
For source-proof validation, run the checkout-local setup path, not the PyPI/system installer:
|
2026-06-17 17:14:43 +02:00
|
|
|
```sh
|
2026-06-17 17:48:57 +02:00
|
|
|
cd /home/clawdie/ai/hermes-bsd
|
|
|
|
|
HERMES_HOME=/home/clawdie/.hermes ./setup-hermes.sh
|
2026-06-17 17:14:43 +02:00
|
|
|
HERMES_HOME=/home/clawdie/.hermes hermes setup # Telegram off, no secrets first
|
|
|
|
|
```
|
2026-06-17 17:48:57 +02:00
|
|
|
`scripts/install-freebsd.sh` is useful later for package-style installs, but it currently
|
|
|
|
|
installs the published `hermes-agent` package rather than proving this checkout's patches.
|
2026-06-17 17:47:32 +02:00
|
|
|
- **Service home:** the rc.d template defaults `hermes_daemon_home` to `/var/db/hermes` under
|
|
|
|
|
the dedicated `hermes` service user. After local validation, either seed `/var/db/hermes`
|
|
|
|
|
deliberately or set `sysrc hermes_daemon_home=/home/clawdie/.hermes` deliberately; do not
|
|
|
|
|
let local and daemon state diverge by accident.
|
|
|
|
|
- **Do not use `/home/clawdie/clawdie-ai` as Hermes state.** Preserve/retire the old Clawdie
|
|
|
|
|
runtime path as a separate step after local Hermes validation.
|
|
|
|
|
- Install source is `hermes-bsd` main at `912e697d` (includes the Python 3.12 setup baseline).
|
2026-06-17 17:14:43 +02:00
|
|
|
|
2026-06-17 13:19:42 +02:00
|
|
|
---
|
|
|
|
|
|
|
|
|
|
_See [`../AGENTS.md`](../AGENTS.md) for the canonical agent matrix and operating rules._
|