Skip to main content
VhyxSealPlayground

Level 3 — Full Contract

Define the complete contract outside JSX. Agents get the full picture — preconditions, consequences, error states, and reversibility. The live manifest updates whenever contracts change.

Button with full contract — 3 preconditions, 2 permissions, 2 error states

FULL — complete contract

  • 3 preconditions (auth, cart items, payment method)
  • 2 permissions (write:orders, read:payment)
  • reversible within 300 seconds
  • 2 error states with recovery paths
  • nextExpected components defined

Live manifest — updates as contracts register

Contracts registered: 0 · Has contracts: false

Full contract definition

{
  "safetyLevel": "high",
  "reversible": true,
  "requiresConfirmation": true,
  "destructive": false,
  "id": "checkout-submit-btn",
  "type": "action",
  "intent": "place-order",
  "description": "Submits the current cart as a purchase order",
  "requires": [
    {
      "field": "user.authenticated",
      "operator": "===",
      "value": true,
      "description": "User must be logged in"
    },
    {
      "field": "cart.hasItems",
      "operator": "===",
      "value": true,
      "description": "Cart must have at least one item"
    },
    {
      "field": "user.hasPaymentMethod",
      "operator": "===",
      "value": true,
      "description": "Payment method must be saved"
    }
  ],
  "requiredPermissions": [
    "write:orders",
    "read:payment"
  ],
  "consequence": "Creates order record, charges payment method, triggers fulfillment",
  "affects": [
    "cart",
    "orders",
    "payment",
    "inventory"
  ],
  "reversibleWindow": 300,
  "alternatives": [
    "save-for-later-btn"
  ],
  "nextExpected": [
    "order-confirmation-display",
    "payment-error-display"
  ],
  "errorStates": [
    {
      "trigger": "payment declined",
      "display": "red banner with message payment failed",
      "recovery": "navigate to update-payment-method input"
    },
    {
      "trigger": "item out of stock",
      "display": "modal listing unavailable items",
      "recovery": "remove unavailable items then retry"
    }
  ],
  "contractVersion": "1.0.0",
  "fingerprint": "vhyxs_219e4fad",
  "lastVerified": "2026-10-04T17:10:36.025Z",
  "verifiedBy": "auto"
}

Live manifest snapshot

{
  "vhyxseal": "1.0.0",
  "domain": "play.vhyxseal.com",
  "generatedAt": "2026-10-04T17:10:36.028Z",
  "componentCount": 0,
  "components": []
}