Docs Write safety

Write safety

Intabula's agent has no shell. It changes your vault through a fixed set of operations: edits that change only the affected bytes, renames that rewrite every link in one journaled operation, and an activity feed that logs each change.

Edits splice into the file

Changing one field with update_record touches only that segment of the file. Comments, key order, blank lines, and line endings survive byte-for-byte. Most tools round-trip the whole file through a parser, which quietly reformats it. Intabula does not.

Renames are atomic and journaled

rename_record rewrites every wikilink across the vault that points at the record, in one operation. The work is written to a journal first. If the operation is interrupted mid-way by a crash or a force-quit, it is recovered cleanly on the next launch, so the vault is never left half-migrated.

You rename a record yourself from its Rename dialog, which edits the name and the slug together. The slug follows the name as you type, and you can edit it separately. Before you confirm, the dialog shows how many other files link to the record; every [[link]] in them is rewritten in the same atomic operation. If the record owns a folder, the records in it move along. To change only the display name, uncheck "Change the slug to match"; the slug and all existing links then stay as they are.

Approval mode shows the real diff

With approval mode on, each agent write pauses for your review. The diff comes from dry-running the actual write without applying it, so what you approve is exactly what lands on disk. Approval mode is off by default, since approving every write gets tedious in a long session. Turn it on when you want to see each change before it happens.

Everything is logged

Every agent mutation lands in the activity feed with a before-and-after snapshot of the file, viewable as a diff. Your vault is also plain files, so you can back it up, sync it, or put it under Git. With the feed and those copies, you can see what changed and get back to any earlier state of a note.

Deletes are permanent. delete_record and deleting from the app remove the file; there is no trash. The activity feed keeps the earlier text of the last 300 agent changes for viewing, but it has no restore button. To get a deleted note back, use Time Machine, iCloud Drive's Recently Deleted folder, or Git.

Problems are flagged after the write

Schema violations and broken links do not block a write. The write goes through, and the problem appears in the needs-attention inbox. See Data model.