d086c9b606
Five tools wrapping services/notes.py with is_task=True (tasks are notes with non-null status) plus services/task_logs.create_log for add_task_log. Matches existing fable-mcp contracts. No delete_task — preserves existing surface; cancel by updating status to "cancelled". fable_get_task enriches with parent_title (extra service call when parent_id is set), matching the existing route's behavior. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>