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:
Ali jawwad
2026-07-01 02:21:08 +05:00
committed by GitHub
parent 2d56dfd73d
commit b4a0f8b564
2 changed files with 32 additions and 0 deletions

View File

@@ -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"]
}
}
}

View File

@@ -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}"