vault trash empty

Entfernt Einträge endgültig aus dem Trash. Bei Notizen trägt Apparat die NanoID zusätzlich in die Tombstone-Liste ein — die ID wird damit niemals wieder vergeben, auch wenn die Datei komplett aus dem Vault verschwindet. Dateien (Bilder, PDFs …) werden samt ihrer .sha256-Prüfsumme entfernt, aber ohne Tombstone: Datei-NanoIDs werden beim Import zufällig vergeben und nie erneut gewählt, es gibt also keine Verwechslungs­gefahr, vor der ein Tombstone schützen müsste.

Häufigster Fall: alles leeren

apparat vault trash empty

Apparat zählt, wie viele Einträge betroffen wären, und fragt nach Bestätigung:

About to permanently delete 3 trash entries from vault "recherche"
  → removes file(s) from .apparat/trash/
  → records tombstones in .apparat/tombstones.yaml
  → the NanoId(s) will never be re-used.
Continue? [y/N]

Mit yes werden die Einträge in einem atomaren Schritt als Tombstones nachgetragen, anschließend werden die Dateien aus .apparat/trash/ entfernt. Danach:

Removed 3 trash entries from vault "recherche"; tombstones recorded.
  - V1StGXRa  (deleted 2026-04-20)
  - Bx7tYu3v  (deleted 2026-04-25)
  - Cc1DdFfG  (deleted 2026-04-28)

Mit no (oder Enter, Default ist N) passiert nichts; der Trash bleibt unverändert.

Einzelnen Eintrag entfernen

apparat vault trash empty V1StGXRa

Entfernt nur den Eintrag mit dieser NanoID, die übrigen Trash-Dateien bleiben liegen. Der Prompt zeigt dann Titel und ID des betroffenen Eintrags statt einer Anzahl. Gehört die NanoID zu einer Datei, weist die Rückfrage darauf hin, dass kein Tombstone geschrieben wird:

About to permanently delete asset "2026-04-19--budget-chart--As3Df9Gh.png" (id: As3Df9Gh) from vault "recherche"
  → removes the file and its .sha256 sidecar from .apparat/trash/
  → no tombstone is written — asset NanoIds are not reserved.

Ohne Rückfrage: --force

apparat vault trash empty --force
apparat vault trash empty V1StGXRa --force

Überspringt den Bestätigungs-Prompt. Praktisch für Skripte oder Aufräum-Aufgaben — bewusst explizit einzutippen, damit Tipper nicht versehentlich den gesamten Trash leeren.

Nicht-interaktiver Modus

Im --no-interaction-Modus (CI-Pipelines, Cron-Jobs) verlangt vault trash empty zwingend --force. Ohne bricht das Kommando ab:

apparat vault trash empty --no-interaction
# Refusing to empty trash without --force in non-interactive mode.
# Exit code: 1

apparat vault trash empty --no-interaction --force
# → funktioniert

Diese Doppelsicherung soll verhindern, dass ein schief konfiguriertes Skript unbeabsichtigt Einträge endgültig entsorgt — analog zu entity delete.

Vault-Auswahl

Wie bei allen Kommandos in diesem Namespace: ohne --vault greift die übliche Auto-Lokalisierung (CWD-Erkennung, einziger registrierter Vault, interaktive Auswahl). Explizit:

apparat vault trash empty --vault=arbeit
apparat vault trash empty V1StGXRa --vault=/home/max/vaults/recherche

Was nach dem Leeren auf der Platte liegt

Vorher:

vaults/recherche/
└── .apparat/
    └── trash/
        ├── 2026-04-19--maria-beispiel--V1StGXRa.md
        └── 2026-02-14--max-mustermann--Bx7tYu3v.md

Nachher:

vaults/recherche/
└── .apparat/
    ├── trash/
    │   └── (leer)
    └── tombstones.yaml

Inhalt von .apparat/tombstones.yaml:

tombstones:
  - id: V1StGXRa
    deleted: '2026-04-20'
  - id: Bx7tYu3v
    deleted: '2026-04-25'

Begleit­wirkungen

Endgültig entsorgte Notizen verschwinden vollständig aus dem Vault, ihre NanoID bleibt per Tombstone für immer belegt, damit alte Verweise niemals versehentlich auf eine andere Notiz zeigen. Binärdateien unter assets/, auf die eine gelöschte Notiz verwiesen hat, bleiben zunächst liegen — sie werden erst dann zu „verwaisten Dateien", die du im Aufräumen-Bereich oder per vault trash empty endgültig entfernst. Eine endgültig entfernte Datei lässt im Gegensatz zur Notiz keinen Tombstone zurück.

Fehler