Skip to content

File Discovery Relinking #5

@djdarcy

Description

@djdarcy

Feature Description
Add a discovery and relinking system to Dazzlelink that enables intelligent matching of lost or moved symlink targets using metadata, fingerprints, or plugin outputs. If a .dazzlelink target is missing, Dazzlelink should attempt to locate an equivalent file elsewhere on the system.

Current vs. Proposed Behavior

  • Current: If a link target is missing, Dazzlelink can report it but takes no further action.
  • Proposed: When a link is broken, Dazzlelink would search known directories, drives, or network shares for a file matching the original based on stored metadata (filename, size, hash, etc.), and optionally offer to rebind the symlink; or, could store possible similar sources, while not fingering a definitive target.

Use Case

  • Recover from moved files across external drives or after reorganizing folders.
  • Help users automatically reconnect media projects, documents, or archives after a migration.
  • Support workflows involving deduplication or storage optimization (e.g., moving originals to cold storage).

Implementation Suggestions

  • Add a discover or enhanced check --discover subcommand.
  • Use metadata (e.g., name, size, plugin hashes) to search for best matches.
  • Support confidence scoring and preview UI (CLI or JSON output).
  • Allow rebinding a .dazzlelink file to a new path if a confident match is found.
  • Consider indexing previously scanned locations for faster searching.

Which Version(s)

  • CLI Version
  • Package Version
  • Both

Additional context
This feature would elevate Dazzlelink from a static backup format into a dynamic asset recovery system. When used with plugin fingerprinting, it could match similar-but-renamed files and offer powerful cross-drive recovery features.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions