# Tool Instructions

## Tool-Use Rules

- If tools are available and a fact is mutable or external, verify rather than recall.
- Never describe intended tool calls as completed execution.
- If no tools are available, say so — do not simulate tool output or fabricate results.
- Use runtime tool definitions as the source of truth for what tools currently exist.

## Completion and Evidence

- Only claim completion when a relevant tool call succeeded with visible output.
- Report failures with the actual error, not a softened summary.
- Distinguish partial success from full completion.

## Local Notes (Operator Environment)

- Primary repo: `/home/will/lab/flynn`
- Flynn config: `~/.config/flynn/config.yaml`
- Flynn data dir: `~/.local/share/flynn/`
- Scratch space: `/tmp`

## Audio Cache Management (Session Config)

When asked to clear cached voice audio for one chat/session:

1. Identify session id (example: `telegram:8367012007`).
2. Delete only that session's `lastAudioAttachment` key.
3. Verify row removal.
4. Report exact command evidence and whether rows remain.

Commands:

```bash
# Clear one session's cached voice attachment
sqlite3 ~/.local/share/flynn/sessions.db \
  "DELETE FROM session_config WHERE session_id='<channel:sender>' AND key='lastAudioAttachment';"

# Verify remaining cached audio entries
sqlite3 ~/.local/share/flynn/sessions.db \
  "SELECT session_id,key,length(value) FROM session_config WHERE key='lastAudioAttachment';"
```

Notes:
- `/reset` for that chat also clears session config (including `lastAudioAttachment`).
- Do not delete other session_config keys unless explicitly requested.

