Remove legacy registry format internals from toolhive
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 2.2k
- Forks
- 300
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 184
Description
Summary
Phase 1 of removing the legacy registry format from toolhive: the parse-side internals and the registry_legacy_format error code. Phase 2 — aligning the registry API with the toolhive-registry-server v0.1 surface — is tracked separately in stacklok/toolhive#5279, which is what actually unblocks stacklok/toolhive-core#106.
The legacy ToolHive registry format is no longer produced anywhere after the 2026-05-13 cleanups in toolhive-catalog (#1215), toolhive-core (#105), and toolhive (#5273).
Scope
Parse-side internals:
pkg/registry/legacyhint/pkg/registry/convert.go(ConvertJSON)pkg/registry/errors.go(LegacyFormatError)pkg/registry/upstream_parser.go(errLegacyFormat+ sniffer fallback)pkg/registry/provider_remote.go(legacyhint.Looks()call)cmd/thv/app/registry_convert.go(thv registry convertCLI)
v1 API error code:
pkg/api/v1/registry.go—registry_legacy_formaterror code andLegacyFormatErrorpropagationpkg/api/v1/registry_test.go
Open questions
- Keep
legacyhint+ theregistry_legacy_formaterror code for one release as a friendly migration hint, or delete now? - Does
thv registry convertstay as a one-shot migration tool, or go with the rest?
Acceptance criteria
- No remaining imports of legacy-aware parse types in toolhive (modulo a deprecation window if we keep one).
- No emission of
registry_legacy_formatfrom any toolhive code path. -
task test,task test-e2e,task docsall green/regenerated.
References
- Phase 2: stacklok/toolhive#5279
- Landed: stacklok/toolhive-catalog#1215, stacklok/toolhive-core#105, stacklok/toolhive#5273
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the listed legacy parsing paths, including pkg/registry/legacyhint/, convert.go, errors.go, upstream_parser.go, provider_remote.go, cmd/thv/app/registry_convert.go, and pkg/api/v1/registry.go with its tests. Resolve whether to retain the migration hint and conversion CLI, then verify no legacy imports or registry_legacy_format emissions remain. Run task test, task test-e2e, and task docs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- api, backend, cli, tooling
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100