generated from coulomb/repo-seed
feat(WP-0011): IHF Phase 10 — Hub Registry and Widget Marketplace
Some checks failed
Test / test (push) Has been cancelled
Some checks failed
Test / test (push) Has been cancelled
Delivers the hub registry discovery UI, widget pattern library, governance template library, and marketplace dashboard. Key changes: - Schema: widget_patterns (widget_type FK to registry), widget_pattern_versions, pattern_adoptions, governance_templates (categories JSONB, validated at controller), governance_template_clones — all GAAF-compliant, no bare TEXT type discriminators - Migration: 1743897600-ihf-phase10-hub-registry.sql - HubRegistry controller + views: browsable view over hub_capability_manifests, hub_health_snapshots, hubs with per-hub GAAF compliance indicator - WidgetPatterns controller + views: publish, version, adopt; adoption triggers manifest amendment draft when new types are introduced - GovernanceTemplates controller + views: CRUD, clone with category validation against annotation_category_registry - MarketplaceDashboard controller + view: full-text search, widget-type filter, sort, trending panel, autoRefresh - API v2: /api/v2/hub-registry, /api/v2/widget-patterns (+ adopt endpoint) - OpenAPI spec updated with Phase 10 paths - GAAF scorecard: Customization 2.5 → 3.2; overall 3.41 → 3.56 (Strong) - CLAUDE.md: Phase 10 complete; active workplan → Phase 11 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
44
Web/Types.hs
44
Web/Types.hs
@@ -341,6 +341,50 @@ data ApiV2SdkController
|
||||
| ApiV2SdkPyAction
|
||||
deriving (Eq, Show, Data)
|
||||
|
||||
-- Phase 10 — Hub Registry and Widget Marketplace (IHUB-WP-0011)
|
||||
|
||||
data HubRegistryController
|
||||
= HubRegistryAction
|
||||
| ShowHubRegistryAction { hubId :: !(Id Hub) }
|
||||
deriving (Eq, Show, Data)
|
||||
|
||||
data WidgetPatternsController
|
||||
= WidgetPatternsAction
|
||||
| ShowWidgetPatternAction { widgetPatternId :: !(Id WidgetPattern) }
|
||||
| NewWidgetPatternAction
|
||||
| CreateWidgetPatternAction
|
||||
| EditWidgetPatternAction { widgetPatternId :: !(Id WidgetPattern) }
|
||||
| UpdateWidgetPatternAction { widgetPatternId :: !(Id WidgetPattern) }
|
||||
| PublishWidgetPatternAction { widgetPatternId :: !(Id WidgetPattern) }
|
||||
| PublishNewVersionAction { widgetPatternId :: !(Id WidgetPattern) }
|
||||
| AdoptPatternAction { widgetPatternId :: !(Id WidgetPattern) }
|
||||
deriving (Eq, Show, Data)
|
||||
|
||||
data GovernanceTemplatesController
|
||||
= GovernanceTemplatesAction
|
||||
| ShowGovernanceTemplateAction { governanceTemplateId :: !(Id GovernanceTemplate) }
|
||||
| NewGovernanceTemplateAction
|
||||
| CreateGovernanceTemplateAction
|
||||
| CloneGovernanceTemplateAction { governanceTemplateId :: !(Id GovernanceTemplate) }
|
||||
deriving (Eq, Show, Data)
|
||||
|
||||
data MarketplaceDashboardController
|
||||
= MarketplaceDashboardAction
|
||||
deriving (Eq, Show, Data)
|
||||
|
||||
-- /api/v2/ Phase 10 REST controllers
|
||||
|
||||
data ApiV2HubRegistryController
|
||||
= ApiV2IndexHubRegistryAction
|
||||
| ApiV2ShowHubRegistryAction { hubId :: !(Id Hub) }
|
||||
deriving (Eq, Show, Data)
|
||||
|
||||
data ApiV2WidgetPatternsController
|
||||
= ApiV2IndexWidgetPatternsAction
|
||||
| ApiV2ShowWidgetPatternAction { widgetPatternId :: !(Id WidgetPattern) }
|
||||
| ApiV2AdoptWidgetPatternAction { widgetPatternId :: !(Id WidgetPattern) }
|
||||
deriving (Eq, Show, Data)
|
||||
|
||||
data SessionsController
|
||||
= NewSessionAction
|
||||
| CreateSessionAction
|
||||
|
||||
Reference in New Issue
Block a user