{
  "name": "visibility.cloud get-started interview",
  "version": "2026-07-31.3",
  "surfaces_live": "The interview is live on this origin (POST /flow, no script required), and the spine's translate, validate and hash doors answer at https://epcis.dev. The hosted capture spine (api.epcis.dev) is a named entry in the public P0 ledger (https://visibility.cloud/p0-ledger/). No conformance attestation has ever been issued, and none is claimed.",
  "entry": {
    "step_1": "email, captured under the verbatim one-message promise",
    "step_2": "S1",
    "final_step": "a locked thank-you: the ending is written once per address and a completed interview never reopens"
  },
  "meetings_sentence": "We answer in writing. We take at most five conversations a month, only when you ask for one, and only after you already have the written read.",
  "promise_core": "Your capture workspace is provisioned from this list, in order. One email when your seat is ready &mdash; one, not a drip campaign. Nothing else, ever &mdash; no newsletter, no sequence. If we stop working on this, you get one message saying so and your address is deleted. Either way it is one message.",
  "conversation_promise": "This address is its own consent: stored in its own table, used once to arrange the one conversation you asked for, and never joined to the waitlist or any list. If this month&rsquo;s five are already spent, the next page says so and nothing is stored.",
  "conversation_cap": "Five conversations a month, enforced by count in the store before anything is written &mdash; and re-checked at ending render time: when the five are spent the cap sentence renders and no field is offered, so an ask can never be typed into a month that is already full.",
  "conversation_explicit_request": "The ask renders only when the arrival chose the non-default option at their branch's explicit-request node (EQ10, QQ8); the pre-selected default is that the written read is enough, and choosing it renders no conversation field at all.",
  "nodes": {
    "S1": {
      "kind": "question",
      "question_kind": "ownership",
      "prompt": "What does your company actually put in someone&rsquo;s hands?",
      "free_text": null,
      "options": [
        {
          "key": "brand-coman",
          "label": "We put our name on products, and somebody else&rsquo;s factory makes them.",
          "goto": "M1"
        },
        {
          "key": "brand-own",
          "label": "We make our own products, in our own plants, under our own brands.",
          "goto": "S2a"
        },
        {
          "key": "coman",
          "label": "We make or pack products for other companies&rsquo; brands.",
          "goto": "P1"
        },
        {
          "key": "restaurants",
          "label": "We run restaurants.",
          "goto": "Q1"
        },
        {
          "key": "stores",
          "label": "We run stores.",
          "goto": "S2b"
        },
        {
          "key": "logistics",
          "label": "We move, store, or ship other people&rsquo;s goods.",
          "goto": "L1"
        },
        {
          "key": "integrator",
          "label": "We install the scanners, printers, readers and tags for other companies.",
          "goto": "I1"
        },
        {
          "key": "isv",
          "label": "We sell software to companies that do any of the above.",
          "goto": "V1"
        },
        {
          "key": "engineer",
          "label": "I&rsquo;m an engineer at one of those companies and I&rsquo;ve been told to build something.",
          "goto": "D1"
        },
        {
          "key": "none",
          "label": "None of these.",
          "goto": "S3"
        }
      ]
    },
    "S2a": {
      "kind": "question",
      "question_kind": "ownership",
      "prompt": "Roughly how big, revenue-wise?",
      "free_text": null,
      "options": [
        {
          "key": "under-1b",
          "label": "Under $1B.",
          "goto": "M1"
        },
        {
          "key": "over-1b",
          "label": "$1B or more.",
          "goto": "E11"
        }
      ]
    },
    "S2b": {
      "kind": "question",
      "question_kind": "ownership",
      "prompt": "Do you sell fresh food &mdash; produce, deli, meat, prepared?",
      "free_text": null,
      "options": [
        {
          "key": "yes",
          "label": "Yes.",
          "goto": "G1"
        },
        {
          "key": "no",
          "label": "No.",
          "goto": "A1"
        }
      ]
    },
    "S3": {
      "kind": "question",
      "question_kind": "ownership",
      "prompt": "Closest thing, then: what moves through your business?",
      "free_text": null,
      "options": [
        {
          "key": "pharma",
          "label": "Prescription drugs or medical devices.",
          "goto": "N.E1"
        },
        {
          "key": "packaging",
          "label": "We print labels or packaging.",
          "goto": "N.E2"
        },
        {
          "key": "pos",
          "label": "We make POS systems or scanners.",
          "goto": "N.E3"
        },
        {
          "key": "vehicles",
          "label": "Vehicles, at auction or in transit.",
          "goto": "N.E4"
        },
        {
          "key": "truly-none",
          "label": "Genuinely none of these.",
          "goto": "N.E5"
        }
      ]
    },
    "M1": {
      "kind": "question",
      "question_kind": "current_tool",
      "prompt": "Last quarter, when you wanted to know how a product actually performed in a market &mdash; what did you open first?",
      "free_text": null,
      "options": [
        {
          "key": "panel",
          "label": "A syndicated panel (Circana / Nielsen / SPINS).",
          "goto": "MR0"
        },
        {
          "key": "portal",
          "label": "A retailer portal.",
          "goto": "MR0"
        },
        {
          "key": "dtc",
          "label": "Our own DTC / Shopify dashboard.",
          "goto": "MR0"
        },
        {
          "key": "broker",
          "label": "A spreadsheet from the broker.",
          "goto": "MR0"
        },
        {
          "key": "asked",
          "label": "I asked someone.",
          "goto": "MR0"
        }
      ]
    },
    "MR0": {
      "kind": "route",
      "rules": [
        {
          "when": {
            "node": "S1",
            "in": [
              "brand-own"
            ]
          },
          "goto": "M2b"
        }
      ],
      "else": "M2"
    },
    "M2": {
      "kind": "question",
      "question_kind": "pain_frequency",
      "prompt": "The last time there was a quality problem at a co-packer &mdash; how did you find out, and how long from finding out to knowing which lots?",
      "free_text": "What happened? (optional, in your own words)",
      "options": [
        {
          "key": "hours",
          "label": "Hours.",
          "goto": "M3"
        },
        {
          "key": "days",
          "label": "Days.",
          "goto": "M3"
        },
        {
          "key": "weeks",
          "label": "Weeks.",
          "goto": "M3"
        },
        {
          "key": "never",
          "label": "Hasn&rsquo;t happened.",
          "goto": "M3"
        }
      ]
    },
    "M2b": {
      "kind": "question",
      "question_kind": "pain_frequency",
      "prompt": "The last time there was a quality problem at one of your plants &mdash; how did you find out, and how long from finding out to knowing which lots were affected?",
      "free_text": "What happened? (optional, in your own words)",
      "options": [
        {
          "key": "hours",
          "label": "Hours.",
          "goto": "M3"
        },
        {
          "key": "days",
          "label": "Days.",
          "goto": "M3"
        },
        {
          "key": "weeks",
          "label": "Weeks.",
          "goto": "M3"
        },
        {
          "key": "never",
          "label": "Hasn&rsquo;t happened.",
          "goto": "M3"
        }
      ]
    },
    "M3": {
      "kind": "question",
      "question_kind": "who_else_touches",
      "prompt": "Who owns your GTIN records today &mdash; who literally has the login?",
      "free_text": null,
      "options": [
        {
          "key": "me",
          "label": "Me.",
          "goto": "MR1"
        },
        {
          "key": "ops",
          "label": "Ops.",
          "goto": "MR1"
        },
        {
          "key": "broker",
          "label": "The broker.",
          "goto": "MR1"
        },
        {
          "key": "coman",
          "label": "The co-man.",
          "goto": "MR1"
        },
        {
          "key": "portal",
          "label": "A GS1 portal nobody logs into.",
          "goto": "MR1"
        },
        {
          "key": "unknown",
          "label": "No idea.",
          "goto": "MR1"
        }
      ]
    },
    "MR1": {
      "kind": "route",
      "rules": [
        {
          "when": {
            "node": "M1",
            "in": [
              "portal",
              "broker"
            ]
          },
          "goto": "M4o"
        }
      ],
      "else": "M4i"
    },
    "M4o": {
      "kind": "question",
      "question_kind": "past_behavior",
      "prompt": "Has a retailer sent you a 2D-readiness or Sunrise-2027 questionnaire? What did you send back?",
      "free_text": "What did you send back? (optional)",
      "options": [
        {
          "key": "yes-date",
          "label": "Yes, with a date on it.",
          "goto": "M5"
        },
        {
          "key": "yes-nodate",
          "label": "Yes, no date.",
          "goto": "M5"
        },
        {
          "key": "no",
          "label": "No.",
          "goto": "M5"
        }
      ]
    },
    "M4i": {
      "kind": "question",
      "question_kind": "past_behavior",
      "prompt": "When you launched something last year, how did you find out who bought it? Walk me through what you actually looked at in the first 30 days.",
      "free_text": "What did you look at? (optional)",
      "options": [
        {
          "key": "panel-only",
          "label": "Panel or retailer data only.",
          "goto": "M5"
        },
        {
          "key": "dtc-orders",
          "label": "DTC orders.",
          "goto": "M5"
        },
        {
          "key": "didnt",
          "label": "We didn&rsquo;t.",
          "goto": "M5"
        }
      ]
    },
    "M5": {
      "kind": "question",
      "question_kind": "existing_commitment",
      "prompt": "Is there anything already on your 2026 or 2027 plan that this touches &mdash; an artwork cycle, a retailer programme, a relaunch?",
      "free_text": "Name it, if you like. (optional)",
      "options": [
        {
          "key": "yes-dated",
          "label": "Yes, and it has a date.",
          "goto": "MR2"
        },
        {
          "key": "yes-undated",
          "label": "Yes, no date yet.",
          "goto": "MR2"
        },
        {
          "key": "no",
          "label": "No.",
          "goto": "MR2"
        }
      ]
    },
    "MR2": {
      "kind": "route",
      "rules": [
        {
          "when": {
            "node": "M4o",
            "in": [
              "yes-date",
              "yes-nodate"
            ]
          },
          "goto": "M.E2"
        },
        {
          "when": {
            "node": "M4i",
            "in": [
              "panel-only",
              "dtc-orders",
              "didnt"
            ]
          },
          "goto": "M.E1"
        }
      ],
      "else": "M.E3"
    },
    "E11": {
      "kind": "question",
      "question_kind": "ownership",
      "prompt": "Who chairs the 2D / Sunrise-2027 programme today, and what&rsquo;s their actual title?",
      "free_text": null,
      "options": [
        {
          "key": "named",
          "label": "A named person, and it&rsquo;s not me.",
          "goto": "E12"
        },
        {
          "key": "me",
          "label": "That&rsquo;s me.",
          "goto": "E12"
        },
        {
          "key": "committee",
          "label": "A committee.",
          "goto": "E12"
        },
        {
          "key": "nobody",
          "label": "Nobody yet.",
          "goto": "E12"
        }
      ]
    },
    "E12": {
      "kind": "question",
      "question_kind": "actual_spend",
      "prompt": "Is there a budget line for it this fiscal year, and who signs it?",
      "free_text": null,
      "options": [
        {
          "key": "yes-signer",
          "label": "Yes, and I know who signs it.",
          "goto": "E13"
        },
        {
          "key": "yes-unclear",
          "label": "Yes, signer unclear.",
          "goto": "E13"
        },
        {
          "key": "no",
          "label": "No.",
          "goto": "E13"
        },
        {
          "key": "unknown",
          "label": "Don&rsquo;t know.",
          "goto": "E13"
        }
      ]
    },
    "E13": {
      "kind": "question",
      "question_kind": "who_else_touches",
      "prompt": "What share of your volume runs through co-mans you don&rsquo;t own &mdash; and how do you get event data from them today?",
      "free_text": null,
      "options": [
        {
          "key": "files",
          "label": "File drops.",
          "goto": "E14"
        },
        {
          "key": "portal",
          "label": "A portal.",
          "goto": "E14"
        },
        {
          "key": "edi",
          "label": "EDI.",
          "goto": "E14"
        },
        {
          "key": "none",
          "label": "We don&rsquo;t.",
          "goto": "E14"
        }
      ]
    },
    "E14": {
      "kind": "question",
      "question_kind": "pain_frequency",
      "prompt": "When was the last mock recall or trace exercise that crossed a co-man boundary, and how long did it take end to end?",
      "free_text": "What broke, if anything? (optional)",
      "options": [
        {
          "key": "hours",
          "label": "Hours.",
          "goto": "E15"
        },
        {
          "key": "days",
          "label": "Days.",
          "goto": "E15"
        },
        {
          "key": "weeks",
          "label": "Weeks.",
          "goto": "E15"
        },
        {
          "key": "never",
          "label": "It has never crossed one.",
          "goto": "E15"
        }
      ]
    },
    "E15": {
      "kind": "question",
      "question_kind": "existing_commitment",
      "prompt": "Is there a date on the programme plan where a repository or a data destination has to be named?",
      "free_text": null,
      "options": [
        {
          "key": "yes",
          "label": "Yes, there is a date.",
          "goto": "ER1"
        },
        {
          "key": "no",
          "label": "No date yet.",
          "goto": "ER1"
        }
      ]
    },
    "ER1": {
      "kind": "route",
      "rules": [
        {
          "when": {
            "node": "E12",
            "in": [
              "yes-signer",
              "yes-unclear"
            ]
          },
          "goto": "EQ10"
        },
        {
          "when": {
            "node": "E15",
            "in": [
              "yes"
            ]
          },
          "goto": "EQ10"
        }
      ],
      "else": "E1.E2"
    },
    "EQ10": {
      "kind": "question",
      "question_kind": "explicit_request",
      "prompt": "Your written read is next, delivered in full either way. Is the written read enough?",
      "free_text": null,
      "options": [
        {
          "key": "written-enough",
          "label": "The written read is enough.",
          "goto": "E1.E1",
          "preselected_default": true
        },
        {
          "key": "ask-conversation",
          "label": "After I have the read, I want to ask for one of the month&rsquo;s five conversations.",
          "goto": "E1.E1"
        }
      ]
    },
    "Q1": {
      "kind": "question",
      "question_kind": "current_tool",
      "prompt": "Is there RFID or 2D scanning running in your restaurants or DCs right now?",
      "free_text": null,
      "options": [
        {
          "key": "production",
          "label": "In production.",
          "goto": "Q2"
        },
        {
          "key": "pilot",
          "label": "A pilot.",
          "goto": "Q2"
        },
        {
          "key": "evaluating",
          "label": "Evaluating.",
          "goto": "Q2"
        },
        {
          "key": "none",
          "label": "None.",
          "goto": "Q3"
        }
      ]
    },
    "Q2": {
      "kind": "question",
      "question_kind": "past_behavior",
      "prompt": "Where do those reads land today, and what&rsquo;s the last thing anybody actually did with them?",
      "free_text": "The last thing anybody did with them. (optional)",
      "options": [
        {
          "key": "inventory",
          "label": "Inventory counts.",
          "goto": "Q3"
        },
        {
          "key": "vendor-cloud",
          "label": "A vendor&rsquo;s cloud.",
          "goto": "Q3"
        },
        {
          "key": "data-lake",
          "label": "Our data lake.",
          "goto": "Q3"
        },
        {
          "key": "nowhere",
          "label": "Nowhere.",
          "goto": "Q3"
        }
      ]
    },
    "Q3": {
      "kind": "question",
      "question_kind": "pain_frequency",
      "prompt": "The last time you had to trace a lot back &mdash; what triggered it, and how long did it take?",
      "free_text": "What triggered it? (optional)",
      "options": [
        {
          "key": "hours",
          "label": "Hours.",
          "goto": "Q4"
        },
        {
          "key": "days",
          "label": "Days.",
          "goto": "Q4"
        },
        {
          "key": "weeks",
          "label": "Weeks.",
          "goto": "Q4"
        },
        {
          "key": "never",
          "label": "Hasn&rsquo;t happened.",
          "goto": "Q4"
        }
      ]
    },
    "Q4": {
      "kind": "question",
      "question_kind": "who_else_touches",
      "prompt": "When a franchise unit scans a case &mdash; whose data is that, contractually?",
      "free_text": null,
      "options": [
        {
          "key": "ours",
          "label": "Ours.",
          "goto": "Q5"
        },
        {
          "key": "theirs",
          "label": "Theirs.",
          "goto": "Q5"
        },
        {
          "key": "never-asked",
          "label": "It has never been asked.",
          "goto": "Q5"
        },
        {
          "key": "legal",
          "label": "Legal is involved.",
          "goto": "Q5"
        }
      ]
    },
    "Q5": {
      "kind": "question",
      "question_kind": "past_behavior",
      "prompt": "When the scanning programme was approved internally, was it sold on traceability or on inventory accuracy?",
      "free_text": null,
      "options": [
        {
          "key": "traceability",
          "label": "Traceability.",
          "goto": "QR1"
        },
        {
          "key": "inventory",
          "label": "Inventory accuracy.",
          "goto": "QR1"
        },
        {
          "key": "both",
          "label": "Both.",
          "goto": "QR1"
        },
        {
          "key": "no-programme",
          "label": "There is no programme.",
          "goto": "QR1"
        }
      ]
    },
    "QR1": {
      "kind": "route",
      "rules": [
        {
          "when": {
            "node": "Q1",
            "in": [
              "production",
              "pilot"
            ]
          },
          "goto": "QQ8"
        }
      ],
      "else": "Q.E2"
    },
    "QQ8": {
      "kind": "question",
      "question_kind": "explicit_request",
      "prompt": "Your written read is next, delivered in full either way. Is the written read enough?",
      "free_text": null,
      "options": [
        {
          "key": "written-enough",
          "label": "The written read is enough.",
          "goto": "Q.E1",
          "preselected_default": true
        },
        {
          "key": "ask-conversation",
          "label": "After I have the read, I want to ask for one of the month&rsquo;s five conversations.",
          "goto": "Q.E1"
        }
      ]
    },
    "G1": {
      "kind": "question",
      "question_kind": "ownership",
      "prompt": "Which one has a funded programme behind it today &mdash; the lane, or the dock?",
      "free_text": null,
      "options": [
        {
          "key": "lane",
          "label": "The lane.",
          "goto": "G2L"
        },
        {
          "key": "dock",
          "label": "The dock.",
          "goto": "G2D"
        },
        {
          "key": "both",
          "label": "Both.",
          "goto": "G2D"
        },
        {
          "key": "neither",
          "label": "Neither.",
          "goto": "G3"
        }
      ]
    },
    "G2L": {
      "kind": "question",
      "question_kind": "past_behavior",
      "prompt": "Have you asked your POS software vendor about 2D yet? What did they say?",
      "free_text": "What did they say? (optional)",
      "options": [
        {
          "key": "plan",
          "label": "Yes &mdash; they have a plan.",
          "goto": "G3"
        },
        {
          "key": "no-answer",
          "label": "Yes &mdash; no real answer.",
          "goto": "G3"
        },
        {
          "key": "not-yet",
          "label": "We have not asked them.",
          "goto": "G3"
        }
      ]
    },
    "G2D": {
      "kind": "question",
      "question_kind": "past_behavior",
      "prompt": "Tell me about the last traceability request you received &mdash; who asked, how long did it take, and what did you send?",
      "free_text": "Who asked, and what did you send? (optional)",
      "options": [
        {
          "key": "hours",
          "label": "It took hours.",
          "goto": "G3"
        },
        {
          "key": "days",
          "label": "It took days.",
          "goto": "G3"
        },
        {
          "key": "weeks",
          "label": "It took weeks.",
          "goto": "G3"
        },
        {
          "key": "never",
          "label": "We have never had one.",
          "goto": "G3"
        }
      ]
    },
    "G3": {
      "kind": "question",
      "question_kind": "who_else_touches",
      "prompt": "At a store, who physically receives a DSD delivery &mdash; and is that person recorded anywhere?",
      "free_text": null,
      "options": [
        {
          "key": "recorded",
          "label": "An associate, and it is recorded.",
          "goto": "G4"
        },
        {
          "key": "not-recorded",
          "label": "An associate, and it is not recorded.",
          "goto": "G4"
        },
        {
          "key": "driver",
          "label": "The driver scans; we don&rsquo;t.",
          "goto": "G4"
        },
        {
          "key": "varies",
          "label": "It varies by store.",
          "goto": "G4"
        }
      ]
    },
    "G4": {
      "kind": "question",
      "question_kind": "existing_commitment",
      "prompt": "When is your next POS refresh, and is it capital-approved?",
      "free_text": null,
      "options": [
        {
          "key": "12-approved",
          "label": "Within 12 months, approved.",
          "goto": "GR1"
        },
        {
          "key": "12-24",
          "label": "12&ndash;24 months out.",
          "goto": "GR1"
        },
        {
          "key": "further",
          "label": "Further out.",
          "goto": "GR1"
        },
        {
          "key": "unknown",
          "label": "Don&rsquo;t know.",
          "goto": "GR1"
        }
      ]
    },
    "GR1": {
      "kind": "route",
      "rules": [
        {
          "when": {
            "node": "G1",
            "in": [
              "neither"
            ]
          },
          "goto": "G.E2"
        },
        {
          "when": {
            "node": "G2D",
            "in": [
              "never"
            ]
          },
          "goto": "G.E2"
        }
      ],
      "else": "G.E1"
    },
    "A1": {
      "kind": "question",
      "question_kind": "past_behavior",
      "prompt": "Walk me through the last claim you filed against a carrier or a vendor. What evidence did you attach?",
      "free_text": "What was attached? (optional)",
      "options": [
        {
          "key": "pod-cctv",
          "label": "POD signatures, CCTV, WMS logs.",
          "goto": "AR0"
        },
        {
          "key": "scans",
          "label": "Scan data only.",
          "goto": "AR0"
        },
        {
          "key": "whatever",
          "label": "Whatever we had.",
          "goto": "AR0"
        },
        {
          "key": "no-claims",
          "label": "We don&rsquo;t file claims.",
          "goto": "AR0"
        }
      ]
    },
    "AR0": {
      "kind": "route",
      "rules": [
        {
          "when": {
            "node": "A1",
            "in": [
              "no-claims"
            ]
          },
          "goto": "A2b"
        }
      ],
      "else": "A2"
    },
    "A2": {
      "kind": "question",
      "question_kind": "current_tool",
      "prompt": "How do you decide today whether a loss is theft, damage, or a scan error?",
      "free_text": null,
      "options": [
        {
          "key": "prove",
          "label": "We can usually prove it.",
          "goto": "A3"
        },
        {
          "key": "infer",
          "label": "We infer it.",
          "goto": "A3"
        },
        {
          "key": "case",
          "label": "Case by case.",
          "goto": "A3"
        },
        {
          "key": "cant",
          "label": "We mostly can&rsquo;t.",
          "goto": "A3"
        }
      ]
    },
    "A2b": {
      "kind": "question",
      "question_kind": "past_behavior",
      "prompt": "No claims, then. The last time something went missing between the DC and the shelf &mdash; what actually happened to that loss?",
      "free_text": "What happened? (optional, in your own words)",
      "options": [
        {
          "key": "wrote-off",
          "label": "Written off as shrink; no cause established.",
          "goto": "A.E2"
        },
        {
          "key": "internal",
          "label": "We investigated internally; no carrier or vendor was ever involved.",
          "goto": "A.E2"
        },
        {
          "key": "recovered",
          "label": "We recover it through vendor negotiation, not claims.",
          "goto": "A.E2"
        },
        {
          "key": "rare",
          "label": "Rare enough that we don&rsquo;t track it.",
          "goto": "A.E2"
        }
      ]
    },
    "A3": {
      "kind": "question",
      "question_kind": "pain_cost",
      "prompt": "How many of these a month, and what&rsquo;s the average value?",
      "free_text": null,
      "options": [
        {
          "key": "under-10",
          "label": "Under 10 a month.",
          "goto": "A.E1"
        },
        {
          "key": "10-50",
          "label": "10&ndash;50 a month.",
          "goto": "A.E1"
        },
        {
          "key": "over-50",
          "label": "More than 50 a month.",
          "goto": "A.E1"
        },
        {
          "key": "few-year",
          "label": "A handful a year.",
          "goto": "A.E1"
        }
      ]
    },
    "P1": {
      "kind": "question",
      "question_kind": "past_behavior",
      "prompt": "Which customer told you to send event data, and what did the mandate actually say?",
      "free_text": "What did the mandate say? (optional)",
      "options": [
        {
          "key": "named-dated",
          "label": "A named customer, with a date.",
          "goto": "PR0"
        },
        {
          "key": "named",
          "label": "A named customer, no date.",
          "goto": "PR0"
        },
        {
          "key": "informal",
          "label": "It&rsquo;s coming, but nothing formal yet.",
          "goto": "PR0"
        },
        {
          "key": "nobody",
          "label": "Nobody has.",
          "goto": "PR0"
        }
      ]
    },
    "PR0": {
      "kind": "route",
      "rules": [
        {
          "when": {
            "node": "P1",
            "in": [
              "nobody"
            ]
          },
          "goto": "P3"
        }
      ],
      "else": "P2"
    },
    "P2": {
      "kind": "question",
      "question_kind": "pain_frequency",
      "prompt": "How many different customer formats are you maintaining right now?",
      "free_text": null,
      "options": [
        {
          "key": "one",
          "label": "1.",
          "goto": "P3"
        },
        {
          "key": "few",
          "label": "2&ndash;3.",
          "goto": "P3"
        },
        {
          "key": "many",
          "label": "4 or more.",
          "goto": "P3"
        },
        {
          "key": "none",
          "label": "None yet.",
          "goto": "P3"
        }
      ]
    },
    "P3": {
      "kind": "question",
      "question_kind": "current_tool",
      "prompt": "What does your MES or WMS emit &mdash; do you know the format and version?",
      "free_text": null,
      "options": [
        {
          "key": "epcis-1x",
          "label": "EPCIS 1.1 / 1.2 XML.",
          "goto": "P4"
        },
        {
          "key": "epcis-2",
          "label": "EPCIS 2.0.",
          "goto": "P4"
        },
        {
          "key": "vendor",
          "label": "Vendor JSON or CSV.",
          "goto": "P4"
        },
        {
          "key": "unknown",
          "label": "No idea.",
          "goto": "P4"
        }
      ]
    },
    "P4": {
      "kind": "question",
      "question_kind": "ownership",
      "prompt": "Who owns that integration &mdash; plant IT, corporate IT, or an outside integrator?",
      "free_text": null,
      "options": [
        {
          "key": "plant-it",
          "label": "Plant IT.",
          "goto": "PR1"
        },
        {
          "key": "corp-it",
          "label": "Corporate IT.",
          "goto": "PR1"
        },
        {
          "key": "integrator",
          "label": "An outside integrator.",
          "goto": "PR1"
        },
        {
          "key": "nobody",
          "label": "Nobody yet.",
          "goto": "PR1"
        }
      ]
    },
    "PR1": {
      "kind": "route",
      "rules": [
        {
          "when": {
            "node": "P1",
            "in": [
              "nobody"
            ]
          },
          "goto": "P.E3"
        }
      ],
      "else": "P.E1"
    },
    "L1": {
      "kind": "question",
      "question_kind": "past_behavior",
      "prompt": "Show me how you answered the traceability section of your last RFP &mdash; what did you actually write?",
      "free_text": "What did you write? (optional)",
      "options": [
        {
          "key": "wms-sops",
          "label": "A description of our WMS and a paragraph about SOPs.",
          "goto": "L2"
        },
        {
          "key": "capability",
          "label": "A real capability section.",
          "goto": "L2"
        },
        {
          "key": "ducked",
          "label": "We ducked it.",
          "goto": "L2"
        },
        {
          "key": "no-rfp",
          "label": "We haven&rsquo;t had one.",
          "goto": "L2"
        }
      ]
    },
    "L2": {
      "kind": "question",
      "question_kind": "past_behavior",
      "prompt": "Last time a client disputed a handling claim &mdash; how did it resolve, and what did you produce?",
      "free_text": "What did you produce? (optional)",
      "options": [
        {
          "key": "paid",
          "label": "We paid &mdash; we couldn&rsquo;t prove it.",
          "goto": "L3"
        },
        {
          "key": "won",
          "label": "We won &mdash; we had the records.",
          "goto": "L3"
        },
        {
          "key": "split",
          "label": "It split.",
          "goto": "L3"
        },
        {
          "key": "never",
          "label": "Hasn&rsquo;t happened.",
          "goto": "L3"
        }
      ]
    },
    "L3": {
      "kind": "question",
      "question_kind": "who_else_touches",
      "prompt": "On an average shift, roughly what share of the people handling goods are agency or temp?",
      "free_text": null,
      "options": [
        {
          "key": "none",
          "label": "None.",
          "goto": "L4"
        },
        {
          "key": "quarter",
          "label": "Under a quarter.",
          "goto": "L4"
        },
        {
          "key": "half",
          "label": "About half.",
          "goto": "L4"
        },
        {
          "key": "most",
          "label": "Most.",
          "goto": "L4"
        }
      ]
    },
    "L4": {
      "kind": "question",
      "question_kind": "past_behavior",
      "prompt": "Do any clients get a live view into your system today? How is that access granted &mdash; and how is it revoked?",
      "free_text": null,
      "options": [
        {
          "key": "yes-revocable",
          "label": "Yes &mdash; and revocation is defined.",
          "goto": "LR1"
        },
        {
          "key": "yes-norevoke",
          "label": "Yes &mdash; and nobody&rsquo;s ever asked how it&rsquo;s revoked.",
          "goto": "LR1"
        },
        {
          "key": "no",
          "label": "No.",
          "goto": "LR1"
        }
      ]
    },
    "LR1": {
      "kind": "route",
      "rules": [
        {
          "when": {
            "node": "L4",
            "in": [
              "yes-norevoke"
            ]
          },
          "goto": "L.E2"
        }
      ],
      "else": "L.E1"
    },
    "V1": {
      "kind": "question",
      "question_kind": "past_behavior",
      "prompt": "What did your customer actually ask for when they said EPCIS 2.0 conformance &mdash; what were the words?",
      "free_text": "The words, as near as you remember. (optional)",
      "options": [
        {
          "key": "attestation",
          "label": "A certificate or attestation.",
          "goto": "V2"
        },
        {
          "key": "test-run",
          "label": "A test run.",
          "goto": "V2"
        },
        {
          "key": "document",
          "label": "A document.",
          "goto": "V2"
        },
        {
          "key": "not-yet",
          "label": "It hasn&rsquo;t come up.",
          "goto": "V2"
        }
      ]
    },
    "V2": {
      "kind": "question",
      "question_kind": "past_behavior",
      "prompt": "Have you shipped any EPCIS support already? Which versions, and what broke?",
      "free_text": "What broke? (optional)",
      "options": [
        {
          "key": "1x",
          "label": "1.x XML.",
          "goto": "V3"
        },
        {
          "key": "2-partial",
          "label": "2.0, partially.",
          "goto": "V3"
        },
        {
          "key": "both",
          "label": "Both.",
          "goto": "V3"
        },
        {
          "key": "none",
          "label": "None.",
          "goto": "V3"
        }
      ]
    },
    "V3": {
      "kind": "question",
      "question_kind": "past_behavior",
      "prompt": "The last time a customer accepted or rejected your conformance claim &mdash; what did they ask you for, and what did you show them?",
      "free_text": "What did you show them? (optional)",
      "options": [
        {
          "key": "accepted",
          "label": "Accepted.",
          "goto": "VR1"
        },
        {
          "key": "rejected",
          "label": "Rejected.",
          "goto": "VR1"
        },
        {
          "key": "never",
          "label": "It has never been tested.",
          "goto": "VR1"
        }
      ]
    },
    "VR1": {
      "kind": "route",
      "rules": [
        {
          "when": {
            "node": "V1",
            "in": [
              "attestation"
            ]
          },
          "goto": "V.E2"
        }
      ],
      "else": "V.E1"
    },
    "I1": {
      "kind": "question",
      "question_kind": "past_behavior",
      "prompt": "In your last three proposals, what did you put in the &ldquo;where does the data go&rdquo; section?",
      "free_text": "What did you write? (optional)",
      "options": [
        {
          "key": "partner-saas",
          "label": "A software partner&rsquo;s SaaS.",
          "goto": "I2"
        },
        {
          "key": "client",
          "label": "The client&rsquo;s own systems.",
          "goto": "I2"
        },
        {
          "key": "open",
          "label": "We leave it open.",
          "goto": "I2"
        }
      ]
    },
    "I2": {
      "kind": "question",
      "question_kind": "actual_spend",
      "prompt": "What&rsquo;s your software attach rate today, and is it resold or referred?",
      "free_text": null,
      "options": [
        {
          "key": "resold",
          "label": "Resold.",
          "goto": "IR1"
        },
        {
          "key": "referred",
          "label": "Referred.",
          "goto": "IR1"
        },
        {
          "key": "neither",
          "label": "Neither.",
          "goto": "IR1"
        },
        {
          "key": "varies",
          "label": "It varies.",
          "goto": "IR1"
        }
      ]
    },
    "IR1": {
      "kind": "route",
      "rules": [
        {
          "when": {
            "node": "I2",
            "in": [
              "neither"
            ]
          },
          "goto": "I.E2"
        }
      ],
      "else": "I.E1"
    },
    "D1": {
      "kind": "question",
      "question_kind": "past_behavior",
      "prompt": "What did your team do the last time you needed EPCIS 2.0 conformance &mdash; build, buy, or defer?",
      "free_text": null,
      "options": [
        {
          "key": "build",
          "label": "Build.",
          "goto": "D2"
        },
        {
          "key": "buy",
          "label": "Buy.",
          "goto": "D2"
        },
        {
          "key": "defer",
          "label": "Defer.",
          "goto": "D2"
        },
        {
          "key": "first-time",
          "label": "It hasn&rsquo;t come up until now.",
          "goto": "D2"
        }
      ]
    },
    "D2": {
      "kind": "question",
      "question_kind": "ownership",
      "prompt": "What&rsquo;s the procurement threshold you can adopt under without a contract?",
      "free_text": null,
      "options": [
        {
          "key": "oss",
          "label": "Anything open-source.",
          "goto": "D3"
        },
        {
          "key": "5k",
          "label": "Under $5k.",
          "goto": "D3"
        },
        {
          "key": "25k",
          "label": "Under $25k.",
          "goto": "D3"
        },
        {
          "key": "review",
          "label": "Everything needs review.",
          "goto": "D3"
        }
      ]
    },
    "D3": {
      "kind": "question",
      "question_kind": "ownership",
      "prompt": "Who&rsquo;s the review gate &mdash; security, architecture, both, or neither?",
      "free_text": null,
      "options": [
        {
          "key": "security",
          "label": "Security.",
          "goto": "DR1"
        },
        {
          "key": "architecture",
          "label": "Architecture.",
          "goto": "DR1"
        },
        {
          "key": "both",
          "label": "Both.",
          "goto": "DR1"
        },
        {
          "key": "neither",
          "label": "Neither.",
          "goto": "DR1"
        }
      ]
    },
    "DR1": {
      "kind": "route",
      "rules": [
        {
          "when": {
            "node": "D3",
            "in": [
              "neither"
            ]
          },
          "goto": "D.E2"
        }
      ],
      "else": "D.E1"
    }
  },
  "endings": {
    "M.E1": {
      "kind": "waitlist",
      "stores_email": true,
      "scope_asked_about": "first-party signal from your own pack",
      "promise": "You asked about first-party signal from your own pack. That analytics product is not what this list provisions, and we say so now rather than after: this list provisions capture workspaces &mdash; the record layer under that signal &mdash; in order. One email when your seat is ready &mdash; one, not a drip campaign, and not the analytics product you asked about. Nothing else, ever &mdash; no newsletter, no sequence. If we stop working on this, you get one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "M.E2": {
      "kind": "waitlist",
      "stores_email": true,
      "scope_asked_about": "what to send back to a retailer asking for 2D readiness",
      "promise": "You asked what to send back to a retailer asking for 2D readiness. The written read below is that answer; this list provisions the record layer underneath it &mdash; your capture workspace, in order. One email when your seat is ready &mdash; one, not a drip campaign. Nothing else, ever &mdash; no newsletter, no sequence. If we stop, one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "M.E3": {
      "kind": "waitlist",
      "stores_email": true,
      "scope_asked_about": "nothing yet — your trigger has not fired",
      "promise": "Nothing is going to happen to you this quarter. We&rsquo;ll send one message when there&rsquo;s something to see. Nothing else, ever &mdash; no newsletter, no sequence. If we stop working on this, you get one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "E1.E1": {
      "kind": "waitlist",
      "stores_email": true,
      "scope_asked_about": "where the co-man event data would land",
      "promise": "You asked where the co-man event data would land. It lands in a capture workspace provisioned from this list, in order. One email when your seat is ready &mdash; one, not a drip campaign. Nothing else, ever &mdash; no newsletter, no sequence. If we stop, one message saying so and your address is deleted.",
      "offers_conversation": true
    },
    "E1.E2": {
      "kind": "waitlist",
      "stores_email": true,
      "scope_asked_about": "nothing yet — the programme has no budget line and no dated destination decision",
      "promise": "Nothing is going to happen to you this fiscal year. We&rsquo;ll send one message when there&rsquo;s something to see. Nothing else, ever &mdash; no newsletter, no sequence. If we stop working on this, you get one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "Q.E1": {
      "kind": "waitlist",
      "stores_email": true,
      "scope_asked_about": "where the reads from a deployment already in flight should land",
      "promise": "You asked where the reads from a deployment already in flight should land. They land in a capture workspace provisioned from this list, in order. One email when your seat is ready &mdash; one, not a drip campaign. Nothing else, ever &mdash; no newsletter, no sequence. If we stop, one message saying so and your address is deleted.",
      "offers_conversation": true
    },
    "Q.E2": {
      "kind": "waitlist",
      "stores_email": true,
      "scope_asked_about": "a data layer for a deployment that has not started yet",
      "promise": "One message when there&rsquo;s something to see. Nothing else, ever &mdash; no newsletter, no sequence. If we stop working on this, you get one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "G.E1": {
      "kind": "waitlist",
      "stores_email": true,
      "scope_asked_about": "where what the lane reads and what the dock receives should land",
      "promise": "You asked where what the lane reads and what the dock receives should land. It lands in a capture workspace provisioned from this list, in order. One email when your seat is ready &mdash; one, not a drip campaign. Nothing else, ever &mdash; no newsletter, no sequence. If we stop, one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "G.E2": {
      "kind": "waitlist",
      "stores_email": true,
      "scope_asked_about": "nothing yet — your trigger has not fired",
      "promise": "Nothing is going to happen to you this quarter. We&rsquo;ll send one message when there&rsquo;s something to see. Nothing else, ever &mdash; no newsletter, no sequence. If we stop working on this, you get one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "A.E1": {
      "kind": "waitlist",
      "stores_email": true,
      "scope_asked_about": "a handoff record that names who handled it",
      "promise": "You asked for a handoff record that names who handled it. That is the record this spine makes &mdash; who, the attested observer, distinct from capturedBy, the warrantor account &mdash; and your capture workspace is provisioned from this list, in order. One email when your seat is ready &mdash; one, not a drip campaign. Nothing else, ever &mdash; no newsletter, no sequence. If we stop, one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "A.E2": {
      "kind": "waitlist",
      "stores_email": true,
      "scope_asked_about": "nothing yet — you told us you don&rsquo;t file claims",
      "promise": "One message when there&rsquo;s something to see. Nothing else, ever &mdash; no newsletter, no sequence. If we stop working on this, you get one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "P.E1": {
      "kind": "waitlist",
      "stores_email": true,
      "scope_asked_about": "somewhere to point the line",
      "promise": "You asked for somewhere to point the line. Your capture workspace is provisioned from this list, in order &mdash; the stateless doors are live today, POST https://epcis.dev/translate, /validate and /hash, and the durable write path behind them is a named entry in this site's open P0 ledger. Capture is $0 per event, as policy. One email when your seat is ready. Nothing else, ever &mdash; no newsletter, no sequence. If we stop working on this, you get one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "P.E3": {
      "kind": "waitlist",
      "stores_email": true,
      "scope_asked_about": "nothing yet — your trigger is a customer mandate with a date on it",
      "promise": "One message when there&rsquo;s something to see. Nothing else, ever &mdash; no newsletter, no sequence. If we stop working on this, you get one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "L.E1": {
      "kind": "waitlist",
      "stores_email": true,
      "scope_asked_about": "scoped client visibility — a grant a shipper can verify without joining anything",
      "promise": "You asked for scoped client visibility &mdash; a grant a shipper can verify without joining anything. SharingGrants are named in the design, and the grant object is a named entry in this site's open P0 ledger; this list provisions the capture workspace the grants will scope over, in order. One email when your seat is ready &mdash; one, not a drip campaign. Nothing else, ever &mdash; no newsletter, no sequence. If we stop, one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "L.E2": {
      "kind": "waitlist",
      "stores_email": true,
      "scope_asked_about": "scoped client visibility, and the revocation nobody has asked about",
      "promise": "You asked for scoped client visibility &mdash; a grant a shipper can verify without joining anything. SharingGrants are named in the design, and the grant object is a named entry in this site's open P0 ledger; this list provisions the capture workspace the grants will scope over, in order. One email when your seat is ready &mdash; one, not a drip campaign. Nothing else, ever &mdash; no newsletter, no sequence. If we stop, one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "V.E1": {
      "kind": "dev-handoff",
      "stores_email": true,
      "scope_asked_about": "an embeddable, demonstrable EPCIS 2.0 layer",
      "promise": "Your capture workspace is provisioned from this list, in order. One email when your seat is ready &mdash; one, not a drip campaign. Nothing else, ever &mdash; no newsletter, no sequence. If we stop working on this, you get one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "V.E2": {
      "kind": "dev-handoff",
      "stores_email": true,
      "scope_asked_about": "a certificate or attestation of EPCIS 2.0 conformance",
      "promise": "Your capture workspace is provisioned from this list, in order. One email when your seat is ready &mdash; one, not a drip campaign. Nothing else, ever &mdash; no newsletter, no sequence. If we stop working on this, you get one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "I.E1": {
      "kind": "dev-handoff",
      "stores_email": true,
      "scope_asked_about": "a data layer includable in a hardware proposal",
      "promise": "There is no partner programme and there are no reseller terms &mdash; we say that first. If a partner surface ever exists you&rsquo;ll get one message. Otherwise: your capture workspace is provisioned from this list, in order, and the one email you get says your seat is ready. Nothing else, ever. If we stop working on this, you get one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "I.E2": {
      "kind": "dev-handoff",
      "stores_email": true,
      "scope_asked_about": "a data layer includable in a hardware proposal — starting from no attach at all",
      "promise": "There is no partner programme and there are no reseller terms &mdash; we say that first. If a partner surface ever exists you&rsquo;ll get one message. Otherwise: your capture workspace is provisioned from this list, in order, and the one email you get says your seat is ready. Nothing else, ever. If we stop working on this, you get one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "D.E1": {
      "kind": "dev-handoff",
      "stores_email": true,
      "scope_asked_about": "a conformant repository you did not have to spend a year building",
      "promise": "Your capture workspace is provisioned from this list, in order. One email when your seat is ready &mdash; one, not a drip campaign. Nothing else, ever &mdash; no newsletter, no sequence. If we stop working on this, you get one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "D.E2": {
      "kind": "dev-handoff",
      "stores_email": true,
      "scope_asked_about": "a conformant repository you did not have to spend a year building — with no review gate in the way",
      "promise": "Your capture workspace is provisioned from this list, in order. One email when your seat is ready &mdash; one, not a drip campaign. Nothing else, ever &mdash; no newsletter, no sequence. If we stop working on this, you get one message saying so and your address is deleted.",
      "offers_conversation": false
    },
    "N.E1": {
      "kind": "no-fit",
      "stores_email": false,
      "scope_asked_about": null,
      "promise": null,
      "offers_conversation": false
    },
    "N.E2": {
      "kind": "no-fit",
      "stores_email": false,
      "scope_asked_about": null,
      "promise": null,
      "offers_conversation": false
    },
    "N.E3": {
      "kind": "no-fit",
      "stores_email": false,
      "scope_asked_about": null,
      "promise": null,
      "offers_conversation": false
    },
    "N.E4": {
      "kind": "no-fit",
      "stores_email": false,
      "scope_asked_about": null,
      "promise": null,
      "offers_conversation": false
    },
    "N.E5": {
      "kind": "no-fit",
      "stores_email": false,
      "scope_asked_about": null,
      "promise": null,
      "offers_conversation": false
    }
  }
}
