Skip to main content
Repeat-purchase catalog

Merchant capability manifest

See every intended Kibble capability in one place.

The source snapshot captured 2026-06-29 reports these seven capabilities as live. Aisles exposes catalog evidence or a fixed service boundary without creating a cart, account, order, payment, or subscription.

Snapshot: live · 2026-06-29storefront

Subscribe & save

Choose a recurring cadence and receive the merchant-configured subscription price.

Canonical registry: listed — The 2026-06-28 canonical registry lists subscribe-and-save as a PDP demo capability.

Aisles mode: catalog evidence Review Auto-Refill evidence
Snapshot: live · 2026-06-29storefront

Free trial

See a plan with a trial period before the first charge.

Canonical registry: listed — The 2026-06-28 canonical registry lists free-trial as a PDP demo capability.

Aisles mode: catalog evidence Review trial evidence
Snapshot: live · 2026-06-29storefront

Intro offer

See a first-cycle offer that does not rewrite later recurring prices.

Canonical registry: listed — The 2026-06-28 canonical registry lists intro-offer as a PDP demo capability.

Aisles mode: catalog evidence Review intro-offer evidence
Snapshot: live · 2026-06-29storefront

Annual billing

See a yearly plan alongside the product's recurring purchase context.

Canonical registry: not-listed — Annual is live in the 2026-06-29 demo-state but is not a named capability in the 2026-06-28 canonical PDP registry.

Aisles mode: catalog evidence Review annual evidence
Snapshot: live · 2026-06-29portal

Prepaid

Pay for several cycles up front while each delivery remains provider-managed.

Canonical registry: roadmap — The 2026-06-28 canonical registry calls prepaid roadmap; the 2026-06-29 demo-state reports one live portal scenario.

Aisles mode: fixed service preview Open prepaid checkout boundary
Snapshot: live · 2026-06-29portal

Gift a subscription

Separate the payer from the recipient and let the recipient manage the subscription.

Canonical registry: absent — The 2026-06-28 canonical registry says gift is absent because no gift_tokens table exists; the 2026-06-29 demo-state reports one live portal scenario.

Aisles mode: fixed service preview Open gift checkout boundary
Snapshot: live · 2026-06-29portal

Build-a-box

Choose from a merchant-approved product set during the subscription customization window.

Canonical registry: portal-only — The 2026-06-28 canonical registry describes build-a-box as portal-only with no PDP URL.

Aisles mode: fixed service preview Open portal capability boundary
Aisles capability proof matrix (6 action types · 14 surface proofs)

