--- name: delete_obsidian_note kind: function lang: py domain: obsidian version: "1.0.0" purity: impure signature: "def delete_obsidian_note(path: str) -> bool" description: "Borra un archivo de nota Markdown de Obsidian del disco. Por seguridad solo borra un archivo concreto, nunca un directorio. No depende de la app GUI de Obsidian: opera directamente sobre el archivo .md plano." tags: [obsidian, markdown, delete, write, notes] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "error_go_core" imports: ["os"] params: - name: path desc: "ruta al archivo .md de la nota a borrar" output: "True (bool) si el archivo fue borrado correctamente" tested: true tests: - "borra archivo existente y devuelve true" - "archivo inexistente lanza filenotfounderror" - "directorio lanza isadirectoryerror" - "no borra otros archivos" test_file_path: "python/functions/obsidian/delete_obsidian_note_test.py" file_path: "python/functions/obsidian/delete_obsidian_note.py" --- ## Ejemplo ```python import sys, os sys.path.insert(0, os.path.join("python", "functions")) from obsidian import delete_obsidian_note ok = delete_obsidian_note("/home/me/vault/Inbox/Idea descartada.md") print(ok) # True ``` ## Cuando usarla Cuando quieras eliminar una nota concreta de un vault de Obsidian desde codigo o un agente: limpiar el Inbox, borrar notas generadas temporalmente, o eliminar una nota tras consolidar su contenido en otra. Para varias notas, llama una vez por archivo (no acepta directorios). ## Gotchas - **Borra del disco** (I/O impuro) y de forma **irreversible**: no manda a papelera, hace `os.remove`. El archivo no se puede recuperar salvo backup del vault. - **Solo archivos, nunca directorios**: lanza `IsADirectoryError` si el path apunta a una carpeta, para evitar borrados masivos accidentales. - **No respeta locks de la app GUI**: si Obsidian tiene la nota abierta, borrarla en disco dejara la pestana huerfana en el editor; al guardar desde Obsidian podria recrearse el archivo. - Lanza `FileNotFoundError` si el archivo no existe. - No borra archivos asociados (adjuntos, attachments referenciados): solo el `.md` indicado.