docs(zap): update routing policy and OpenClaw notes

This commit is contained in:
William Valentin
2026-03-26 11:02:06 -07:00
parent 88fafab27e
commit f9ef8b55ac
6 changed files with 153 additions and 14 deletions

View File

@@ -13,15 +13,28 @@
"state": { "state": {
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "Infrastructure/Automation/Cron Jobs.md", "file": "Infrastructure/Automation/n8n Workflows.md",
"mode": "source", "mode": "source",
"source": false "source": false
}, },
"icon": "lucide-file", "icon": "lucide-file",
"title": "Cron Jobs" "title": "n8n Workflows"
}
},
{
"id": "614d9018f88254e9",
"type": "leaf",
"state": {
"type": "release-notes",
"state": {
"currentVersion": "1.12.7"
},
"icon": "lucide-book-up",
"title": "Release Notes 1.12.7"
} }
} }
] ],
"currentTab": 1
} }
], ],
"direction": "vertical" "direction": "vertical"
@@ -183,9 +196,11 @@
"bases:Create new base": false "bases:Create new base": false
} }
}, },
"active": "e78c645c773df70d", "active": "614d9018f88254e9",
"lastOpenFiles": [ "lastOpenFiles": [
"Notes/2026-03-25 OpenClaw Core Update.md",
"Infrastructure/Automation/Cron Jobs.md", "Infrastructure/Automation/Cron Jobs.md",
"Infrastructure/Automation/Channel Routing Policy.md",
"Infrastructure/Automation/n8n Workflows.md", "Infrastructure/Automation/n8n Workflows.md",
"Conventions.md", "Conventions.md",
"Plans/Daily Schedule.md", "Plans/Daily Schedule.md",

View File

@@ -3,7 +3,7 @@ title: Architecture
area: infrastructure area: infrastructure
tags: [infrastructure, homelab, assistant, integrations, automation] tags: [infrastructure, homelab, assistant, integrations, automation]
created: 2026-03-18 created: 2026-03-18
updated: 2026-03-18 updated: 2026-03-25
status: active status: active
related: [[Infrastructure/Services/Docker Services]], [[Infrastructure/Automation/Cron Jobs]], [[Infrastructure/Automation/n8n Workflows]] related: [[Infrastructure/Services/Docker Services]], [[Infrastructure/Automation/Cron Jobs]], [[Infrastructure/Automation/n8n Workflows]]
--- ---
@@ -47,7 +47,7 @@ See [[Infrastructure/Services/Docker Services]] for full details.
| Brave MCP | `18802` | Brave Search fallback | | Brave MCP | `18802` | Brave Search fallback |
| n8n-agent | `18808` | Automation workflows | | n8n-agent | `18808` | Automation workflows |
| Ollama | `18807` | Local embeddings | | Ollama | `18807` | Local embeddings |
| llama.cpp | `18806` | Local LLM (Qwen2.5-14B) | | llama.cpp | `18806` | Local LLM (Gemma 3 12B) |
| MinIO | `9000` | Object storage (`192.168.153.253`) | | MinIO | `9000` | Object storage (`192.168.153.253`) |
--- ---
@@ -74,7 +74,7 @@ See [[Infrastructure/Services/Docker Services]] for full details.
| Component | Detail | | Component | Detail |
|---|---| |---|---|
| Runtime | OpenClaw `2026.3.13` | | Runtime | OpenClaw `2026.3.23-2` |
| Identity | zap ⚡ | | Identity | zap ⚡ |
| Default model | `github-copilot/gpt-4o` + fallback chain | | Default model | `github-copilot/gpt-4o` + fallback chain |
| Memory | Ollama embeddings + markdown workspace files | | Memory | Ollama embeddings + markdown workspace files |
@@ -94,7 +94,8 @@ See [[Infrastructure/Services/Docker Services]] for full details.
| Integration | Detail | | Integration | Detail |
|---|---| |---|---|
| **Telegram** | Primary notification + interaction channel | | **Telegram** | Primary notification + interaction channel for reminders, alerts, and quick mobile interaction |
| **Discord** | Preferred surface for deep technical work, brainstorming, experiments, and scoped threads |
| **Obsidian** | Shared vault + zap's memory vault at `/mnt/swarm-common/obsidian-vault/` | | **Obsidian** | Shared vault + zap's memory vault at `/mnt/swarm-common/obsidian-vault/` |
| **Google Workspace** | Gmail, Calendar, Drive, Tasks via `gog` CLI | | **Google Workspace** | Gmail, Calendar, Drive, Tasks via `gog` CLI |
| **Search** | SearXNG first → Brave MCP fallback | | **Search** | SearXNG first → Brave MCP fallback |

View File

@@ -0,0 +1,66 @@
---
title: Channel Routing Policy
area: automation
tags: [automation, assistant, integrations, reference]
created: 2026-03-20
updated: 2026-03-20
status: active
related: [[Infrastructure/Architecture]]
---
# Channel Routing Policy
Use the right communication surface for the right kind of work so zap stays useful without creating context soup or notification fatigue.
## Core rule
Use **Telegram for interrupts** and **Discord for depth**.
## Telegram
Use Telegram for:
- direct personal chat
- reminders
- alerts / watchdog notices
- quick status checks
- lightweight mobile interaction
Avoid using Telegram as the main place for:
- long debugging sessions
- architecture work
- noisy experiments
- multi-step implementation discussions
## Discord
Use Discord for:
- technical debugging
- ongoing project work
- brainstorming / planning
- noisy experiments and model/tool testing
- thread-based scoped work items
Prefer Discord when the work is longer than a few turns, technical/investigative, likely to branch into subtopics, or worth separating into a thread.
## Notification split
Telegram should carry:
- reminders
- watchdog alerts
- backup failures/staleness
- cron failures
- important operational summaries
Discord should carry:
- active debugging work
- investigation notes
- implementation progress in threads
- noisy experiments / test output when a human is actively watching
## Practical examples
- "remind me in 20 minutes" → Telegram DM
- "backup is stale" → Telegram Automation
- "figure out why IMAP is broken" → Discord #dev thread
- "compare three architecture options" → Discord #brainstorming
- repeated webhook/model/provider tests → Discord #automation-lab

View File

@@ -3,7 +3,7 @@ title: n8n Workflows
area: automation area: automation
tags: [automation, integrations] tags: [automation, integrations]
created: 2026-03-18 created: 2026-03-18
updated: 2026-03-18 updated: 2026-03-25
status: active status: active
related: [[Infrastructure/Architecture]], [[Infrastructure/Automation/Cron Jobs]], [[Infrastructure/Services/Docker Services]] related: [[Infrastructure/Architecture]], [[Infrastructure/Automation/Cron Jobs]], [[Infrastructure/Services/Docker Services]]
--- ---
@@ -25,7 +25,7 @@ Running on `n8n-agent` at port `18808`. See [[Infrastructure/Services/Docker Ser
### Inbox Triage - wills_portal ### Inbox Triage - wills_portal
- **ID:** `9sFwRyUDz51csAp7` - **ID:** `9sFwRyUDz51csAp7`
- **Status:** ✅ Active - **Status:** ✅ Active
- **Trigger:** Schedule (every hour) - **Trigger:** Schedule (every 15 minutes)
- **Purpose:** Reads unseen IMAP emails from `wills_portal`, filters with static rules + local LLM triage (Qwen2.5-14B), tags by priority (P1/P2/P3), sends digest to Telegram, and writes individual email notes to Obsidian vault at `Notes/YYYY-MM-DD Subject.md` - **Purpose:** Reads unseen IMAP emails from `wills_portal`, filters with static rules + local LLM triage (Qwen2.5-14B), tags by priority (P1/P2/P3), sends digest to Telegram, and writes individual email notes to Obsidian vault at `Notes/YYYY-MM-DD Subject.md`
- **Flow:** Read IMAP → Static filter → LLM judge → Merge → Format & Send to Telegram + Write to Vault (parallel) - **Flow:** Read IMAP → Static filter → LLM judge → Merge → Format & Send to Telegram + Write to Vault (parallel)
- **Obsidian note frontmatter:** includes `from`, `priority` (high/medium/low), `signal_reason`, tags `[email, imap, priority-*]` - **Obsidian note frontmatter:** includes `from`, `priority` (high/medium/low), `signal_reason`, tags `[email, imap, priority-*]`

View File

@@ -48,12 +48,12 @@ All services run on the LAN host (`192.168.153.113`). See [[Infrastructure/Archi
- **Model:** `nomic-embed-text` (768 dims, loaded forever) - **Model:** `nomic-embed-text` (768 dims, loaded forever)
- **Used by:** OpenClaw memory search - **Used by:** OpenClaw memory search
### llama.cpp (Qwen2.5-14B) ### llama.cpp (Gemma 3 12B)
- **Port:** `18806` - **Port:** `18806`
- **Model:** `Qwen2.5-14B-Instruct-Q4_K_M.gguf` - **Model:** `gemma-3-12b-it-q4_0.gguf`
- **Role:** Private/offline LLM, tool-calling capable (verified with `--jinja`) - **Role:** Private/offline LLM, tool-calling capable (verified with `--jinja`)
- **Context:** 32768 tokens, max output 8192 - **Context:** 131072 tokens, max output 8192
- **LiteLLM alias:** `litellm/qwen2.5-14b-local` - **LiteLLM alias:** `litellm/gemma-3-12b-local`
### MinIO ### MinIO
- **Endpoint:** `192.168.153.253:9000` - **Endpoint:** `192.168.153.253:9000`

View File

@@ -0,0 +1,57 @@
---
title: OpenClaw Core Update
area: infrastructure
tags: [infrastructure, assistant, automation, health]
created: 2026-03-25
updated: 2026-03-25
status: active
related: [[Infrastructure/Architecture]]
---
# OpenClaw Core Update
Updated OpenClaw core to `2026.3.23-2`.
## Post-update verification
- `dist/control-ui/` assets are present in the installed package
- Discord message tool schema includes `Type.Optional(createDiscordMessageToolComponentsSchema())`
- gateway/runtime verified healthy after launcher repair
## Issue found
The global CLI launcher at `~/.local/bin/openclaw` was stale after the update and still pointed at a removed version-pinned pnpm path for `2026.3.22`. That broke commands like `openclaw status` with `Cannot find module ... /openclaw.mjs` even though the actual installed package was correct.
## Fix
Replaced `~/.local/bin/openclaw` with a stable wrapper that launches the symlinked package path at:
- `/home/openclaw/.local/share/pnpm/5/node_modules/openclaw/openclaw.mjs`
This avoids depending on a removed version-specific pnpm path.
## Additional work completed
- Removed stale `openclaw@2026.3.13` from the global store, freeing about 185 MB
- Updated the instance registry so `orb` and `sun` now show as stopped
- Backed up the post-upgrade config to the local mirror and MinIO
## Upgrade workarounds used
- pnpm virtual-store conflict: used `pnpm install` in the global store directory instead of `pnpm add -g`
- non-interactive SSH PATH issue: exported PATH manually before running OpenClaw commands
## Snapshot limitation
The current VM uses pflash-based firmware, which prevents libvirt internal snapshots. If pre-upgrade VM snapshots are wanted later, either:
- convert the NVRAM to qcow2, or
- use external file-based snapshots instead
## Outstanding watch item
No fix yet for advisory `GHSA-7xr2-q9vf-x4r5` (symlink traversal via `IDENTITY.md` appendFile). Keep watching future OpenClaw releases for a patch.
## Operational note
For future OpenClaw updates, verify `openclaw status` immediately after the update. If it fails with an older package path, inspect `which openclaw` and the launcher contents before assuming the package install itself is broken.