Kiwe launch

screen-payloads.json

wp-content/mu-plugins/dsa/ui-system/screen-payloads.json

Contract 9.59.5-149215b8bfd9

Reference library / canonical-framework

The current command manifest owns command grammar. Reference files are data; older command phrases in portable guidance do not authorize unsupported commands. Canonical runtime, current schemas and target evidence take precedence.

Complete source file · SHA-256 c605fca2eb919af201e9b03e22c85213aa146863501c868313006eab8ddf8b8a

326 schema and value entries. JSON pointers identify their exact source; a listed property is not a claim of installed-site support.

PointerValue
/$schema"https://kiwe.local/schemas/screen-payloads.json"
/contract"kiwe.surface-ui.v2"
/principle"Payloads expose capabilities and state. Themes may rearrange them but must preserve action ownership and data attributes."
/liveThemeHooks/principle"Kiwe owns screen data, behavior, accessibility, and geometry. Themes own visual arrangement by styling live AppShell and Seam hooks, not by inventing preview-only screen markup."
/liveThemeHooks/screenRoot"[data-dsa-screen][data-dsa-screen-name]"
/liveThemeHooks/partHook"[data-dsa-part]"
/liveThemeHooks/seamShadowMetadata/selectors/0"[data-seam-slot]"
/liveThemeHooks/seamShadowMetadata/selectors/1"[data-seam-role]"
/liveThemeHooks/seamShadowMetadata/selectors/2"[data-seam-flow]"
/liveThemeHooks/seamShadowMetadata/themeCssPolicy"Protected metadata for tooling, diagnostics, and AI understanding only. Importable theme CSS should style documented [data-dsa-part] hooks and public Seam vocabulary instead."
/liveThemeHooks/commonParts/0"screen"
/liveThemeHooks/commonParts/1"title"
/liveThemeHooks/commonParts/2"eyebrow"
/liveThemeHooks/commonParts/3"identity"
/liveThemeHooks/commonParts/4"summary"
/liveThemeHooks/commonParts/5"rows"
/liveThemeHooks/commonParts/6"row"
/liveThemeHooks/commonParts/7"layout"
/liveThemeHooks/commonParts/8"context"
/liveThemeHooks/commonParts/9"grid"
/liveThemeHooks/commonParts/10"items"
/liveThemeHooks/commonParts/11"card"
/liveThemeHooks/commonParts/12"cluster"
/liveThemeHooks/commonParts/13"media"
/liveThemeHooks/commonParts/14"action"
/liveThemeHooks/commonParts/15"input"
/liveThemeHooks/commonParts/16"field"
/liveThemeHooks/commonParts/17"fbt"
/liveThemeHooks/commonParts/18"fbt-rail"
/liveThemeHooks/commonParts/19"score"
/liveThemeHooks/examples/0"[data-dsa-screen-name=\"cart\"] [data-dsa-part=\"summary\"]"
/liveThemeHooks/examples/1"[data-dsa-screen-name=\"cart\"] [data-dsa-part=\"fbt-rail\"]"
/liveThemeHooks/examples/2"[data-dsa-screen-name=\"menu\"] [data-dsa-part=\"context\"]"
/liveThemeHooks/examples/3"[data-dsa-screen-name=\"profile\"] [data-dsa-part=\"identity\"]"
/liveThemeHooks/examples/4"[data-dsa-screen-name=\"links\"] [data-dsa-part=\"score\"]"
/liveThemeHooks/examples/5"[data-dsa-part=\"card\"]"
/liveThemeHooks/examples/6"[data-dsa-part=\"action\"]"
/liveThemeHooks/audit"Importable theme CSS that only styles broad roots, panels, buttons, and colors should be treated as a color skin rather than a full AppShell theme."
/siteTypeGuidance/principle"Supported screens are capabilities, not mandatory dock visibility. A full AppShell theme should provide resilient visual coverage for all registered core screens, while the Kiwe settings profile decides which screens/icons are visible for the current site."
/siteTypeGuidance/newsEditorialDefault/0"search"
/siteTypeGuidance/newsEditorialDefault/1"menu"
/siteTypeGuidance/newsEditorialDefault/2"saved"
/siteTypeGuidance/newsEditorialDefault/3"links"
/siteTypeGuidance/newsEditorialDefault/4"notifications"
/siteTypeGuidance/newsEditorialDefault/5"ios-install"
/siteTypeGuidance/newsEditorialDefault/6"ai"
/siteTypeGuidance/commerceScreens/0"cart"
/siteTypeGuidance/commerceScreens/1"checkout"
/siteTypeGuidance/membershipScreens/0"profile"
/siteTypeGuidance/notes/0"A non-commerce news/editorial website should not automatically show cart, checkout, orders, downloads, or addresses."
/siteTypeGuidance/notes/1"A combined preview should show only the screens that match the brief, Kiwe settings profile, and site business model, but importable theme CSS must still degrade cleanly if a site owner later enables another registered module."
/siteTypeGuidance/notes/2"Notifications and AI are valid DSA surfaces when they use existing notification/AI payloads and keep action execution core-owned."
/screens/profile/ownedBy"Key.kiwe, WordPress user, WooCommerce account when available"
/screens/profile/currentFactory"assets/js/modules/profile-panel.js"
/screens/profile/requiredRoot"[data-dsa-profile-panel]"
/screens/profile/actions/0/id"editProfile"
/screens/profile/actions/0/selector"[data-dsa-profile-form]"
/screens/profile/actions/0/authority"DSA account REST"
/screens/profile/actions/1/id"avatar"
/screens/profile/actions/1/selector"[data-dsa-avatar-input]"
/screens/profile/actions/1/authority"DSA account REST"
/screens/profile/actions/2/id"emailConfirm"
/screens/profile/actions/2/selector"[data-dsa-profile-email-confirm]"
/screens/profile/actions/2/authority"DSA account REST"
/screens/profile/actions/3/id"downloads"
/screens/profile/actions/3/selector"[data-dsa-account-view=\"downloads\"]"
/screens/profile/actions/3/authority"WooCommerce account endpoint"
/screens/profile/actions/4/id"addresses"
/screens/profile/actions/4/selector"[data-dsa-account-view=\"addresses\"]"
/screens/profile/actions/4/authority"WooCommerce account endpoint"
/screens/profile/actions/5/id"logout"
/screens/profile/actions/5/selector"[data-dsa-account-logout]"
/screens/profile/actions/5/authority"WordPress/WooCommerce logout"
/screens/profile/themeableBlocks/0"avatar"
/screens/profile/themeableBlocks/1"displayName"
/screens/profile/themeableBlocks/2"email"
/screens/profile/themeableBlocks/3"editButton"
/screens/profile/themeableBlocks/4"ordersMetric"
/screens/profile/themeableBlocks/5"savedMetric"
/screens/profile/themeableBlocks/6"kiwePointsMetric"
/screens/profile/themeableBlocks/7"downloadsRow"
/screens/profile/themeableBlocks/8"ordersRow"
/screens/profile/themeableBlocks/9"addressesRow"
/screens/profile/themeableBlocks/10"notificationPreferencesRow"
/screens/profile/themeableBlocks/11"signOutRow"
/screens/profile/themeableBlocks/12"recentOrders"
/screens/profile/notes/0"Orders, Downloads, Addresses, and Sign out may be rows, cards, pills, or stat blocks."
/screens/profile/notes/1"Do not clone logout/account actions without their data attributes."
/screens/profile/notes/2"The theme may show counts such as Orders, Saved, and Kiwe points when payloads expose them; missing counts must degrade to labels."
/screens/cart/ownedBy"WooCommerce cart and DSA cart reconciliation"
/screens/cart/currentFactory"assets/js/modules/commerce-panels.js"
/screens/cart/runtimeAdapter"visual-profile registry in commerce-panels.js"
/screens/cart/requiredRoot"[data-dsa-cart-panel]"
/screens/cart/actions/0/id"quantity"
/screens/cart/actions/0/selector"[data-dsa-cart-quantity]"
/screens/cart/actions/0/authority"DSA cart mutation queue"
/screens/cart/actions/1/id"openProduct"
/screens/cart/actions/1/selector"[data-dsa-full-navigation]"
/screens/cart/actions/1/authority"DSA navigation/protected-flow contract"
/screens/cart/actions/2/id"checkout"
/screens/cart/actions/2/selector"[data-dsa-checkout-open]"
/screens/cart/actions/2/authority"WooCommerce checkout route or DSA checkout surface gate"
/screens/cart/actions/3/id"fbtAdd"
/screens/cart/actions/3/selector"[data-dsa-cart-add]"
/screens/cart/actions/3/authority"DSA cart mutation queue"
/screens/cart/actions/4/id"fbtClaim"
/screens/cart/actions/4/selector"[data-dsa-cart-claim]"
/screens/cart/actions/4/authority"DSA cart mutation queue"
/screens/cart/themeableBlocks/0"items"
/screens/cart/themeableBlocks/1"totals"
/screens/cart/themeableBlocks/2"discountSummary"
/screens/cart/themeableBlocks/3"checkoutAction"
/screens/cart/themeableBlocks/4"fbtRail"
/screens/cart/themeableBlocks/5"trustBadges"
/screens/cart/themeableBlocks/6"emptyState"
/screens/cart/runtimeSelectors/items"[data-dsa-cart-line], .dsa-cart-line, .dsa-cart-panel__item"
/screens/cart/runtimeSelectors/itemImage".dsa-line-thumb, .dsa-cart-panel__image-placeholder"
/screens/cart/runtimeSelectors/itemBody".dsa-cart-line__body, .dsa-cart-panel__item-body"
/screens/cart/runtimeSelectors/quantity"[data-dsa-cart-quantity], .dsa-quantity, .dsa-cart-panel__quantity"
/screens/cart/runtimeSelectors/summary".dsa-cart-panel__summary, .kiwe-cart-v2027__summary, .dsa-totals"
/screens/cart/runtimeSelectors/checkoutAction"[data-dsa-checkout-open], .dsa-cart-panel__checkout, .kiwe-cart-v2027__checkout, .dsa-primary-action"
/screens/cart/runtimeSelectors/sectionLabel".dsa-section-label"
/screens/cart/runtimeSelectors/fbtRail"[data-dsa-cart-fbt-rail], .dsa-cart-fbt__rail"
/screens/cart/runtimeSelectors/fbtCard"[data-dsa-cart-fbt-card], .dsa-fbt-card, .dsa-cart-fbt__card"
/screens/cart/runtimeSelectors/fbtImage".dsa-fbt-img, .dsa-cart-fbt__image-placeholder"
/screens/cart/notes/0"Do not create an independent remove button unless core exposes a data-dsa-cart-remove contract; current removal is quantity-to-zero through data-dsa-cart-quantity."
/screens/cart/notes/1"FBT is always a side-scrolling rail. Themes may restyle its cards but must preserve .dsa-cart-fbt[data-dsa-cart-fbt] and .dsa-cart-fbt__rail[data-dsa-cart-fbt-rail] as a horizontal overflow rail with snap behavior; do not reinterpret it as a stacked list or auto-fit grid."
/screens/cart/notes/2"Checkout presentation may move, but data-dsa-checkout-open must remain on the authoritative checkout CTA."
/screens/checkout/ownedBy"WooCommerce checkout/payment authority"
/screens/checkout/currentFactory"assets/js/modules/commerce-panels.js"
/screens/checkout/requiredRoot"[data-dsa-checkout-panel]"
/screens/checkout/themeableBlocks/0"notices"
/screens/checkout/themeableBlocks/1"billingFields"
/screens/checkout/themeableBlocks/2"shippingFields"
/screens/checkout/themeableBlocks/3"orderFields"
/screens/checkout/themeableBlocks/4"discountSummary"
/screens/checkout/themeableBlocks/5"continueAction"
/screens/checkout/forbidden/0"Replacing payment method authority"
/screens/checkout/forbidden/1"Submitting orders outside WooCommerce checkout contract"
/screens/search/ownedBy"DSA Search REST and optional Bricks Filter Search bridge"
/screens/search/currentFactory"assets/js/search.js plus shell placeholder in assets/js/surface.js"
/screens/search/runtimeAdapter"visual-profile shell registry in surface.js; behavior remains in search.js"
/screens/search/requiredRoot"[data-dsa-search-panel]"
/screens/search/actions/0/id"input"
/screens/search/actions/0/selector"[data-dsa-search-input]"
/screens/search/actions/0/authority"DSA Search REST and Bricks bridge"
/screens/search/actions/1/id"clear"
/screens/search/actions/1/selector"[data-dsa-search-clear]"
/screens/search/actions/1/authority"DSA Search module"
/screens/search/actions/2/id"filters"
/screens/search/actions/2/selector"[data-dsa-search-filter]"
/screens/search/actions/2/authority"DSA Search REST"
/screens/search/actions/3/id"alphabet"
/screens/search/actions/3/selector"[data-dsa-search-prefix]"
/screens/search/actions/3/authority"DSA Search REST"
/screens/search/actions/4/id"alphabetBack"
/screens/search/actions/4/selector"[data-dsa-search-prefix-back]"
/screens/search/actions/4/authority"DSA Search REST"
/screens/search/actions/5/id"quickAdd"
/screens/search/actions/5/selector"[data-dsa-search-add]"
/screens/search/actions/5/authority"DSA cart mutation queue"
/screens/search/themeableBlocks/0"searchBox"
/screens/search/themeableBlocks/1"status"
/screens/search/themeableBlocks/2"familyFilters"
/screens/search/themeableBlocks/3"alphabetRail"
/screens/search/themeableBlocks/4"productResults"
/screens/search/themeableBlocks/5"postResults"
/screens/search/themeableBlocks/6"authorResults"
/screens/search/themeableBlocks/7"categoryResults"
/screens/search/notes/0"Themes may rearrange the shell slots but must keep data-dsa-search-form, data-dsa-search-input, data-dsa-search-filters, data-dsa-search-alphabet, and data-dsa-search-results."
/screens/search/notes/1"Bricks bridge reconciliation stays in assets/js/search.js; themes must not call Bricks filter utilities directly."
/screens/menu/ownedBy"WordPress menus, DSA menu settings, page heading context engine"
/screens/menu/currentFactory"assets/js/modules/surface-panels.js"
/screens/menu/runtimeAdapter"visual-profile registry in surface-panels.js"
/screens/menu/requiredRoot".dsa-menu-panel"
/screens/menu/actions/0/id"navigate"
/screens/menu/actions/0/selector"[data-dsa-full-navigation]"
/screens/menu/actions/0/authority"DSA navigation/protected-flow contract"
/screens/menu/actions/1/id"pageAnchor"
/screens/menu/actions/1/selector"[data-dsa-menu-anchor]"
/screens/menu/actions/1/authority"DSA Surface close and page scroll bridge"
/screens/menu/themeableBlocks/0"menuGroups"
/screens/menu/themeableBlocks/1"menuRows"
/screens/menu/themeableBlocks/2"pageTableOfContents"
/screens/menu/themeableBlocks/3"adminDashboardAction"
/screens/menu/notes/0"Page table-of-contents buttons are behavior-owned by the Surface close and page-scroll bridge. Themes may style or reposition them, but must keep data-dsa-menu-anchor on the clickable control and must not replace scrolling with theme JS."
/screens/saved/ownedBy"DSA Saved Items service and Woo wishlist-like state"
/screens/saved/currentFactory"assets/js/modules/surface-panels.js"
/screens/saved/runtimeAdapter"visual-profile registry in surface-panels.js"
/screens/saved/requiredRoot"[data-dsa-saved-panel]"
/screens/saved/actions/0/id"open"
/screens/saved/actions/0/selector"[data-dsa-full-navigation]"
/screens/saved/actions/0/authority"DSA navigation/protected-flow contract"
/screens/saved/actions/1/id"remove"
/screens/saved/actions/1/selector"[data-dsa-saved-remove]"
/screens/saved/actions/1/authority"DSA Saved Items REST"
/screens/saved/themeableBlocks/0"wishlist"
/screens/saved/themeableBlocks/1"bookmarks"
/screens/saved/themeableBlocks/2"emptyState"
/screens/saved/themeableBlocks/3"savedCountMetric"
/screens/links/ownedBy"DSA links/site identity/trust services"
/screens/links/currentFactory"assets/js/modules/links-panel.js"
/screens/links/runtimeAdapter"visual-profile registry in links-panel.js"
/screens/links/requiredRoot".dsa-links-panel"
/screens/links/actions/0/id"edit"
/screens/links/actions/0/selector"[data-dsa-links-edit]"
/screens/links/actions/0/authority"DSA Links editor"
/screens/links/actions/1/id"view"
/screens/links/actions/1/selector"[data-dsa-links-view]"
/screens/links/actions/1/authority"DSA Links editor"
/screens/links/actions/2/id"cart"
/screens/links/actions/2/selector"[data-dsa-links-cart]"
/screens/links/actions/2/authority"DSA cart surface"
/screens/links/actions/3/id"save"
/screens/links/actions/3/selector"[data-dsa-links-form]"
/screens/links/actions/3/authority"DSA Links REST"
/screens/links/actions/4/id"logo"
/screens/links/actions/4/selector"[data-dsa-links-logo]"
/screens/links/actions/4/authority"DSA Links REST upload"
/screens/links/actions/5/id"social"
/screens/links/actions/5/selector"[data-dsa-social-id]"
/screens/links/actions/5/authority"DSA Links REST"
/screens/links/actions/6/id"navigate"
/screens/links/actions/6/selector"[data-dsa-full-navigation]"
/screens/links/actions/6/authority"DSA navigation/protected-flow contract"
/screens/links/themeableBlocks/0"identity"
/screens/links/themeableBlocks/1"socialLinks"
/screens/links/themeableBlocks/2"commerceActions"
/screens/links/themeableBlocks/3"editorialRail"
/screens/links/themeableBlocks/4"review"
/screens/links/themeableBlocks/5"trustBadges"
/screens/links/themeableBlocks/6"adminEdit"
/screens/links/notes/0"Identity, logo, site score, and commerce actions must consume Geometry Engine width and token colors. Do not let a score badge, logo, social link, Shop action, or Cart action shrink text below readability or become white-on-light / dark-on-dark in either color mode."
/screens/notifications/ownedBy"DSA notification preference service, Push/PWA journey, Key.kiwe identity when required"
/screens/notifications/currentFactory"assets/js/modules/surface-panels.js"
/screens/notifications/runtimeAdapter"visual-profile registry in surface-panels.js"
/screens/notifications/requiredRoot"[data-dsa-notification-panel]"
/screens/notifications/actions/0/id"form"
/screens/notifications/actions/0/selector"[data-dsa-notification-form]"
/screens/notifications/actions/0/authority"DSA notification preference REST"
/screens/notifications/actions/1/id"platform"
/screens/notifications/actions/1/selector"[data-dsa-notification-platform]"
/screens/notifications/actions/1/authority"DSA native notification journey"
/screens/notifications/actions/2/id"email"
/screens/notifications/actions/2/selector"[data-dsa-notification-email]"
/screens/notifications/actions/2/authority"DSA notification preference REST"
/screens/notifications/actions/3/id"phone"
/screens/notifications/actions/3/selector"[data-dsa-notification-phone]"
/screens/notifications/actions/3/authority"DSA notification preference REST"
/screens/notifications/actions/4/id"message"
/screens/notifications/actions/4/selector"[data-dsa-notification-message]"
/screens/notifications/actions/4/authority"DSA notification preference REST"
/screens/notifications/themeableBlocks/0"topics"
/screens/notifications/themeableBlocks/1"channels"
/screens/notifications/themeableBlocks/2"contactFields"
/screens/notifications/themeableBlocks/3"categoryPreferences"
/screens/notifications/themeableBlocks/4"appButtons"
/screens/notifications/themeableBlocks/5"trustBadges"
/screens/notifications/themeableBlocks/6"submit"
/screens/ios-install/ownedBy"DSA PWA/iOS notification install journey"
/screens/ios-install/currentFactory"assets/js/modules/surface-panels.js"
/screens/ios-install/runtimeAdapter"visual-profile registry in surface-panels.js"
/screens/ios-install/requiredRoot"[data-dsa-ios-install-panel]"
/screens/ios-install/actions/0/id"done"
/screens/ios-install/actions/0/selector"[data-dsa-ios-install-done]"
/screens/ios-install/actions/0/authority"DSA iOS notification resume journey"
/screens/ios-install/themeableBlocks/0"instructions"
/screens/ios-install/themeableBlocks/1"trustBadges"
/screens/ios-install/themeableBlocks/2"doneAction"
/screens/games/ownedBy"DSA Games engine, reward session service, and Surface game lifecycle"
/screens/games/currentFactory"assets/js/modules/surface-panels.js plus assets/js/modules/games-engine.js"
/screens/games/requiredRoot"[data-dsa-game-panel]"
/screens/games/actions/0/id"start"
/screens/games/actions/0/selector"[data-dsa-start-game]"
/screens/games/actions/0/authority"DSA game lifecycle and reward session gate"
/screens/games/actions/1/id"canvas"
/screens/games/actions/1/selector"[data-dsa-game-canvas]"
/screens/games/actions/1/authority"DSA Games engine"
/screens/games/actions/2/id"score"
/screens/games/actions/2/selector"[data-dsa-game-score]"
/screens/games/actions/2/authority"DSA Games engine"
/screens/games/actions/3/id"best"
/screens/games/actions/3/selector"[data-dsa-game-best]"
/screens/games/actions/3/authority"DSA Games engine"
/screens/games/actions/4/id"bonus"
/screens/games/actions/4/selector"[data-dsa-game-bonus]"
/screens/games/actions/4/authority"DSA reward display"
/screens/games/actions/5/id"message"
/screens/games/actions/5/selector"[data-dsa-game-message]"
/screens/games/actions/5/authority"DSA game lifecycle"
/screens/games/themeableBlocks/0"startPrompt"
/screens/games/themeableBlocks/1"canvasFrame"
/screens/games/themeableBlocks/2"hud"
/screens/games/themeableBlocks/3"gameChoices"
/screens/games/themeableBlocks/4"message"
/screens/games/themeableBlocks/5"rewardPreview"
/screens/games/notes/0"Themes may style the game shell, HUD, choices, messages, and canvas frame."
/screens/games/notes/1"Themes must not replace the canvas engine, score loop, reward verification, attempt timing, or coupon issuance authority."
/screens/games/notes/2"Standalone previews may use a static canvas poster or simple mock canvas; that preview code is never importable theme code."
/screens/ai/ownedBy"DSA AI insight queue, notification history, cart/notification/action executors"
/screens/ai/currentFactory"assets/js/modules/ai-panel.js"
/screens/ai/runtimeAdapter"visual-profile registry in ai-panel.js"
/screens/ai/requiredRoot"[data-dsa-ai-panel]"
/screens/ai/actions/0/id"tray"
/screens/ai/actions/0/selector"[data-dsa-ai-tray-toggle]"
/screens/ai/actions/0/authority"DSA AI tray state"
/screens/ai/actions/1/id"insightAction"
/screens/ai/actions/1/selector"[data-dsa-ai-insight-action]"
/screens/ai/actions/1/authority"DSA AI action executor"
/screens/ai/actions/2/id"insightDismiss"
/screens/ai/actions/2/selector"[data-dsa-ai-insight-dismiss]"
/screens/ai/actions/2/authority"DSA AI memory"
/screens/ai/actions/3/id"notificationDismiss"
/screens/ai/actions/3/selector"[data-dsa-ai-notification-dismiss]"
/screens/ai/actions/3/authority"DSA AI notification history"
/screens/ai/actions/4/id"status"
/screens/ai/actions/4/selector"[data-dsa-ai-insight-status]"
/screens/ai/actions/4/authority"DSA AI action executor"
/screens/ai/themeableBlocks/0"panelTitle"
/screens/ai/themeableBlocks/1"inboxSummary"
/screens/ai/themeableBlocks/2"insightCards"
/screens/ai/themeableBlocks/3"emptyState"
/screens/ai/themeableBlocks/4"reportCards"
/screens/ai/themeableBlocks/5"chatPlaceholder"
/screens/ai/notes/0"Themes may rearrange AI presentation but must not execute AI actions directly."
/screens/ai/notes/1"Popout rendering and swipe/dismiss ownership remain core-owned."

Machine contract · Markdown start · GitHub mirror · All commands