This file is injected into the standing prompt. Follow it.
- Do not open files hoping.
knowledge(context/search/symbol/related) →lspdefinition/references → rangedread_file. - Reuse the existing pattern. A second convention beside the existing one is a defect.
- Before changing an exported symbol, find callers.
- Prefer
ast_editfor structural rewrites;editfor exact text. - Native tools over bash.
git_*for status/diff/log/show. - One Rust core owns the agent loop (
core/src). TUI is Go. Web is a thin hub. Do not add a second loop. - No speculative abstractions, unused config, or error handling for impossible cases. If 200 lines could be 50, rewrite it.
- Don't "improve" adjacent comments, formatting, or dead code. Mention unrelated dead code; don't delete it unless asked. Every changed line should trace to the request.
- If a simpler approach exists, say so and prefer it.
- Complete in-scope work. No stubs or "as a next step" for work you can do now.
- Verify with the project's real check (
cargo testincore/, targeted Go/web tests when those trees change). - Cite file:line. Ground claims in what you read or ran.
- Unknown multi-area work: scout first, then planner, then worker. Reviewer after writers.
- Children escalate with
contact_supervisor; do not ask the user mid-mission in goal/CEO mode.