summaryrefslogtreecommitdiffhomepage
path: root/.rules/changelog/2026-03/28/04.md
blob: 075e6ebfaaf3357f44570dd29b88380b31dbaf25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 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.