# 2026-03-10

## Search/fetch setup
- Enabled native `web_fetch` in OpenClaw config.
- Confirmed local SearXNG at `http://192.168.153.113:18803` is working.
- Confirmed local Brave MCP endpoint at `http://192.168.153.113:18802/mcp` is reachable via `mcporter` as tool `brave_web_search`.
- Added local skill `skills/brave-mcp-search` for direct Brave MCP-backed search.
- Added local skill `skills/local-meta-search` to route search as:
  - SearXNG first
  - Brave MCP fallback on failure or weak/empty results
- Search routing preference documented in `TOOLS.md`.

## Execution lesson
- I missed that Telegram was already set up and incorrectly asked setup-style follow-up questions instead of checking current state first.
- New rule: before suggesting setup/re-setup, first inspect current config, memory, and recent evidence; if already configured, treat it as ops/validation/debugging.

Source: workspace changes + gateway config patch on 2026-03-10.

## Brave Search API
- Added Brave Search API key to OpenClaw config under `tools.web.search.apiKey` and set provider to `brave`.
- Native `web_search` now works.
- Important constraint: Brave free plan hit `rate_limit: 1`; searches should be serialized instead of sent in parallel bursts.
- Rate-limit note was added to `TOOLS.md` and committed.

## Telegram validation
- Telegram channel was already configured and enabled; validated instead of re-setting it up.
- Confirmed Telegram outbound send works to allowed user id `8367012007`.
- Confirmed Telegram inbound DM works by locating exact inbound token `zap-telegram-inbound-verify-2109` in session log `/home/openclaw/.openclaw/agents/main/sessions/7d9bf35f-81ad-45ce-b2ca-369822459acc.jsonl`.
- Important routing behavior: with `session.dmScope = "per-channel-peer"`, Telegram DMs land in a separate main session from the TUI/webchat session.
- Added Telegram/TUI session-routing note to `TOOLS.md` and committed.

## Session awareness rule
- Added a new `AGENTS.md` startup step: inspect trusted inbound metadata first and internally classify the session with a short label like `direct-webchat`, `direct-telegram`, `group-telegram`, etc.
- Purpose: improve privacy, memory loading, and reply behavior by making session type explicit at session start.
- Committed as `docs(agents): add session classification step`.

## Daily brief / calendar direction
- Chose `daily-brief` as the next capability to build out, starting with a calendar-first approach.
- Checked workspace, memory, and local docs: no existing calendar integration is configured yet.
- Candidate calendar skills found via ClawHub include `gcalcli-calendar`, `gog-calendar`, `caldav-calendar`, `icloud-caldav`, and `macos-calendar`.
- Next decision needed from Will: which calendar backend they actually use (Google Calendar vs CalDAV/iCloud/other).
