Verdict: structurally sound, with three silent breaks in the "One Brain" loop — all patched today. The vault is healthy and every agent now reads from and writes back to it. The team's biggest problem wasn't capability — it was plumbing: work never reached Peepers, and nothing watched the watchers. Offline mode: the agents survive a WAN loss; the comms don't — three fixes are carded to close that.
The vault core is healthy and readable. 358 docs, clear entry points (HOME.md, VAULT_GUIDE, the canonical Team Operating Manual), all five load-bearing docs touched within the last 6 days, and the semantic index rebuilds nightly at 03:40 (fresh this morning). Both Hommer and the OpenDiz VM mount it with a watchdog on the VM side.
Peepers' soul had zero vault references — the "One Brain" rule was missing from the one agent it matters most for, and his host list contained two dangerously stale facts ("pfSense router"; "RainbowAI — often intentionally powered off"). Patched: RULE #0 (vault-first) added, facts corrected. souls/peepers.md.bak-onebrain-20260722 · velma/louis already referenced the vault
A long staleness tail: 119 of 358 docs (33%) untouched for 90+ days, plus junk at the vault root (Untitled.canvas ×2, Untitled.base, Peepers-Test-Output.md). Not urgent — this is exactly what the nightly Doc True-Up is being stood up to chip away at.
Structurally, yes: queues live in the vault, outputs are verified vault artifacts, Farm Watch writes nightly summaries to Farm/Farm-Watch/, and the daily report reads run results. With the soul patch, all three souls now carry the vault-first rule.
The verification gate had a fail-open hole — proven live. Peepers' first bridged task returned a beat-file table with fabricated mtimes (synthetic 1-second-descending timestamps; claimed a beat "OK" that is 8 days stale; his tools can't stat /var/tmp on Hommer). The consistency judge passed it: its leniency clause let "extra detail from files read" cover invented per-file values. Judge prompt tightened (reading file X never licenses claims about file Y); task reissued as draft-only scope. consistency.py.bak-judge-20260722 · Claude validation caught it = the escalation ladder working as designed
Peepers was structurally unemployed for 14 days. His queue had zero todo items since Jul 8 and the promised "[Peepers] kanban cards" lane was never wired — the timer ran "queue empty" ~48×/day. Today: the board→queue bridge is built (cron */10 on Hommer), the return path was already in run.py, and the full loop is proven live: card → queue → run → verify → receipt noted back on the card, 43-second turnaround. kanban-queue-bridge.py · wd-kanban-queue-bridge.beat · defer:YYYY-MM-DD honored for date-gated cards
Compute placement is now policy-clean: all agent work on RainbowAI (5060 Ti pool / 3060 lanes), Hommer strictly fallback — verified by receipts, not configs: zero requests to Hommer's ollama since the morning reboot. This also closed the buffer-freeze root cause (Farm Watch vision was silently running on your display GPU 40×/night).
Blocked work is invisible until someone looks. Louis has a task blocked since Jul 8 (missing Pi-Parts checklist), Velma since Jul 21 (re-tier validation) — both "needs Jess," neither ever surfaced to you. The nightly true-up's job is to read all three queues and put the unblock asks in front of you; security-scan's 8-day silent failure is the same disease (diagnosis task queued to Peepers).
What actually depends on the WAN. The work engine survives; every channel to you dies. That asymmetry is the whole gap.
flowchart LR
subgraph S["🟢 SURVIVES — fully local"]
direction TB
s1["RainbowAI LLMs
(all agent brains)"]
s2["Obsidian vault
(TrueNAS CIFS)"]
s3["Agent timers, queues,
journals, judge"]
s4["Kanban by IP
192.168.1.124"]
s5["Cameras / RTSP +
Farm Watch vision"]
s6["N8N engine ·
FreePBX internal ·
Open WebUI (R610)"]
end
subgraph D["🔴 DIES with the WAN"]
direction TB
d1["Claude (me)"]
d2["Discord — ALL alerts,
Peepers chat, task intake"]
d3["every *.dizydiz.com name
(Cloudflare-proxied,
even from Pi-hole)"]
d4["Alexa · email ·
VoIP.ms calls/SMS"]
d5["web_search (SearXNG
upstreams) · Shopify · Buffer"]
end
J(("Jess"))
s3 -.->|"work continues"| s2
d2 ==>|"comms gap"| J
d3 ==>|"dashboards gone
by name"| J
| Gap | Fix | Owner | Status |
|---|---|---|---|
| Dashboards unreachable by name — every dizydiz.com hostname resolves to Cloudflare, even on the LAN | Split-horizon DNS on Pi-hole (local records → LAN IPs) | Claude | CARDED offline-dns-split-horizon |
| No offline playbook — how you reach the team, how alerts reach you | Internet-Down Runbook drafted into the vault, usable offline | Peepers | IN HIS QUEUE peepers-offline-comms-runbook |
| Agent runs assume Discord works — sends fail quietly (approvals) or unverified (farm watch) | try/except + outbox spool on every send, flush on WAN return; offline marker for web_search | Claude | CARDED offline-harden-agent-stack |
| Alerts to you offline — only the red-wallpaper internet alert exists today | Candidates: FreePBX internal ring, LAN status page by IP — runbook task evaluates | Peepers → Jess | IN RUNBOOK SCOPE |
| Never actually tested | Pull-the-WAN drill after hardening lands | Jess | NEEDS A DATE |
| # | Decision | Context |
|---|---|---|
| 1 | Unblock Louis & Velma | Louis: Pi-Parts slicing checklist missing since Jul 8 · Velma: re-tier validation block from Jul 21 |
| 2 | Approve split-horizon DNS approach | Local names → LAN IPs; needs a cert/HTTPS decision for Cloudflare-proxied origins |
| 3 | Pick a WAN-drill date | After offline hardening lands; proves "not miss a beat" instead of assuming it |
| 4 | Jul 27: watchdogs un-pause | Already carded with defer:2026-07-28 — auto-queues to Peepers after Oshkosh tiles come down |
Today's changes, for the record: Farm Watch vision re-routed off the display GPU (verified) · Peepers soul patched · consistency judge tightened · kanban↔queue bridge built & live · escalation ladder codified in the Team Operating Manual · 9 cards filed/updated · 5 tasks queued to Peepers. Receipts in the vault: Incidents/2026-07-22-Hommer-Video-Buffer-Freeze-Farmwatch.md and the kanban Task-Intake-Log.