docs: retire Autolycus label -> hermes-osa; correct FreeBSD install facts

'Autolycus' is an LGPL upstream dependency the clean-room MIT hermes-bsd layer
explicitly avoids — never a service we run. Rename the osa agent label to
hermes-osa across AGENTS.md, agent-roster.md, HOST-MATRIX.md, and the FreeBSD
integration doc. Fix the roster's wrong 'LGPL v2.1 fork' -> clean-room MIT.

Correct the install facts (grounded in code): service is hermes_daemon
(packaging/freebsd/hermes_daemon.in), state home env is HERMES_HOME (not the
no-op AUTOLYCUS_HOME). Records the don't-mv-clawdie-ai caution and commit f8bf2803d.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Claude (domedog) 2026-06-17 17:14:43 +02:00
parent 413e86f937
commit 191e4ab3b5
4 changed files with 38 additions and 18 deletions

View file

@ -8,7 +8,7 @@
- Use `scripts/layered_soul.py validate .` before committing structural changes.
- When adapting for Colibri: reviewed skills map to `system_skills`, curated memory maps to `system_brain`, converted task manifests map to `system_ops`.
- When adapting for Hermes (upstream, Linux): load as profile context (SOUL.md + USER.md + IDENTITY.md). Hermes-native config and cron stay in `hermes-soul`.
- When adapting for Autolycus (Hermes fork, FreeBSD): same profile-context load; FreeBSD-specific gaps (voice, clipboard) are known and tracked in `docs/CLAWDIE-HERMES-FREEBSD-INTEGRATION.md`.
- When adapting for hermes-osa (FreeBSD-native Hermes, clean-room MIT via `hermes-bsd`): same profile-context load; FreeBSD-specific gaps (voice, clipboard) are known and tracked in `docs/CLAWDIE-HERMES-FREEBSD-INTEGRATION.md`.
- When adapting for Pi/Codex/Claude Code/Zot: render the prompt bundle (`render-prompt`) and inject as task-scoped context. Durable findings flow back through reviewed commits.
## Quota exhaustion policy (cross-harness)
@ -46,7 +46,7 @@ already solved.** Tokens are money. A solved task retried is waste.
| Zot | debby | Zot RPC | Debian 13 | Docker | Coding, media workflows |
| Claude | domedog | Claude Code | Linux | Docker | Verification, review |
| Codex | osa | Codex CLI | FreeBSD 15 | Bastille jail | ISO builds, validation |
| Autolycus | osa | Hermes Agent (fork) | FreeBSD 15 | Bastille jail | Native FreeBSD Hermes |
| hermes-osa | osa | Hermes Agent (FreeBSD) | FreeBSD 15 | Bastille jail | Native FreeBSD Hermes |
**Survivability**: Linux/Docker and FreeBSD/jails are complementary safeguards.
A vulnerability that kills one platform cannot kill the other. Agents can be

View file

@ -19,7 +19,7 @@ No LGPL encumbrance — pure MIT, same as upstream.
Currently OSA (FreeBSD 15 host) runs Codex CLI for ISO builds and cargo validation.
It has no Hermes instance — all orchestration happens on debby (Linux). Adding
Autolycus to OSA gives us:
hermes-osa to OSA gives us:
| Capability | Before | After |
| ------------------------ | ------------- | ------------------------- |
@ -44,19 +44,19 @@ Autolycus to OSA gives us:
1. Clone `layered-soul` on OSA
2. Load SOUL.md, USER.md, IDENTITY.md, AGENTS.md as profile context
3. Verify Autolycus operates with the same identity as Hermes on debby
4. Test: can Autolycus on OSA read the same skills as Hermes on debby?
3. Verify hermes-osa operates with the same identity as Hermes on debby
4. Test: can hermes-osa on OSA read the same skills as Hermes on debby?
### Phase 3: Colibri co-hosting
1. Both Autolycus and colibri-daemon run on OSA simultaneously
2. Autolycus can issue socket commands to the daemon (`cmd_status`, etc.)
1. Both hermes-osa and colibri-daemon run on OSA simultaneously
2. hermes-osa can issue socket commands to the daemon (`cmd_status`, etc.)
3. Headroom sidecar runs on OSA (Python works natively)
4. Test: ISO build triggered by Autolycus, results reported via Telegram
4. Test: ISO build triggered by hermes-osa, results reported via Telegram
### Phase 4: ISO shipping
1. Add Autolycus to Clawdie ISO package list
1. Add hermes-osa to Clawdie ISO package list
2. Pre-configure with layered-soul identity
3. Install as a FreeBSD service alongside colibri-daemon
4. First-boot wizard optionally sets up Hermes
@ -69,7 +69,7 @@ Autolycus to OSA gives us:
| Zot | debby | Zot RPC | Debian 13 | GLM-5.1 | Coding, media |
| Claude | domedog | Claude Code | Linux | Claude | Verification, review |
| Codex | osa | Codex CLI | FreeBSD 15 | GPT | ISO builds, validation |
| **Autolycus** | **osa** | **Hermes Agent (fork)** | **FreeBSD 15** | **TBD** | **Native FreeBSD agent** |
| **hermes-osa** | **osa** | **Hermes Agent (FreeBSD)** | **FreeBSD 15** | **TBD** | **Native FreeBSD agent** |
## Gaps to close (from FreeBSD audit)
@ -84,8 +84,8 @@ Autolycus to OSA gives us:
| File | Change |
| ----------------------------------------------- | ---------------------------------------- |
| `layered-soul/memories/curated/agent-roster.md` | Add Autolycus row |
| `layered-soul/AGENTS.md` | Add Autolycus to agent references |
| `layered-soul/memories/curated/agent-roster.md` | Add hermes-osa row |
| `layered-soul/AGENTS.md` | Add hermes-osa to agent references |
| `layered-soul/docs/CONNECT-HERMES-SOUL.md` | Document FreeBSD agent source connection |
| `clawdie-ai/docs/` (or handoff) | Agent matrix expansion note |
| `colibri/docs/AGENTS.md` | Note FreeBSD-side Hermes availability |

