docs: reflect image-render/screenshot enabled on the FreeBSD operator image

Follow-on to clawdie-iso #85 (py311-pillow + join-hive capability detection):
the operator image now advertises image-render and screenshot, so the
capability is no longer Linux/domedog-only. Update the CAPABILITY-ROUTING worked
example and the HOST-MATRIX capability note accordingly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Sam & Claude 2026-06-21 09:58:49 +02:00
parent 2fd29cead7
commit dcc39938ed
2 changed files with 14 additions and 9 deletions

View file

@ -75,15 +75,17 @@ Hosts advertise only what they truly have. Actual registered agents (2026-06-19)
This illustrates the routing flow (now runnable over the [LIVE] cross-host topology above):
1. FreeBSD ships no `py312-pillow` flavor in the quarterly repo, so the image has stayed
lean. **But** the default-flavor `py311-pillow` is prebuilt and `python311` is already
present (clawdie-iso #84), so `image-render` can be restored on FreeBSD via `py311-pillow`
on 3.11. `screenshot` additionally needs a **display** — the XFCE operator image has one
(so screenshots work there), but headless osa does not (image-render only).
1. FreeBSD ships no `py312-pillow` flavor in the quarterly repo, but the default-flavor
`py311-pillow` is prebuilt and `python311` is already present (clawdie-iso #84). The
**operator image now ships it** (clawdie-iso #85): `clawdie-join-hive.sh` advertises
`image-render` (Pillow on 3.11) and `screenshot` when a display is present. So the XFCE
operator image qualifies for both; headless osa would get `image-render` only (no display,
and `py311-pillow` not added there yet).
2. The skill manifest declares `required_capabilities: ["image-render"]` (or `screenshot`).
3. Only a Linux host advertises these — today **domedog** carries `image-render`/`ffmpeg`
(osa dropped Pillow). `screenshot` additionally needs a display, so a _headless_ host
does not qualify for it.
3. Both **domedog** (Linux, `image-render`/`ffmpeg`) and the **FreeBSD operator image**
(`image-render` + `screenshot` via `py311-pillow`, clawdie-iso #85) now advertise these.
`screenshot` additionally needs a display, so a _headless_ host (domedog, osa) does not
qualify for it — the operator image, with its XFCE session, does.
4. Colibri routes the task to a matching host automatically — **proven 2026-06-19: an
`image-render` task routed to domedog**; with no match it parks until a capable agent appears.

View file

@ -161,7 +161,10 @@ rows only.
- **Colibri agent (joined central board 2026-06-19)** — the headless Linux media/compute lane:
- **Capabilities advertised**: `linux`, `python3.12`, `rust`, `go`, `node`, `ffmpeg`,
`image-render`. **Not** `screenshot`/`gui` (headless VM), not `docker` (absent).
`image-render`/`ffmpeg` are domedog-only in the fleet — osa dropped Pillow.
In the always-on fleet `image-render`/`ffmpeg` are domedog-only (osa is a headless
server with no `py312-pillow`). The **FreeBSD operator image** (live USB, XFCE) now
also advertises `image-render` **and** `screenshot` via prebuilt `py311-pillow` on
python 3.11 (clawdie-iso #85) — it has a display, so screenshots work there.
- **Reach**: client shim `colibri-shim.service` (system unit, `User=clawdija`,
`Restart=always`, reboot-persistent) runs
`socat UNIX-LISTEN:~/.colibri/colibri.sock → TCP ${OSA_TS_IP}:9190` (osa bridge over