Initial commit of Descrybe v2 without local scratch artifacts.
Drop one-shot tmp/axe scripts and agent i18n scratch so the Gitea tree is deployable.
This commit is contained in:
@@ -0,0 +1,771 @@
|
||||
{
|
||||
"agent": "03/20",
|
||||
"source": [
|
||||
"docs/plan-permissions/01-feature-keys.json",
|
||||
"docs/plan-permissions/06-defaults-matrix.json",
|
||||
"docs/plan-permissions/03-permission-contract.md",
|
||||
"apps/web/src/lib/components/Nav.svelte",
|
||||
"apps/web/src/lib/components/AdminNav.svelte",
|
||||
"docs/migrate-from-descrybe-new.md",
|
||||
"docs/demo-user.md"
|
||||
],
|
||||
"assumptions": [
|
||||
"legacy_user / standard_user are product-cohort roles derived from plan name patterns (and/or plans.cohort), not company membership admin|member",
|
||||
"A1 company/plan example maps to legacy profile (including Local Demo Co when it is the renamed A1 tenant)",
|
||||
"effective(feature) = role_allows AND plan_allows AND global gates",
|
||||
"standard_user matrix is a ceiling (all registry keys true); Free/Starter denials still apply via 06-defaults-matrix",
|
||||
"support_staff has no dedicated DB flag yet — design-only until schema lands",
|
||||
"Platform /admin/* is orthogonal to dashboard feature_keys (is_platform_admin / staff)"
|
||||
],
|
||||
"legacy_nav_allowlist": [
|
||||
{ "label": "Dashboard", "route": "/dashboard", "feature": "dashboard.overview" },
|
||||
{ "label": "Products", "route": "/products", "feature": "catalog.products" },
|
||||
{ "label": "Feeds", "route": "/feeds", "feature": "feeds.list" },
|
||||
{ "label": "Export Feeds", "route": "/export-feeds", "feature": "feeds.export_feeds" },
|
||||
{ "label": "Categories", "route": "/categories", "feature": "catalog.categories" },
|
||||
{ "label": "Attributes", "route": "/attributes", "feature": "catalog.attributes" },
|
||||
{ "label": "Standard Fields", "route": "/standard-fields", "feature": "catalog.standard_fields" },
|
||||
{ "label": "Usage & Billing", "route": "/billing", "feature": "billing.overview" },
|
||||
{ "label": "Settings", "route": "/settings", "feature": "settings.profile" }
|
||||
],
|
||||
"legacy_nav_excluded": [
|
||||
"processing.monitor",
|
||||
"stores.hub",
|
||||
"stores.woocommerce",
|
||||
"stores.shopify",
|
||||
"marketing.campaigns",
|
||||
"marketing.content_calendar",
|
||||
"marketing.brand_kit",
|
||||
"marketing.seo",
|
||||
"marketing.reviews",
|
||||
"integrations.ai",
|
||||
"integrations.email",
|
||||
"support.center",
|
||||
"catalog.structured_descriptions",
|
||||
"catalog.vector_categories"
|
||||
],
|
||||
"plan_name_patterns": [
|
||||
{
|
||||
"profile": "legacy",
|
||||
"match": "exact",
|
||||
"patterns": ["legacy"]
|
||||
},
|
||||
{
|
||||
"profile": "legacy",
|
||||
"match": "regex",
|
||||
"patterns": ["(?i)^a1(\\b|[\\s_-])", "(?i)a1\\s*slovenija"],
|
||||
"examples": ["A1", "A1 Slovenija", "A1-Legacy"]
|
||||
},
|
||||
{
|
||||
"profile": "legacy",
|
||||
"match": "company_example",
|
||||
"patterns": ["A1 Slovenija"],
|
||||
"legacy_company_id": "97e1a309-3d23-4aa2-b518-8e8d7afdfec7",
|
||||
"note": "Demo may rename display to Local Demo Co; cohort remains legacy when flagged or plan name matches"
|
||||
},
|
||||
{
|
||||
"profile": "standard",
|
||||
"match": "exact",
|
||||
"patterns": ["free", "starter", "growth", "business", "enterprise"],
|
||||
"ladder_ref": "docs/plan-permissions/06-defaults-matrix.json"
|
||||
},
|
||||
{
|
||||
"profile": "custom",
|
||||
"match": "is_custom_true_non_legacy",
|
||||
"patterns": [],
|
||||
"note": "is_custom=true and name does not match legacy patterns → all-on custom defaults"
|
||||
}
|
||||
],
|
||||
"roles": {
|
||||
"legacy_user": {
|
||||
"description": "End-user on legacy-pattern company/plan; nav = legacy allow-list only",
|
||||
"plan_profile": "legacy",
|
||||
"platform_admin": false,
|
||||
"company_membership": ["admin", "member"],
|
||||
"features": {
|
||||
"shell.navigation": true,
|
||||
"shell.command_palette": true,
|
||||
"shell.company_switcher": true,
|
||||
"shell.support_notifications": false,
|
||||
"shell.tutorial": true,
|
||||
"shell.account_menu": true,
|
||||
"shell.billing_recovery_banner": true,
|
||||
"dashboard.overview": true,
|
||||
"dashboard.stats": true,
|
||||
"dashboard.quick_links": true,
|
||||
"dashboard.recent_jobs": true,
|
||||
"dashboard.news_feed": true,
|
||||
"dashboard.activation_checklist": true,
|
||||
"dashboard.migrated_checklist": true,
|
||||
"dashboard.etl_gaps": true,
|
||||
"dashboard.store_reconnect": false,
|
||||
"dashboard.upgrade_banners": true,
|
||||
"catalog.products": true,
|
||||
"catalog.products.tab_processed": true,
|
||||
"catalog.products.tab_needs_review": true,
|
||||
"catalog.products.tab_error": true,
|
||||
"catalog.products.tab_processing": true,
|
||||
"catalog.products.tab_unprocessed": true,
|
||||
"catalog.products.process_categories": true,
|
||||
"catalog.products.process_attributes": true,
|
||||
"catalog.products.process_ai_titles": true,
|
||||
"catalog.products.process_ai_descriptions": true,
|
||||
"catalog.products.enrichment_review": true,
|
||||
"catalog.products.export_selection": true,
|
||||
"catalog.products.upgrade_prompt": true,
|
||||
"catalog.categories": true,
|
||||
"catalog.categories.title_formula": true,
|
||||
"catalog.categories.description_formula": true,
|
||||
"catalog.attributes": true,
|
||||
"catalog.attributes.bulk_import": true,
|
||||
"catalog.standard_fields": true,
|
||||
"catalog.standard_fields.groups": true,
|
||||
"catalog.structured_descriptions": false,
|
||||
"catalog.vector_categories": false,
|
||||
"feeds.list": true,
|
||||
"feeds.add_url": true,
|
||||
"feeds.add_csv": true,
|
||||
"feeds.sync": true,
|
||||
"feeds.mapping": true,
|
||||
"feeds.mapping.select_item": true,
|
||||
"feeds.mapping.map_fields": true,
|
||||
"feeds.export_feeds": true,
|
||||
"feeds.export_feeds.create": true,
|
||||
"feeds.export_feeds.generate": true,
|
||||
"feeds.uploads": true,
|
||||
"stores.hub": false,
|
||||
"stores.woocommerce": false,
|
||||
"stores.woocommerce.connection": false,
|
||||
"stores.woocommerce.categories": false,
|
||||
"stores.woocommerce.attributes": false,
|
||||
"stores.woocommerce.orders": false,
|
||||
"stores.woocommerce.reviews": false,
|
||||
"stores.woocommerce.settings": false,
|
||||
"stores.shopify": false,
|
||||
"stores.shopify.connection": false,
|
||||
"stores.shopify.orders": false,
|
||||
"stores.shopify.settings": false,
|
||||
"processing.monitor": false,
|
||||
"marketing.campaigns": false,
|
||||
"marketing.campaigns.create": false,
|
||||
"marketing.campaigns.generate_ai": false,
|
||||
"marketing.campaigns.send": false,
|
||||
"marketing.content_calendar": false,
|
||||
"marketing.brand_kit": false,
|
||||
"marketing.brand_ai_apply": false,
|
||||
"marketing.seo": false,
|
||||
"marketing.seo.template_fill": false,
|
||||
"marketing.seo.ai_rewrite": false,
|
||||
"marketing.reviews": false,
|
||||
"integrations.ai": false,
|
||||
"integrations.ai.byok": false,
|
||||
"integrations.email": false,
|
||||
"integrations.email.test": false,
|
||||
"integrations.email.blast": false,
|
||||
"billing.overview": true,
|
||||
"billing.customer_portal": true,
|
||||
"billing.quick_upgrade": true,
|
||||
"billing.plans_compare": true,
|
||||
"billing.checkout": true,
|
||||
"settings.profile": true,
|
||||
"settings.company": true,
|
||||
"settings.alerts": true,
|
||||
"settings.api_keys": true,
|
||||
"settings.team": true,
|
||||
"settings.team_invite": true,
|
||||
"support.center": false,
|
||||
"support.ticket_create": false,
|
||||
"support.ticket_thread": false,
|
||||
"capability.sku_cap": true,
|
||||
"capability.ai_credits": true,
|
||||
"capability.ai_processing": true,
|
||||
"capability.eprel": true,
|
||||
"capability.normalize_specs_fill": true,
|
||||
"capability.campaign_ai": false,
|
||||
"capability.email_live_send": false,
|
||||
"capability.brand_ai_apply": false,
|
||||
"capability.seo_ai_rewrite": false,
|
||||
"capability.feed_source_limit": true,
|
||||
"capability.export_feed_limit": true,
|
||||
"capability.storage_limit": true,
|
||||
"capability.api_access": true,
|
||||
"capability.byok": false
|
||||
}
|
||||
},
|
||||
"standard_user": {
|
||||
"description": "End-user on public ladder; features further restricted by Free→Enterprise plan matrix",
|
||||
"plan_profile": "standard",
|
||||
"platform_admin": false,
|
||||
"company_membership": ["admin", "member"],
|
||||
"plan_matrix_ref": "docs/plan-permissions/06-defaults-matrix.json",
|
||||
"features": {
|
||||
"shell.navigation": true,
|
||||
"shell.command_palette": true,
|
||||
"shell.company_switcher": true,
|
||||
"shell.support_notifications": true,
|
||||
"shell.tutorial": true,
|
||||
"shell.account_menu": true,
|
||||
"shell.billing_recovery_banner": true,
|
||||
"dashboard.overview": true,
|
||||
"dashboard.stats": true,
|
||||
"dashboard.quick_links": true,
|
||||
"dashboard.recent_jobs": true,
|
||||
"dashboard.news_feed": true,
|
||||
"dashboard.activation_checklist": true,
|
||||
"dashboard.migrated_checklist": true,
|
||||
"dashboard.etl_gaps": true,
|
||||
"dashboard.store_reconnect": true,
|
||||
"dashboard.upgrade_banners": true,
|
||||
"catalog.products": true,
|
||||
"catalog.products.tab_processed": true,
|
||||
"catalog.products.tab_needs_review": true,
|
||||
"catalog.products.tab_error": true,
|
||||
"catalog.products.tab_processing": true,
|
||||
"catalog.products.tab_unprocessed": true,
|
||||
"catalog.products.process_categories": true,
|
||||
"catalog.products.process_attributes": true,
|
||||
"catalog.products.process_ai_titles": true,
|
||||
"catalog.products.process_ai_descriptions": true,
|
||||
"catalog.products.enrichment_review": true,
|
||||
"catalog.products.export_selection": true,
|
||||
"catalog.products.upgrade_prompt": true,
|
||||
"catalog.categories": true,
|
||||
"catalog.categories.title_formula": true,
|
||||
"catalog.categories.description_formula": true,
|
||||
"catalog.attributes": true,
|
||||
"catalog.attributes.bulk_import": true,
|
||||
"catalog.standard_fields": true,
|
||||
"catalog.standard_fields.groups": true,
|
||||
"catalog.structured_descriptions": true,
|
||||
"catalog.vector_categories": true,
|
||||
"feeds.list": true,
|
||||
"feeds.add_url": true,
|
||||
"feeds.add_csv": true,
|
||||
"feeds.sync": true,
|
||||
"feeds.mapping": true,
|
||||
"feeds.mapping.select_item": true,
|
||||
"feeds.mapping.map_fields": true,
|
||||
"feeds.export_feeds": true,
|
||||
"feeds.export_feeds.create": true,
|
||||
"feeds.export_feeds.generate": true,
|
||||
"feeds.uploads": true,
|
||||
"stores.hub": true,
|
||||
"stores.woocommerce": true,
|
||||
"stores.woocommerce.connection": true,
|
||||
"stores.woocommerce.categories": true,
|
||||
"stores.woocommerce.attributes": true,
|
||||
"stores.woocommerce.orders": true,
|
||||
"stores.woocommerce.reviews": true,
|
||||
"stores.woocommerce.settings": true,
|
||||
"stores.shopify": true,
|
||||
"stores.shopify.connection": true,
|
||||
"stores.shopify.orders": true,
|
||||
"stores.shopify.settings": true,
|
||||
"processing.monitor": true,
|
||||
"marketing.campaigns": true,
|
||||
"marketing.campaigns.create": true,
|
||||
"marketing.campaigns.generate_ai": true,
|
||||
"marketing.campaigns.send": true,
|
||||
"marketing.content_calendar": true,
|
||||
"marketing.brand_kit": true,
|
||||
"marketing.brand_ai_apply": true,
|
||||
"marketing.seo": true,
|
||||
"marketing.seo.template_fill": true,
|
||||
"marketing.seo.ai_rewrite": true,
|
||||
"marketing.reviews": true,
|
||||
"integrations.ai": true,
|
||||
"integrations.ai.byok": true,
|
||||
"integrations.email": true,
|
||||
"integrations.email.test": true,
|
||||
"integrations.email.blast": true,
|
||||
"billing.overview": true,
|
||||
"billing.customer_portal": true,
|
||||
"billing.quick_upgrade": true,
|
||||
"billing.plans_compare": true,
|
||||
"billing.checkout": true,
|
||||
"settings.profile": true,
|
||||
"settings.company": true,
|
||||
"settings.alerts": true,
|
||||
"settings.api_keys": true,
|
||||
"settings.team": true,
|
||||
"settings.team_invite": true,
|
||||
"support.center": true,
|
||||
"support.ticket_create": true,
|
||||
"support.ticket_thread": true,
|
||||
"capability.sku_cap": true,
|
||||
"capability.ai_credits": true,
|
||||
"capability.ai_processing": true,
|
||||
"capability.eprel": true,
|
||||
"capability.normalize_specs_fill": true,
|
||||
"capability.campaign_ai": true,
|
||||
"capability.email_live_send": true,
|
||||
"capability.brand_ai_apply": true,
|
||||
"capability.seo_ai_rewrite": true,
|
||||
"capability.feed_source_limit": true,
|
||||
"capability.export_feed_limit": true,
|
||||
"capability.storage_limit": true,
|
||||
"capability.api_access": true,
|
||||
"capability.byok": true
|
||||
}
|
||||
},
|
||||
"admin": {
|
||||
"description": "Platform admin (users.is_platform_admin); full dashboard + AdminNav",
|
||||
"plan_profile": null,
|
||||
"platform_admin": true,
|
||||
"admin_nav": [
|
||||
"/admin",
|
||||
"/admin/users",
|
||||
"/admin/analytics",
|
||||
"/admin/billing",
|
||||
"/admin/support",
|
||||
"/admin/stuck-products",
|
||||
"/admin/settings"
|
||||
],
|
||||
"features": {
|
||||
"shell.navigation": true,
|
||||
"shell.command_palette": true,
|
||||
"shell.company_switcher": true,
|
||||
"shell.support_notifications": true,
|
||||
"shell.tutorial": true,
|
||||
"shell.account_menu": true,
|
||||
"shell.billing_recovery_banner": true,
|
||||
"dashboard.overview": true,
|
||||
"dashboard.stats": true,
|
||||
"dashboard.quick_links": true,
|
||||
"dashboard.recent_jobs": true,
|
||||
"dashboard.news_feed": true,
|
||||
"dashboard.activation_checklist": true,
|
||||
"dashboard.migrated_checklist": true,
|
||||
"dashboard.etl_gaps": true,
|
||||
"dashboard.store_reconnect": true,
|
||||
"dashboard.upgrade_banners": true,
|
||||
"catalog.products": true,
|
||||
"catalog.products.tab_processed": true,
|
||||
"catalog.products.tab_needs_review": true,
|
||||
"catalog.products.tab_error": true,
|
||||
"catalog.products.tab_processing": true,
|
||||
"catalog.products.tab_unprocessed": true,
|
||||
"catalog.products.process_categories": true,
|
||||
"catalog.products.process_attributes": true,
|
||||
"catalog.products.process_ai_titles": true,
|
||||
"catalog.products.process_ai_descriptions": true,
|
||||
"catalog.products.enrichment_review": true,
|
||||
"catalog.products.export_selection": true,
|
||||
"catalog.products.upgrade_prompt": true,
|
||||
"catalog.categories": true,
|
||||
"catalog.categories.title_formula": true,
|
||||
"catalog.categories.description_formula": true,
|
||||
"catalog.attributes": true,
|
||||
"catalog.attributes.bulk_import": true,
|
||||
"catalog.standard_fields": true,
|
||||
"catalog.standard_fields.groups": true,
|
||||
"catalog.structured_descriptions": true,
|
||||
"catalog.vector_categories": true,
|
||||
"feeds.list": true,
|
||||
"feeds.add_url": true,
|
||||
"feeds.add_csv": true,
|
||||
"feeds.sync": true,
|
||||
"feeds.mapping": true,
|
||||
"feeds.mapping.select_item": true,
|
||||
"feeds.mapping.map_fields": true,
|
||||
"feeds.export_feeds": true,
|
||||
"feeds.export_feeds.create": true,
|
||||
"feeds.export_feeds.generate": true,
|
||||
"feeds.uploads": true,
|
||||
"stores.hub": true,
|
||||
"stores.woocommerce": true,
|
||||
"stores.woocommerce.connection": true,
|
||||
"stores.woocommerce.categories": true,
|
||||
"stores.woocommerce.attributes": true,
|
||||
"stores.woocommerce.orders": true,
|
||||
"stores.woocommerce.reviews": true,
|
||||
"stores.woocommerce.settings": true,
|
||||
"stores.shopify": true,
|
||||
"stores.shopify.connection": true,
|
||||
"stores.shopify.orders": true,
|
||||
"stores.shopify.settings": true,
|
||||
"processing.monitor": true,
|
||||
"marketing.campaigns": true,
|
||||
"marketing.campaigns.create": true,
|
||||
"marketing.campaigns.generate_ai": true,
|
||||
"marketing.campaigns.send": true,
|
||||
"marketing.content_calendar": true,
|
||||
"marketing.brand_kit": true,
|
||||
"marketing.brand_ai_apply": true,
|
||||
"marketing.seo": true,
|
||||
"marketing.seo.template_fill": true,
|
||||
"marketing.seo.ai_rewrite": true,
|
||||
"marketing.reviews": true,
|
||||
"integrations.ai": true,
|
||||
"integrations.ai.byok": true,
|
||||
"integrations.email": true,
|
||||
"integrations.email.test": true,
|
||||
"integrations.email.blast": true,
|
||||
"billing.overview": true,
|
||||
"billing.customer_portal": true,
|
||||
"billing.quick_upgrade": true,
|
||||
"billing.plans_compare": true,
|
||||
"billing.checkout": true,
|
||||
"settings.profile": true,
|
||||
"settings.company": true,
|
||||
"settings.alerts": true,
|
||||
"settings.api_keys": true,
|
||||
"settings.team": true,
|
||||
"settings.team_invite": true,
|
||||
"support.center": true,
|
||||
"support.ticket_create": true,
|
||||
"support.ticket_thread": true,
|
||||
"capability.sku_cap": true,
|
||||
"capability.ai_credits": true,
|
||||
"capability.ai_processing": true,
|
||||
"capability.eprel": true,
|
||||
"capability.normalize_specs_fill": true,
|
||||
"capability.campaign_ai": true,
|
||||
"capability.email_live_send": true,
|
||||
"capability.brand_ai_apply": true,
|
||||
"capability.seo_ai_rewrite": true,
|
||||
"capability.feed_source_limit": true,
|
||||
"capability.export_feed_limit": true,
|
||||
"capability.storage_limit": true,
|
||||
"capability.api_access": true,
|
||||
"capability.byok": true
|
||||
}
|
||||
},
|
||||
"developer": {
|
||||
"description": "Engineering/ops; full feature ceiling including debug catalog extras",
|
||||
"plan_profile": null,
|
||||
"platform_admin": true,
|
||||
"admin_nav": [
|
||||
"/admin",
|
||||
"/admin/users",
|
||||
"/admin/analytics",
|
||||
"/admin/billing",
|
||||
"/admin/support",
|
||||
"/admin/stuck-products",
|
||||
"/admin/settings"
|
||||
],
|
||||
"features": {
|
||||
"shell.navigation": true,
|
||||
"shell.command_palette": true,
|
||||
"shell.company_switcher": true,
|
||||
"shell.support_notifications": true,
|
||||
"shell.tutorial": true,
|
||||
"shell.account_menu": true,
|
||||
"shell.billing_recovery_banner": true,
|
||||
"dashboard.overview": true,
|
||||
"dashboard.stats": true,
|
||||
"dashboard.quick_links": true,
|
||||
"dashboard.recent_jobs": true,
|
||||
"dashboard.news_feed": true,
|
||||
"dashboard.activation_checklist": true,
|
||||
"dashboard.migrated_checklist": true,
|
||||
"dashboard.etl_gaps": true,
|
||||
"dashboard.store_reconnect": true,
|
||||
"dashboard.upgrade_banners": true,
|
||||
"catalog.products": true,
|
||||
"catalog.products.tab_processed": true,
|
||||
"catalog.products.tab_needs_review": true,
|
||||
"catalog.products.tab_error": true,
|
||||
"catalog.products.tab_processing": true,
|
||||
"catalog.products.tab_unprocessed": true,
|
||||
"catalog.products.process_categories": true,
|
||||
"catalog.products.process_attributes": true,
|
||||
"catalog.products.process_ai_titles": true,
|
||||
"catalog.products.process_ai_descriptions": true,
|
||||
"catalog.products.enrichment_review": true,
|
||||
"catalog.products.export_selection": true,
|
||||
"catalog.products.upgrade_prompt": true,
|
||||
"catalog.categories": true,
|
||||
"catalog.categories.title_formula": true,
|
||||
"catalog.categories.description_formula": true,
|
||||
"catalog.attributes": true,
|
||||
"catalog.attributes.bulk_import": true,
|
||||
"catalog.standard_fields": true,
|
||||
"catalog.standard_fields.groups": true,
|
||||
"catalog.structured_descriptions": true,
|
||||
"catalog.vector_categories": true,
|
||||
"feeds.list": true,
|
||||
"feeds.add_url": true,
|
||||
"feeds.add_csv": true,
|
||||
"feeds.sync": true,
|
||||
"feeds.mapping": true,
|
||||
"feeds.mapping.select_item": true,
|
||||
"feeds.mapping.map_fields": true,
|
||||
"feeds.export_feeds": true,
|
||||
"feeds.export_feeds.create": true,
|
||||
"feeds.export_feeds.generate": true,
|
||||
"feeds.uploads": true,
|
||||
"stores.hub": true,
|
||||
"stores.woocommerce": true,
|
||||
"stores.woocommerce.connection": true,
|
||||
"stores.woocommerce.categories": true,
|
||||
"stores.woocommerce.attributes": true,
|
||||
"stores.woocommerce.orders": true,
|
||||
"stores.woocommerce.reviews": true,
|
||||
"stores.woocommerce.settings": true,
|
||||
"stores.shopify": true,
|
||||
"stores.shopify.connection": true,
|
||||
"stores.shopify.orders": true,
|
||||
"stores.shopify.settings": true,
|
||||
"processing.monitor": true,
|
||||
"marketing.campaigns": true,
|
||||
"marketing.campaigns.create": true,
|
||||
"marketing.campaigns.generate_ai": true,
|
||||
"marketing.campaigns.send": true,
|
||||
"marketing.content_calendar": true,
|
||||
"marketing.brand_kit": true,
|
||||
"marketing.brand_ai_apply": true,
|
||||
"marketing.seo": true,
|
||||
"marketing.seo.template_fill": true,
|
||||
"marketing.seo.ai_rewrite": true,
|
||||
"marketing.reviews": true,
|
||||
"integrations.ai": true,
|
||||
"integrations.ai.byok": true,
|
||||
"integrations.email": true,
|
||||
"integrations.email.test": true,
|
||||
"integrations.email.blast": true,
|
||||
"billing.overview": true,
|
||||
"billing.customer_portal": true,
|
||||
"billing.quick_upgrade": true,
|
||||
"billing.plans_compare": true,
|
||||
"billing.checkout": true,
|
||||
"settings.profile": true,
|
||||
"settings.company": true,
|
||||
"settings.alerts": true,
|
||||
"settings.api_keys": true,
|
||||
"settings.team": true,
|
||||
"settings.team_invite": true,
|
||||
"support.center": true,
|
||||
"support.ticket_create": true,
|
||||
"support.ticket_thread": true,
|
||||
"capability.sku_cap": true,
|
||||
"capability.ai_credits": true,
|
||||
"capability.ai_processing": true,
|
||||
"capability.eprel": true,
|
||||
"capability.normalize_specs_fill": true,
|
||||
"capability.campaign_ai": true,
|
||||
"capability.email_live_send": true,
|
||||
"capability.brand_ai_apply": true,
|
||||
"capability.seo_ai_rewrite": true,
|
||||
"capability.feed_source_limit": true,
|
||||
"capability.export_feed_limit": true,
|
||||
"capability.storage_limit": true,
|
||||
"capability.api_access": true,
|
||||
"capability.byok": true
|
||||
}
|
||||
},
|
||||
"support_staff": {
|
||||
"description": "Support agents; support queue + assisted tenant context; no platform settings/billing writes",
|
||||
"plan_profile": null,
|
||||
"platform_admin": false,
|
||||
"staff_flag": "is_support_staff [UNCERTAIN — not in schema yet]",
|
||||
"admin_nav": [
|
||||
"/admin/support",
|
||||
"/admin/users",
|
||||
"/admin/stuck-products"
|
||||
],
|
||||
"admin_nav_denied": [
|
||||
"/admin/settings",
|
||||
"/admin/billing"
|
||||
],
|
||||
"features": {
|
||||
"shell.navigation": true,
|
||||
"shell.command_palette": true,
|
||||
"shell.company_switcher": true,
|
||||
"shell.support_notifications": true,
|
||||
"shell.tutorial": true,
|
||||
"shell.account_menu": true,
|
||||
"shell.billing_recovery_banner": true,
|
||||
"dashboard.overview": true,
|
||||
"dashboard.stats": true,
|
||||
"dashboard.quick_links": true,
|
||||
"dashboard.recent_jobs": true,
|
||||
"dashboard.news_feed": true,
|
||||
"dashboard.activation_checklist": true,
|
||||
"dashboard.migrated_checklist": true,
|
||||
"dashboard.etl_gaps": true,
|
||||
"dashboard.store_reconnect": false,
|
||||
"dashboard.upgrade_banners": true,
|
||||
"catalog.products": true,
|
||||
"catalog.products.tab_processed": true,
|
||||
"catalog.products.tab_needs_review": true,
|
||||
"catalog.products.tab_error": true,
|
||||
"catalog.products.tab_processing": true,
|
||||
"catalog.products.tab_unprocessed": true,
|
||||
"catalog.products.process_categories": true,
|
||||
"catalog.products.process_attributes": true,
|
||||
"catalog.products.process_ai_titles": true,
|
||||
"catalog.products.process_ai_descriptions": true,
|
||||
"catalog.products.enrichment_review": true,
|
||||
"catalog.products.export_selection": true,
|
||||
"catalog.products.upgrade_prompt": true,
|
||||
"catalog.categories": true,
|
||||
"catalog.categories.title_formula": true,
|
||||
"catalog.categories.description_formula": true,
|
||||
"catalog.attributes": true,
|
||||
"catalog.attributes.bulk_import": true,
|
||||
"catalog.standard_fields": true,
|
||||
"catalog.standard_fields.groups": true,
|
||||
"catalog.structured_descriptions": false,
|
||||
"catalog.vector_categories": false,
|
||||
"feeds.list": true,
|
||||
"feeds.add_url": true,
|
||||
"feeds.add_csv": true,
|
||||
"feeds.sync": true,
|
||||
"feeds.mapping": true,
|
||||
"feeds.mapping.select_item": true,
|
||||
"feeds.mapping.map_fields": true,
|
||||
"feeds.export_feeds": true,
|
||||
"feeds.export_feeds.create": true,
|
||||
"feeds.export_feeds.generate": true,
|
||||
"feeds.uploads": true,
|
||||
"stores.hub": false,
|
||||
"stores.woocommerce": false,
|
||||
"stores.woocommerce.connection": false,
|
||||
"stores.woocommerce.categories": false,
|
||||
"stores.woocommerce.attributes": false,
|
||||
"stores.woocommerce.orders": false,
|
||||
"stores.woocommerce.reviews": false,
|
||||
"stores.woocommerce.settings": false,
|
||||
"stores.shopify": false,
|
||||
"stores.shopify.connection": false,
|
||||
"stores.shopify.orders": false,
|
||||
"stores.shopify.settings": false,
|
||||
"processing.monitor": true,
|
||||
"marketing.campaigns": false,
|
||||
"marketing.campaigns.create": false,
|
||||
"marketing.campaigns.generate_ai": false,
|
||||
"marketing.campaigns.send": false,
|
||||
"marketing.content_calendar": false,
|
||||
"marketing.brand_kit": false,
|
||||
"marketing.brand_ai_apply": false,
|
||||
"marketing.seo": false,
|
||||
"marketing.seo.template_fill": false,
|
||||
"marketing.seo.ai_rewrite": false,
|
||||
"marketing.reviews": false,
|
||||
"integrations.ai": false,
|
||||
"integrations.ai.byok": false,
|
||||
"integrations.email": false,
|
||||
"integrations.email.test": false,
|
||||
"integrations.email.blast": false,
|
||||
"billing.overview": true,
|
||||
"billing.customer_portal": false,
|
||||
"billing.quick_upgrade": false,
|
||||
"billing.plans_compare": true,
|
||||
"billing.checkout": false,
|
||||
"settings.profile": true,
|
||||
"settings.company": true,
|
||||
"settings.alerts": true,
|
||||
"settings.api_keys": false,
|
||||
"settings.team": true,
|
||||
"settings.team_invite": false,
|
||||
"support.center": true,
|
||||
"support.ticket_create": true,
|
||||
"support.ticket_thread": true,
|
||||
"capability.sku_cap": true,
|
||||
"capability.ai_credits": true,
|
||||
"capability.ai_processing": true,
|
||||
"capability.eprel": true,
|
||||
"capability.normalize_specs_fill": true,
|
||||
"capability.campaign_ai": false,
|
||||
"capability.email_live_send": false,
|
||||
"capability.brand_ai_apply": false,
|
||||
"capability.seo_ai_rewrite": false,
|
||||
"capability.feed_source_limit": true,
|
||||
"capability.export_feed_limit": true,
|
||||
"capability.storage_limit": true,
|
||||
"capability.api_access": false,
|
||||
"capability.byok": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"plan_profiles": {
|
||||
"legacy": {
|
||||
"description": "A1 / Legacy package — same feature map as legacy_user",
|
||||
"features_ref_role": "legacy_user",
|
||||
"on_keys": [
|
||||
"shell.navigation",
|
||||
"shell.command_palette",
|
||||
"shell.company_switcher",
|
||||
"shell.tutorial",
|
||||
"shell.account_menu",
|
||||
"shell.billing_recovery_banner",
|
||||
"dashboard.overview",
|
||||
"dashboard.stats",
|
||||
"dashboard.quick_links",
|
||||
"dashboard.recent_jobs",
|
||||
"dashboard.news_feed",
|
||||
"dashboard.activation_checklist",
|
||||
"dashboard.migrated_checklist",
|
||||
"dashboard.etl_gaps",
|
||||
"dashboard.upgrade_banners",
|
||||
"catalog.products",
|
||||
"catalog.products.tab_processed",
|
||||
"catalog.products.tab_needs_review",
|
||||
"catalog.products.tab_error",
|
||||
"catalog.products.tab_processing",
|
||||
"catalog.products.tab_unprocessed",
|
||||
"catalog.products.process_categories",
|
||||
"catalog.products.process_attributes",
|
||||
"catalog.products.process_ai_titles",
|
||||
"catalog.products.process_ai_descriptions",
|
||||
"catalog.products.enrichment_review",
|
||||
"catalog.products.export_selection",
|
||||
"catalog.products.upgrade_prompt",
|
||||
"catalog.categories",
|
||||
"catalog.categories.title_formula",
|
||||
"catalog.categories.description_formula",
|
||||
"catalog.attributes",
|
||||
"catalog.attributes.bulk_import",
|
||||
"catalog.standard_fields",
|
||||
"catalog.standard_fields.groups",
|
||||
"feeds.list",
|
||||
"feeds.add_url",
|
||||
"feeds.add_csv",
|
||||
"feeds.sync",
|
||||
"feeds.mapping",
|
||||
"feeds.mapping.select_item",
|
||||
"feeds.mapping.map_fields",
|
||||
"feeds.export_feeds",
|
||||
"feeds.export_feeds.create",
|
||||
"feeds.export_feeds.generate",
|
||||
"feeds.uploads",
|
||||
"billing.overview",
|
||||
"billing.customer_portal",
|
||||
"billing.quick_upgrade",
|
||||
"billing.plans_compare",
|
||||
"billing.checkout",
|
||||
"settings.profile",
|
||||
"settings.company",
|
||||
"settings.alerts",
|
||||
"settings.api_keys",
|
||||
"settings.team",
|
||||
"settings.team_invite",
|
||||
"capability.sku_cap",
|
||||
"capability.ai_credits",
|
||||
"capability.ai_processing",
|
||||
"capability.eprel",
|
||||
"capability.normalize_specs_fill",
|
||||
"capability.feed_source_limit",
|
||||
"capability.export_feed_limit",
|
||||
"capability.storage_limit",
|
||||
"capability.api_access"
|
||||
],
|
||||
"off_sections": [
|
||||
"stores",
|
||||
"processing",
|
||||
"marketing",
|
||||
"integrations",
|
||||
"support"
|
||||
]
|
||||
},
|
||||
"standard": {
|
||||
"description": "Public ladder Free→Enterprise; use 06-defaults-matrix per plan name",
|
||||
"matrix_ref": "docs/plan-permissions/06-defaults-matrix.json"
|
||||
},
|
||||
"custom": {
|
||||
"description": "is_custom=true non-legacy deals; all registry keys ON by default",
|
||||
"all_features_on": true
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user