mirror of
https://github.com/github/spec-kit.git
synced 2026-07-03 12:28:06 +08:00
fix(integrations): add zed to discovery catalog.json (#3266)
zed is registered, registrar-aligned and registry-tested, but it was the only one of the 34 integrations absent from integrations/catalog.json, making it undiscoverable through the discovery manifest. Add the missing 'zed' entry (mirroring the sibling skills entries) and a registry<->catalog parity regression test so a future integration can't silently drift. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -299,6 +299,15 @@
|
||||
"author": "spec-kit-core",
|
||||
"repository": "https://github.com/github/spec-kit",
|
||||
"tags": ["cli", "skills", "z-ai"]
|
||||
},
|
||||
"zed": {
|
||||
"id": "zed",
|
||||
"name": "Zed",
|
||||
"version": "1.0.0",
|
||||
"description": "Zed editor skills-based integration",
|
||||
"author": "spec-kit-core",
|
||||
"repository": "https://github.com/github/spec-kit",
|
||||
"tags": ["ide", "skills"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -244,3 +244,26 @@ class TestMultiInstallSafeContracts:
|
||||
f"{initial} and {additional} are declared multi-install safe but both manage "
|
||||
f"these files: {sorted(initial_files & additional_files)}"
|
||||
)
|
||||
|
||||
|
||||
class TestCatalogParity:
|
||||
"""The discovery catalog must list every registered integration."""
|
||||
|
||||
def test_every_registered_integration_is_in_catalog(self):
|
||||
"""``integrations/catalog.json`` must cover every registry key.
|
||||
|
||||
The catalog is the discovery manifest; an integration that is
|
||||
registered, registrar-aligned and registry-tested but missing from
|
||||
the catalog is undiscoverable through it. ``generic`` is exempt —
|
||||
it is the no-fixed-directory fallback, not a catalogued agent.
|
||||
"""
|
||||
from pathlib import Path
|
||||
|
||||
repo_root = Path(__file__).resolve().parents[2]
|
||||
catalog = json.loads(
|
||||
(repo_root / "integrations" / "catalog.json").read_text(encoding="utf-8")
|
||||
)
|
||||
catalogued = set(catalog["integrations"])
|
||||
registered = set(INTEGRATION_REGISTRY) - {"generic"}
|
||||
missing = sorted(registered - catalogued)
|
||||
assert not missing, f"integrations missing from catalog.json: {missing}"
|
||||
|
||||
Reference in New Issue
Block a user