View file

@ -30,7 +30,7 @@ on any host fills in its own row. Source of truth for facts is the probe — not
| 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) |
| Autolycus | osa | FreeBSD 15 / jail | Hermes Agent (fork) | Native FreeBSD Hermes | _(planned)_ | not reported by probe |
| hermes-osa | osa | FreeBSD 15 / jail | Hermes Agent (FreeBSD) | Native FreeBSD Hermes | _(planned)_ | not installed yet |
> Notes:
>
@ -93,7 +93,7 @@ host that fails. What you guess will be wrong; what you probe will be right.
- **Telegram**: @hermes_samob_bot + @zot_samob_bot in "My Debby" group
- **Layered soul**: commit `817624c`, 6 curated memories, 9 cross-harness skills
### osa (FreeBSD: Mevy + Codex + Autolycus) — probed 2026-06-17 by Mevy
### osa (FreeBSD: Mevy + Codex + hermes-osa) — probed 2026-06-17 by Mevy
- **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`
@ -105,9 +105,29 @@ host that fails. What you guess will be wrong; what you probe will be right.
- **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
- **Autolycus**: not reported by probe
- **hermes-osa** (FreeBSD-native Hermes): not installed yet — see install note below
- **Layered soul**: commit `3ee2888`, 7 curated memories, 10 cross-harness skills
#### 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.
- **State home:** the app reads **`HERMES_HOME`** (`get_hermes_home()`) — **`AUTOLYCUS_HOME`
is read by nothing.** Set it explicitly for a clean state home:
```sh
HERMES_HOME=/home/clawdie/.hermes sh scripts/install-freebsd.sh
HERMES_HOME=/home/clawdie/.hermes hermes setup # Telegram off, no secrets first
```
- **Do not** `mv`/retire `/home/clawdie/clawdie-ai` yet: the old `clawdie`/`clawdie_hostd`
services run from rc.d wrappers whose targets are missing — repair/retire that path as a
separate, deliberate step after local Hermes validation.
- Install commit pinned at `f8bf2803d` (Forgejo is not yet source-of-truth for that patch).
---
_See [`../AGENTS.md`](../AGENTS.md) for the canonical agent matrix and operating rules._

View file

@ -8,21 +8,21 @@
| Zot | debby (Debian 13) | Zot RPC | GLM-5.1 | Coding specialist, media workflows |
| Claude | domedog (Linux) | Claude Code | Claude | Independent verification, secondary builder, reviewer |
| Codex | osa (FreeBSD 15) | Codex CLI | GPT | FreeBSD 15 validation, ISO builds, hardware proofs |
| Autolycus | osa (FreeBSD 15) | Hermes Agent (fork) | TBD | Native FreeBSD Hermes instance, ISO-side agent |
| hermes-osa | osa (FreeBSD 15) | Hermes Agent (FreeBSD) | TBD | Native FreeBSD Hermes instance, ISO-side agent |
## Multi-agent groups
| Group | Platform | Members | Purpose |
| ------------ | -------- | ---------------------------------- | ------------------------------------------ |
| "My Debby" | Telegram | @hermes_samob_bot + @zot_samob_bot | Orchestration + coding delegation |
| FreeBSD side | OSA host | Codex + Autolycus | ISO builds, validation, native FreeBSD ops |
| FreeBSD side | OSA host | Codex + hermes-osa | ISO builds, validation, native FreeBSD ops |
## Harness matrix
| Harness | Hosts | Native OS | Capabilities |
| ----------------------------- | ------- | ---------- | ----------------------------------------------------- |
| Hermes Agent (upstream) | debby | Linux | Full agent, skills, cron, Telegram gateway, voice |
| Hermes Agent (Autolycus fork) | osa | FreeBSD 15 | Fork targeting FreeBSD, LGPL v2.1, PTY/local terminal |
| Hermes Agent (FreeBSD) | osa | FreeBSD 15 | Clean-room MIT FreeBSD layer (`hermes-bsd`); service `hermes_daemon`, PTY/local terminal |
| Zot RPC | debby | Linux | Structured delegation, GLM-5.1 inference |
| Claude Code | domedog | Linux | Verification, code review, document review |
| Codex CLI | osa | FreeBSD 15 | ISO builds, cargo test, hardware validation |