fix: keep registry sync from mutating builtins#835
Conversation
There was a problem hiding this comment.
Pull request overview
This PR fixes a registry sync bug where the default release-asset sync was mutating built-in/core manifests (originally surfaced by PR #190). The default sync now skips manifests whose type is builtin/core, and the core sync path detects and (with --fix) removes stray downloads entries that don't belong on built-in manifests.
Changes:
- Default
syncDefaultskips manifests with typebuiltinorcorevia newisCoreRegistryManifestTypehelper. syncCorePluginManifestsnow treats presence of adownloadskey as drift and emits a clarifying message;writeCoreManifestalready strips it on--fix.- Adds two regression tests covering both behaviors (default skip and downloads-only drift).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| cmd/wfctl/plugin_registry_sync.go | Skip builtin/core manifests in default release-asset sync; updated header comment numbering. |
| cmd/wfctl/plugin_registry_sync_core.go | Detect downloads field as drift on core manifests with a dedicated drift message. |
| cmd/wfctl/plugin_registry_sync_test.go | Adds regression tests for builtin skip and downloads-only drift detection/fix. |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
⏱ Benchmark Results✅ No significant performance regressions detected. benchstat comparison (baseline → PR)
|
Summary
Verification