Keep package catalog in sync with registered loaders#86
Merged
Conversation
Mark Kokoro, Higgs TTS, and Parakeet packages as UnsupportedSource while their loaders stay commented out of registry.cpp, set VieNeu family explicitly, and add maintainer docs plus a CI sync check so installable catalog entries cannot drift from --list-loaders again.
Re-verify parked families have no in-tree loader sources, expand the sync script with parked aliases, README table enforcement, bundled-loader exceptions, and self-tests, and fill missing README package rows so CI keeps catalog, registry, and docs aligned.
Leave concrete catalog/loader mismatch cases in the PR description; keep in-repo sync tooling and maintainer docs generic aside from required config maps.
Owner
|
Thank you @lapy! This is a thoughtful improvement. Somehow, the current sync feels brittle, but it’s my fault because of the framework’s current design. In the long term, I do want to get rid of Python and use json to define downloadable model (and even model registration) similar to the current model spec system (#53 (comment)). Further, there could be a single source of truth for model metadata, which would make sync easier. As we move toward GGUF, model downloading and management can become much simpler, and the Python manager will eventually become a legacy tool. Happy to hear your thoughts on this direction! |
4 tasks
dleiferives
pushed a commit
to dleiferives/audio.cpp
that referenced
this pull request
Jul 25, 2026
Keep package catalog in sync with registered loaders
Anc813
pushed a commit
to Anc813/audio.cpp
that referenced
this pull request
Jul 25, 2026
Keep package catalog in sync with registered loaders
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
After the machine-readable catalog contract (#74), integrators treat
model_manager list --jsonfamilyandaudiocpp_cli --list-loadersas authoritative. Several packages were still advertised as installable even though their loaders are not in this release tree.This PR aims to bridge the gap but is really intended as a suggestion to improve developer experience and software contracts. It would be nice to have a conversation about this.
Mismatch examples (this tree)
registry.cppsrc//include/kokoro_ttstests/kokoro_tts/*)UnsupportedSourcehiggs_tts/ cataloghiggs_audio_ttshiggs_tts)UnsupportedSourceparakeet_tdtUnsupportedSourcevietneu_ttsfamily="vietneu_tts"silero_vadChanges
UnsupportedSourcefamilywhere id inference does not match the loader idtools/check_loader_catalog_sync.py(registry ↔ catalog ↔ README; CI on Linux/macOS/Windows)In-repo docs and the sync script stay generic; concrete mismatch cases are listed here only.
Maintainer rule (suggestion)
Never leave a live
SnapshotSourcefor a loader that is commented out ofregistry.cpp. Either ship the loader sources + register them, or mark the packageUnsupportedSourceand README Unavailable.When adding a family: one family string everywhere (loader,
make_*_loader,model_specs/,ModelPackage.family, README).Test plan
python3 tools/check_loader_catalog_sync.py --self-testpython3 tools/check_loader_catalog_sync.pyinstallable: falseviapackage_payload