Skip to content

fix(organizer): preserve colliding media versions - #100

Open
samtruman wants to merge 1 commit into
moderniselife:developfrom
samtruman:fix/organizer-collision-safety
Open

samtruman wants to merge 1 commit into
moderniselife:developfrom
samtruman:fix/organizer-collision-safety

Conversation

@samtruman

Copy link
Copy Markdown
Contributor

Summary

Prevent Organizer filename collisions from replacing an existing symlink
when multiple media versions resolve to the same canonical destination.

When the canonical destination is already occupied by a different source,
Organizer now preserves the existing entry and selects a deterministic
collision-safe alternate path for the additional version.

What changed

  • preserve existing symlinks that point to another media source
  • generate deterministic alternate names for colliding versions
  • keep collision resolution stable regardless of discovery order
  • keep repeated Organizer runs idempotent
  • never replace or remove real files/directories during collision handling

Tests

Added dedicated Organizer collision tests covering:

  • multiple versions resolving to the same canonical destination
  • deterministic collision naming
  • discovery-order independence
  • idempotent repeated runs
  • protection of existing symlinks
  • protection of real files and directories

Validation:

  • Organizer tests: 14 pass
  • full suite: 88 pass
  • typecheck: pass
  • backend build: pass
  • git diff --check: pass

@samtruman
samtruman changed the base branch from main to develop September 29, 2026 21:24
@samtruman
samtruman force-pushed the fix/organizer-collision-safety branch from 2bcc665 to 611c6d1 Compare September 29, 2026 21:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant