Music Library
Multidimensional music library catalog built WITHOUT touching the
filesystem: the inventory and raw tags come from an existing gonic scan
index (gonic.db, read over SSH with sqlite3 -json -readonly), so no
array disk is ever woken by a directory traversal.
On top of the raw rows the scan method builds a star-schema cube:
- facts — one
albumresource per album directory (album → disc → track nesting, disc subdirs likeCD1/collapsed into their parent album) - dimensions — one
artistresource per artist (name variants, album refs, genre/format/year span) plus rollupdimensionresources for genres, years/decades, formats, and quality buckets (lossless / lossy-high / lossy-mid / lossy-low) - cross-cuts — an
issuesresource (untagged tracks, dirname-only albums, encoding fixes with before/after, DOS-mangled 8.3 names) and alibrarysummary with totals and source breakdown
Every tag string passes through encoding recovery: legacy single-byte tags decoded as latin1 (cp1251 / koi8-r / cp866 / windows-125x / CJK mojibake such as "Êëàóäèî Ìîíòåâåðäè") are detected with jschardet and re-decoded; double-encoded UTF-8 is unwrapped. Tracks with missing tags fall back to directory/filename naming patterns ("1983. Artist - Album", "Artist - Album (Year) [FLAC]", "NN - Title", disc subdirs, bracketed artists, catalog-number prefixes).
The probe method deep-probes one file with ffprobe inside a docker
container that has the music share mounted (all formats ffmpeg knows:
mp3, flac, opus, m4a, ogg, ape, wma, wav, …), merging format-level and
stream-level tags and reporting the encoding-fix trace — for debugging
individual files.
Release 2026.07.16.2 — align model versions with manifests
Maintenance release across the @magistr extensions. For most packages this
carries no functional change: the only edit is the model's version: field,
brought back in line with its manifest version so the published model type
version and the package version no longer drift.
Functional changes in this release are limited to:
anime-cron: normalizeTitle now strips a ": subtitle" suffix and a trailing parenthesized year before comparison, fixing dedup false-misses where the torrent title carries a subtitle or year that the AniList romaji does not.
arckit: first publish. Standalone ArcKit port — a 12-phase architecture governance state machine with 65 bundled templates, driven by a bundled skill.
Also tracks three extensions (kaiten, observability-agent, music-library) that previously existed only as untracked working-tree directories, recovered from stashes.
Global Arguments
| Argument | Type | Description |
|---|---|---|
| host | string | Host with the music share (unraid) |
| sshUser | string | SSH user |
Resources
Triage of the latest playback-verification run: unreadable files, truncation split by cause, systematically damaged albums (with healthy-duplicate hints from the dupes resource), lossless corruption, and isolated glitches.
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License declared1/1earned
- Verified public repository2/2earned