From 237e9b4108e3adf21dc394675ae403e48238dc8a Mon Sep 17 00:00:00 2001 From: bigsmartben <30429295+bigsmartben@users.noreply.github.com> Date: Tue, 23 Jun 2026 13:08:13 +0800 Subject: [PATCH] Sync workflow preset community catalog --- presets/catalog.community.json | 10 +++++----- tests/test_presets.py | 24 ++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/presets/catalog.community.json b/presets/catalog.community.json index 7186873825..8b9ef372ba 100644 --- a/presets/catalog.community.json +++ b/presets/catalog.community.json @@ -651,11 +651,11 @@ "workflow-preset": { "name": "Workflow Preset", "id": "workflow-preset", - "version": "1.3.2", - "description": "Behavior-first specification, design artifacts, and agent-native handoff orchestration.", + "version": "1.3.9", + "description": "Behavior-first specification, design artifacts, and agent-native handoff orchestration", "author": "bigsmartben", "repository": "https://github.com/bigsmartben/spec-kit-workflow-preset", - "download_url": "https://github.com/bigsmartben/spec-kit-workflow-preset/releases/download/v1.3.2/spec-kit-workflow-preset-v1.3.2.zip", + "download_url": "https://github.com/bigsmartben/spec-kit-workflow-preset/releases/download/v1.3.9/spec-kit-workflow-preset-v1.3.9.zip", "homepage": "https://github.com/bigsmartben/spec-kit-workflow-preset", "documentation": "https://github.com/bigsmartben/spec-kit-workflow-preset/blob/main/README.md", "license": "MIT", @@ -663,7 +663,7 @@ "speckit_version": ">=0.8.10.dev0" }, "provides": { - "templates": 22, + "templates": 27, "commands": 8 }, "tags": [ @@ -674,7 +674,7 @@ "handoff" ], "created_at": "2026-05-27T00:00:00Z", - "updated_at": "2026-06-03T00:00:00Z" + "updated_at": "2026-06-23T00:00:00Z" } } } diff --git a/tests/test_presets.py b/tests/test_presets.py index b2ffa76463..1e5cfdd4c0 100644 --- a/tests/test_presets.py +++ b/tests/test_presets.py @@ -4434,6 +4434,30 @@ def test_workflow_preset_catalog_matches_manifest(self): assert entry["provides"]["templates"] == template_count assert entry["tags"] == manifest["tags"] + def test_workflow_preset_community_catalog_matches_manifest(self): + """workflow-preset community catalog entry matches the released preset.""" + catalog_path = Path(__file__).parent.parent / "presets" / "catalog.community.json" + manifest_path = Path(__file__).parent.parent / "presets" / "workflow-preset" / "preset.yml" + catalog = json.loads(catalog_path.read_text(encoding="utf-8")) + manifest = yaml.safe_load(manifest_path.read_text(encoding="utf-8")) + + entry = catalog["presets"]["workflow-preset"] + provided = manifest["provides"]["templates"] + command_count = sum(1 for item in provided if item["type"] == "command") + template_count = sum(1 for item in provided if item["type"] == "template") + version = manifest["preset"]["version"] + + assert entry["version"] == version + assert entry["repository"] == manifest["preset"]["repository"] + assert entry["download_url"] == ( + "https://github.com/bigsmartben/spec-kit-workflow-preset/" + f"releases/download/v{version}/spec-kit-workflow-preset-v{version}.zip" + ) + assert entry["requires"]["speckit_version"] == manifest["requires"]["speckit_version"] + assert entry["provides"]["commands"] == command_count + assert entry["provides"]["templates"] == template_count + assert entry["tags"] == manifest["tags"] + def test_workflow_preset_integration_release_payload_contract(self): """Workflow preset release dispatch contract stays aligned with preset repo.""" workflow_path = (