ADR-001 — Swift Native Engine

From the Burrow™ specification set.

ADR-001 — Swift Native Engine

Status

Accepted for initial implementation.

Context

Burrow™ needs macOS-specific filesystem behavior while retaining a modern web-style management UI.

Decision

Use Swift for the privileged/local engine and Next.js/TypeScript for the UI. Persist local state in SQLite.

Consequences

Positive

  • native macOS APIs and permission model;
  • strong fit for mounted volumes, iCloud metadata, Trash, filesystem events;
  • keeps filesystem privileges outside the browser UI;
  • UI remains familiar and productive to build.

Negative

  • two-language stack;
  • typed contract generation/maintenance required;
  • packaging requires integration work.

Alternatives

TypeScript/Node Engine

Simpler language stack, but less natural for long-term macOS-native filesystem integration and packaging.

Rust Engine

Excellent safety/performance and portability, but adds FFI/platform integration complexity without a current cross-platform requirement.

Revisit

Revisit only if Swift proves unable to meet scanning/hashing performance or packaging requirements after v0.1 profiling.