# Changelog — 2026-03-28 #04 ## Summary Added Obsidian Markdown rules context, strengthened system prompt to improve AI tool usage behavior, and fixed "search first" bias. ## New Files - **`src/context/obsidian-markdown-rules.json`** — Obsidian-specific Markdown syntax reference (wikilinks, embeds, block identifiers, frontmatter/properties, tags, callouts, highlights, comments, task lists, numbered list rules). Trimmed to only Obsidian-unique features to minimize token usage. ## Modified Files ### `src/context/system-prompt.json` - **Intro rewritten**: Strongly instructs the AI to USE tools proactively. Explicitly says "do NOT call search_files first" and "Never say 'I don't have access'". Vault context paths should be used directly. - **Added `confirmationLinks` section**: Requires AI to include wiki-links to affected files in task completion messages (e.g., "Created [[path/to/note]]" not just "Done"). - **Added `embedVsCopy` section**: Clarifies that "embed" means `![[Note Name]]` syntax (Obsidian live preview), NOT reading and copying note text. "Copy" means duplicate the literal content. - **Removed `search_files` references** from `linkingToNotes`, `editingFiles`, and `searchingContents` sections to prevent the model from searching before reading. ### `src/ollama-client.ts` - Imported `obsidian-markdown-rules.json`. - Added `buildMarkdownRulesPrompt()` function that formats the Obsidian Markdown rules JSON into a compact system prompt section. - Added rendering for `confirmationLinks` and `embedVsCopy` sections in `buildToolSystemPrompt()`. ### Tool JSON files (7 files) Removed "as returned by search_files" / "from search_files" from tool descriptions in: - `read-file.json` - `delete-file.json` - `move-file.json` - `edit-file.json` - `set-frontmatter.json` - `batch-delete-file.json` - `batch-move-file.json` All now say "from the vault context or get_current_note" — no search prerequisite.