Skip to content

feat(kathodos): artist alias symlink management (#162)#179

Merged
forkwright merged 1 commit intomainfrom
feat/kathodos-artist-aliases
Apr 13, 2026
Merged

feat(kathodos): artist alias symlink management (#162)#179
forkwright merged 1 commit intomainfrom
feat/kathodos-artist-aliases

Conversation

@forkwright
Copy link
Copy Markdown
Owner

Summary

  • Adds crates/kathodos/src/alias.rs with four public functions: create_artist_alias, remove_artist_alias, list_artist_aliases, and resolve_artist
  • Symlinks are relative (canonical name only), living alongside canonical directories under library_root
  • Alias names pass through the same sanitize_path_segment pipeline as canonical names
  • Creating an alias over an existing symlink updates the target; creating over a real directory is an error

Test plan

  • create_artist_alias — symlink exists and points to canonical
  • remove_artist_alias — symlink gone after removal
  • list_artist_aliases — returns all symlinks pointing to canonical, sorted; excludes unrelated aliases
  • resolve_artist canonical name — returns the path itself
  • resolve_artist alias — follows symlink, returns canonical path
  • Error: alias name conflicts with real directory
  • Update: creating alias over existing symlink updates target
  • Error: remove_artist_alias on non-symlink path
  • Error: create_artist_alias when canonical does not exist

All 77 cargo test -p kathodos tests pass. cargo check --workspace is clean.

Closes #162

Create/remove/list/resolve symlinks for artist name aliases.
Aliases live alongside canonical directories. Names sanitized
through the same pipeline as canonical paths.

Closes #162
@forkwright forkwright merged commit 9f2d2f7 into main Apr 13, 2026
2 of 3 checks passed
@forkwright forkwright deleted the feat/kathodos-artist-aliases branch April 13, 2026 07:02
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.

taxis: artist alias symlink support

1 participant