Action types describe what may change. Each surface proof names its stable route, exact zone instances, prerequisites, and expected rendered evidence. Readiness is separate from both AI-zone and provider-call counts.

  1. Action typeselect_products
    rules · home

    Select approved products

    Selects only from the merchant candidate set; catalog membership stays fixed.

    home proof

    Route and trigger
    /?observe=true#kibble-signal-lab
    Apply a synthetic shopper scenario · user-triggered
    Named zones
    home.featured-row.1 · home.featured-row.2 · home.featured-row.3
    Candidates
    At least three current, server-loaded catalog products. Every selected product must already belong to the merchant candidate set.
    Before
    The server-rendered merchant shelf order.
    Observe: 0 AI zones · 0 AI calls
    Changed
    Rules may choose a different approved subset for the inferred shopper.
    Kept
    The same approved subset remains when it already satisfies the rules.
    Expected result
    0 AI zones · 0 AI calls
    Rules-owned output is never counted as an AI zone.
    Fixed facts
    product-facts · price · eligibility · cadence · inventory · links · cart · checkout · account · payment · order · subscription
    Fail closed
    Too few or invalid server candidates retain the merchant shelf; no provider path exists for this trigger.

    Why this route is stable: The Home signal lab re-runs the deterministic rules decision against the server-loaded shelf.

    Open home evidence
  2. Action typerank_products
    rules + model · home, plp, pdp

    Rank approved products

    Changes order only; product facts, price, links, and actions stay fixed.

    home proof

    Route and trigger
    /?observe=true
    Run bounded AI · user-triggered
    Named zones
    home.featured-row.1
    Candidates
    One to eight unique current, server-loaded shelf products. The returned order must be an exact permutation of those IDs.
    Before
    The approved Home shelf order.
    Observe: 0 AI zones · 0 AI calls
    Changed
    The same Home product IDs appear in a model-selected order.
    Kept
    The original order remains as a valid model-selected result.
    Expected result
    3 AI zones · 1–2 AI calls
    The shared Home run renders three validated named-zone selections.
    Fixed facts
    product-facts · price · eligibility · cadence · inventory · links · cart · checkout · account · payment · order · subscription
    Fail closed
    An invalid candidate set, permutation, route, or sibling zone result keeps the approved Home presentation and renders zero AI zones.

    Why this route is stable: Home binds one current one-to-eight-product shelf to home.featured-row.1 and publishes only an exact permutation.

    Open home evidence

    plp proof

    Route and trigger
    /category/dog-food?sort=FEATURED&observe=true
    Run bounded AI · user-triggered
    Named zones
    plp.product-ranking
    Candidates
    FEATURED sort with no cursor. Three to eight unique current prefix products; any tail stays in merchant order.
    Before
    Merchant PLP prefix order followed by its unchanged tail.
    Observe: 0 AI zones · 0 AI calls
    Changed
    The same rankable prefix IDs appear in a model-selected order.
    Kept
    The prefix and unchanged tail remain when the model agrees.
    Expected result
    2–3 AI zones · 1–2 AI calls
    Header and ranking render; optional PLP marketing counts only when visible.
    Fixed facts
    product-facts · price · eligibility · cadence · inventory · links · cart · checkout · account · payment · order · subscription
    Fail closed
    A cursor, non-FEATURED sort, invalid prefix, adjacent artifact, or failed gate keeps the merchant PLP and renders zero AI zones.

    Why this route is stable: The local showcase pins the Dog Food category; only the first three to eight unique server-loaded products are rankable.

    Open plp evidence

    pdp proof

    Route and trigger
    /product/puppy-starter-kit?observe=true
    Run bounded AI · user-triggered
    Named zones
    pdp.related
    Candidates
    Exactly three or four unique current products. Native related products are preferred; category siblings are labeled category_sibling with no merchant-related claim.
    Before
    Merchant order and merchant-authored related heading.
    Observe: 0 AI zones · 0 AI calls
    Changed
    The same PDP candidate IDs appear in a model-selected order.
    Kept
    The original order remains as a valid model-selected result.
    Expected result
    1–2 AI zones · 1–2 AI calls
    The related rail counts; optional PDP marketing counts only when visible.
    Fixed facts
    product-facts · price · eligibility · cadence · inventory · links · cart · checkout · account · payment · order · subscription
    Fail closed
    Fewer than three candidates, an unapproved route, invalid output, or a failed gate keeps the approved PDP rail and renders zero AI zones.

    Why this route is stable: The local showcase preflights 4 unique category_sibling candidates from fixture 833824a875f1fbe83a5d1d9164f521aa38e64e3902d22623a6af1b8cad84fe49; a drifting live catalog still fails closed.

    Open pdp evidence
  3. Action typeselect_copy_variant
    model · home, plp, pdp, search, cart, checkout

    Select approved copy

    Selects a merchant-authored variant ID; the model does not write storefront claims.

    home proof

    Route and trigger
    /?observe=true
    Run bounded AI · user-triggered
    Named zones
    home.hero · home.featured-row.1 · home.editorial-strip
    Candidates
    One to eight unique current shelf products. Every copy ID must belong to the exact named Home zone.
    Before
    Three merchant baseline Home copy variants.
    Observe: 0 AI zones · 0 AI calls
    Changed
    One or more merchant-authored Home variants render.
    Kept
    Any baseline variant remains valid when selected.
    Expected result
    3 AI zones · 1–2 AI calls
    All three validated Home selections render and count.
    Fixed facts
    product-facts · price · eligibility · cadence · inventory · links · cart · checkout · account · payment · order · subscription
    Fail closed
    A missing, crossed, or unapproved Home copy ID keeps the complete merchant presentation and renders zero AI zones.

    Why this route is stable: Home binds copy IDs separately to hero, featured shelf, and catalog module instances.

    Open home evidence

    plp proof

    Route and trigger
    /category/dog-food?sort=FEATURED&observe=true
    Run bounded AI · user-triggered
    Named zones
    plp.editorial-header · plp.marketing-block
    Candidates
    An eligible pinned PLP ranking prefix. Header and marketing IDs must validate in their own named catalogs.
    Before
    Merchant PLP header copy and no optional marketing block.
    Observe: 0 AI zones · 0 AI calls
    Changed
    Approved PLP header or visible marketing copy changes.
    Kept
    Baseline header and a hidden marketing result remain valid.
    Expected result
    2–3 AI zones · 1–2 AI calls
    Header and ranking count; marketing counts only when visible.
    Fixed facts
    product-facts · price · eligibility · cadence · inventory · links · cart · checkout · account · payment · order · subscription
    Fail closed
    Any crossed or unapproved PLP copy ID keeps the complete merchant PLP and renders zero AI zones.

    Why this route is stable: The pinned Dog Food PLP binds separate header and optional-marketing copy catalogs.

    Open plp evidence

    pdp proof

    Route and trigger
    /product/puppy-starter-kit?observe=true
    Run bounded AI · user-triggered
    Named zones
    pdp.related · pdp.below-description
    Candidates
    Exactly three or four current PDP candidates. Related and marketing IDs must validate in their own named catalogs.
    Before
    Merchant related heading and no optional marketing block.
    Observe: 0 AI zones · 0 AI calls
    Changed
    Approved related or visible marketing copy changes.
    Kept
    Baseline related copy and a hidden marketing result remain valid.
    Expected result
    1–2 AI zones · 1–2 AI calls
    Related counts; marketing counts only when visible.
    Fixed facts
    product-facts · price · eligibility · cadence · inventory · links · cart · checkout · account · payment · order · subscription
    Fail closed
    Any crossed or unapproved PDP copy ID keeps the complete merchant PDP and renders zero AI zones.

    Why this route is stable: The pinned proof PDP binds related-heading and optional-marketing variants to two exact instances.

    Open pdp evidence
    Route and trigger
    /search?q=zzzz-kibble-no-match&observe=true
    Run bounded AI · user-triggered
    Named zones
    search.empty-state
    Candidates
    The server must confirm the query has zero catalog results. The returned ID must match one merchant-authored search variant.
    Before
    Merchant baseline search-recovery copy.
    Observe: 0 AI zones · 0 AI calls
    Changed
    A different merchant-authored recovery variant renders.
    Kept
    The baseline variant remains a valid model-selected result.
    Expected result
    1 AI zones · 1–2 AI calls
    Only the rendered search recovery zone counts.
    Fixed facts
    product-facts · price · eligibility · cadence · inventory · links · cart · checkout · account · payment · order · subscription
    Fail closed
    Any search result, unapproved copy ID, disabled gate, or provider failure keeps the baseline and renders zero AI zones.

    Why this route is stable: A server-confirmed zero-result search exposes one copy-only recovery zone.

    Open search evidence

    cart proof

    Route and trigger
    /cart?observe=true
    Run bounded AI · user-triggered
    Named zones
    cart.empty-state
    Candidates
    The server-owned cart shell must remain empty and disconnected. The returned ID must match one merchant-authored cart variant.
    Before
    Merchant baseline empty-cart copy.
    Observe: 0 AI zones · 0 AI calls
    Changed
    A different merchant-authored empty-cart variant renders.
    Kept
    The baseline variant remains valid.
    Expected result
    1 AI zones · 1–2 AI calls
    Only the rendered cart empty-state zone counts.
    Fixed facts
    product-facts · price · eligibility · cadence · inventory · links · cart · checkout · account · payment · order · subscription
    Fail closed
    Any unapproved ID, non-empty state, disabled gate, or provider failure keeps the disconnected empty-cart shell and renders zero AI zones.

    Why this route is stable: The disconnected Kibble cart route is a stable empty shell with one copy-only recovery instance.

    Open cart evidence

    checkout proof

    Route and trigger
    /checkout/gift?observe=true
    Run bounded AI · user-triggered
    Named zones
    checkout.assurance-strip
    Candidates
    The gift checkout shell must remain unavailable and transaction-free. The returned ID must match one merchant-authored reassurance variant.
    Before
    Merchant baseline checkout reassurance copy.
    Observe: 0 AI zones · 0 AI calls
    Changed
    A different merchant-authored reassurance variant renders.
    Kept
    The baseline variant remains valid.
    Expected result
    1 AI zones · 1–2 AI calls
    Only the rendered checkout assurance zone counts.
    Fixed facts
    product-facts · price · eligibility · cadence · inventory · links · cart · checkout · account · payment · order · subscription
    Fail closed
    Any unapproved ID, executable checkout state, disabled gate, or provider failure keeps the unavailable shell and renders zero AI zones.

    Why this route is stable: The gift route is a stable unavailable shell with one reassurance-only presentation instance.

    Open checkout evidence
  4. Action typeselect_component_variant
    model · home

    Select an approved component

    Chooses from registered component variants inside the existing page recipe.

    home proof

    Route and trigger
    /?observe=true
    Run bounded AI · user-triggered
    Named zones
    home.editorial-strip
    Candidates
    One to eight unique current shelf products. The component ID must be one of the two registered Home catalog-module variants.
    Before
    The four-column merchant catalog module.
    Observe: 0 AI zones · 0 AI calls
    Changed
    The registered two-column module renders.
    Kept
    The registered four-column baseline remains valid.
    Expected result
    3 AI zones · 1–2 AI calls
    The shared Home run renders three validated named-zone selections.
    Fixed facts
    product-facts · price · eligibility · cadence · inventory · links · cart · checkout · account · payment · order · subscription
    Fail closed
    An unregistered component ID or any failed Home sibling validation keeps all three merchant-owned zones and renders zero AI zones.

    Why this route is stable: Home binds the catalog module to two registered complete component variants inside home.editorial-strip.

    Open home evidence
  5. Action typetoggle_zone
    model · plp, pdp

    Show an approved marketing zone

    May show or hide only the named optional marketing block.

    plp proof

    Route and trigger
    /category/dog-food?sort=FEATURED&observe=true
    Run bounded AI · user-triggered
    Named zones
    plp.marketing-block
    Candidates
    An eligible pinned PLP ranking prefix. Visibility and copy must validate together for plp.marketing-block.
    Before
    No PLP marketing block is rendered.
    Observe: 0 AI zones · 0 AI calls
    Changed
    One merchant-authored block renders in the PLP slot.
    Kept
    A model-selected hidden result mounts no DOM and adds no AI zone.
    Expected result
    2–3 AI zones · 1–2 AI calls
    Header and ranking count; PLP marketing counts only when visible.
    Fixed facts
    product-facts · price · eligibility · cadence · inventory · links · cart · checkout · account · payment · order · subscription
    Fail closed
    An invalid visibility/variant pairing, crossed binding, failed gate, or failed sibling execution keeps the merchant PLP and publishes no model zones; a valid hidden selection is an AI-kept result with two rendered zones.

    Why this route is stable: The pinned Dog Food PLP includes one named optional marketing slot hidden by default.

    Open plp evidence

    pdp proof

    Route and trigger
    /product/puppy-starter-kit?observe=true
    Run bounded AI · user-triggered
    Named zones
    pdp.below-description
    Candidates
    The PDP action must be eligible with three or four bound candidates. Visibility and copy must validate together for pdp.below-description.
    Before
    No PDP marketing block is rendered.
    Observe: 0 AI zones · 0 AI calls
    Changed
    One merchant-authored block renders in the PDP slot.
    Kept
    A model-selected hidden result mounts no DOM and adds no AI zone.
    Expected result
    1–2 AI zones · 1–2 AI calls
    Related counts; PDP marketing counts only when visible.
    Fixed facts
    product-facts · price · eligibility · cadence · inventory · links · cart · checkout · account · payment · order · subscription
    Fail closed
    An invalid visibility/variant pairing, crossed binding, failed gate, or failed sibling execution keeps the merchant PDP and publishes no model zones; a valid hidden selection is an AI-kept result with one rendered zone.

    Why this route is stable: The pinned proof product 3064 preflights four honest category siblings; pdp.below-description is hidden by default.

    Open pdp evidence
  6. Action typereorder_zones
    model · home

    Reorder approved Home sections

    Reorders only the approved Home section pair; checkout and account structure remain fixed.

    home proof

    Route and trigger
    /?observe=true
    Run bounded AI · user-triggered
    Named zones
    home.featured-row.1
    Candidates
    The featured and catalog sections must both be present. The placement ID must be one of two merchant-approved orders.
    Before
    Featured shelf, then category catalog module.
    Observe: 0 AI zones · 0 AI calls
    Changed
    The two existing named sections exchange order.
    Kept
    The merchant baseline order remains valid.
    Expected result
    3 AI zones · 1–2 AI calls
    The shared Home run renders three selections; action fields are not extra zones.
    Fixed facts
    product-facts · price · eligibility · cadence · inventory · links · cart · checkout · account · payment · order · subscription
    Fail closed
    Any unapproved placement or missing section keeps the baseline Home order and renders zero AI zones.

    Why this route is stable: home.featured-row.1 may choose only featured-then-catalog or catalog-then-featured for the existing pair.

    Open home evidence
Source models not claimed for this Kibble demo (7)
  • Bundle plansconfigurable · demo-state absent

    The pinned demo-state reports no live bundle-plan scenario.

  • Membership / accessconfigurable · demo-state absent

    The Kibble catalog contains physical retail products, not an access entitlement scenario.

  • Usage-based / meteredconfigurable · demo-state absent

    No Kibble product or provider flow reports metered usage.

  • Curation / surprise-meconfigurable · demo-state absent

    No live-in-snapshot curation plan or renewal-selection flow is present.

  • Allotment / walletconfigurable · demo-state absent

    No recurring quota or wallet exists in the pinned Kibble evidence.

  • Multi-actorconfigurable · demo-state absent

    Gift evidence does not prove a general owner, payer, and beneficiary role model.

  • Calendar-anchored billingconfigurable · demo-state not-listed

    The marketing registry lists this model, but the pinned demo-state does not include it.