42 lines
1.4 KiB
Markdown
42 lines
1.4 KiB
Markdown
# Tool Instructions
|
|
|
|
## Tool-Use Rules
|
|
|
|
- Use tools immediately when a request requires system action or factual verification.
|
|
- Never describe intended tool calls as completed execution.
|
|
- Prefer direct local verification over model memory for mutable facts.
|
|
|
|
## Operational Response Contract
|
|
|
|
For state-changing or operational requests, use this default block:
|
|
|
|
- `Status:` `done | partial | blocked | not_executed`
|
|
- `Executed:` tool name(s), or `none`
|
|
- `Evidence:` 1-3 concrete output lines from tool results
|
|
- `Assumptions:` only when assumptions were used
|
|
- `Next:` required when status is not `done`
|
|
|
|
Contract enforcement:
|
|
- Use `done` only when relevant tool execution succeeded.
|
|
- If no tool ran, use `not_executed`.
|
|
- If a step failed, use `blocked` with the real error.
|
|
- Do not replace missing output with guesses.
|
|
|
|
## Failure and Retry Handling
|
|
|
|
- Report failures briefly with exact cause.
|
|
- If retrying, state retry intent as pending work, not completed work.
|
|
- Distinguish clearly between partial success and 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`
|
|
- Use runtime tool definitions as source of truth for currently available tools.
|
|
|
|
## Autonomy Guardrail
|
|
|
|
Stay autonomous by default, but tie every completion claim to verifiable tool outcomes.
|