-
Notifications
You must be signed in to change notification settings - Fork 0
taxis: smart path sanitization #160
Copy link
Copy link
Closed
Labels
enhancementNew feature or requestNew feature or requestrefactorCode quality and architecture improvementsCode quality and architecture improvementsstorage-canonicalCanonical filesystem storage layout workCanonical filesystem storage layout work
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestrefactorCode quality and architecture improvementsCode quality and architecture improvementsstorage-canonicalCanonical filesystem storage layout workCanonical filesystem storage layout work
Context
`crates/taxis/src/import/template.rs::sanitize_path_segment` currently replaces all of `/ \ : * ? " < > |` with ``. This produces ugly results: `Title: Subtitle` becomes `Title Subtitle`, double-spaced. The canonical layout uses smart per-character rules.
What
Replace the `UNSAFE` constant + the simple character substitution with a per-character smart rule table:
After substitution, collapse whitespace runs to a single space and trim. UTF-8 unicode is preserved (Björk,$uicideboy$ , ñ, é all keep their characters).
Files
Acceptance
Reference
Migration plan: 2026-04-09 chat session. Reference implementation in the migration scripts: `~/menos-ops/scratch/migrate-music-canonical.py` (`clean_name` function).