docs(zap): update routing policy and OpenClaw notes
This commit is contained in:
@@ -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",
|
||||||
|
|||||||
@@ -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 |
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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-*]`
|
||||||
|
|||||||
@@ -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`
|
||||||
|
|||||||
@@ -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.
|
||||||
Reference in New Issue
Block a user