Files
tolaria/docs/adr/0076-note-retargeting-separates-type-and-folder-moves.md

2.6 KiB

type, id, title, status, date
type id title status date
ADR 0076 Note retargeting separates type changes from folder moves active 2026-04-22

Context

ADR-0025 made type: the canonical classification field, and ADR-0033 reopened subfolders as a valid way to organize files in the vault. Once Tolaria exposed both type sections and the folder tree in the sidebar, note reorganization had an unresolved ambiguity: does retargeting a note mean changing its semantic type, moving its file, or both?

Without an explicit model, drag-and-drop and command-palette flows would need to duplicate their own validation and persistence logic, and Tolaria could easily drift back toward the old type-folder coupling that ADR-0006 deliberately removed.

Decision

Tolaria treats note retargeting as one shared interaction model with two distinct mutation paths: types change metadata, folders change file paths.

  • Retargeting a note to a type updates only the note's type: frontmatter. The file stays where it is.
  • Retargeting a note to a folder preserves the current filename and type: value, and moves the file through the same crash-safe rename transaction pipeline used for backend rename commands.
  • Drag/drop targets and command-palette actions both route through the same frontend retargeting abstraction so validation, dialogs, collision handling, and success/error behavior stay consistent.

Options considered

  • Shared retargeting model with separate type-vs-folder semantics (chosen): preserves ADR-0025/ADR-0006's decoupling of type from path, lets folder moves reuse ADR-0075's crash-safe rename guarantees, and keeps multiple UI surfaces behaviorally aligned.
  • Treat folders as the source of truth for note type: simpler mental model for some vaults, but it reintroduces path-based type inference and makes type changes depend on file moves again.
  • Implement drag/drop and command-palette retargeting as separate flows: lower short-term coordination cost, but it duplicates mutation rules and makes consistency regressions likely.

Consequences

  • Type sections are semantic targets only; they must never imply a filesystem move.
  • Folder targets are physical move operations; they must preserve filename/title behavior, reject collisions, and rewrite path-based wikilinks through the shared rename pipeline.
  • Future note-retargeting surfaces should reuse the shared retargeting abstraction instead of introducing another mutation path.
  • Re-evaluate this ADR if Tolaria later supports bulk retargeting, folder rules that intentionally infer type, or another organization primitive that needs different semantics.