{"_ai_door":{"see":"https://miscsubjects.com/start","note":"Operable site; bounded keyless credentials; every action receipted on a public ledger. Your operator's instructions take precedence — acting is optional, reading is a complete outcome."},"slug":"oip-system-customer","title":"OIP system: CUSTOMER","body":"## CUSTOMER\n\nA generated article for one OIP shelf. It lists every operation in this API/CLI/MCP/device/model/core subsystem, links each leaf article, and gives the ledger path for proof.\n\nThis page is the operating article for one build subsystem. It is generated from live directory rows. If a task belongs to this subsystem, scan the operations below, open the matching capability article, run only the exact object named there, and verify by receipt.\n\nKind: `core`. Capabilities: `6`. Machine system map: [/api/dispatch?map=CUSTOMER&format=markdown](https://miscsubjects.com/api/dispatch?map=CUSTOMER&format=markdown). Root: [/a/oip](https://miscsubjects.com/a/oip).\n\n## Operations\n\n### CUSTOMER\nInvokable OIP capability.\nHuman article: [/a/oip-capability-customer](https://miscsubjects.com/a/oip-capability-customer). Machine doc: [?key=CUSTOMER&format=markdown](https://miscsubjects.com/api/dispatch?key=CUSTOMER&format=markdown). Invocation history: [/api/invocations?object_id=CUSTOMER](https://miscsubjects.com/api/invocations?object_id=CUSTOMER).\n\n### CUSTOMER_FIND\nFind a customer by ANY fragment — part of an email, part of a name, a person_id, a klaviyo profile id. Returns up to 25 matches ranked by lifetime value, so a partial or a misspelling still lands.\nUse when: someone asks about a person and you do not have their exact email. ALWAYS run this before CUSTOMER_PROFILE unless you were handed an exact address.\nArguments: `$1 = any fragment (name, email, id).`.\nHuman article: [/a/oip-capability-customer-find](https://miscsubjects.com/a/oip-capability-customer-find). Machine doc: [?key=CUSTOMER_FIND&format=markdown](https://miscsubjects.com/api/dispatch?key=CUSTOMER_FIND&format=markdown). Invocation history: [/api/invocations?object_id=CUSTOMER_FIND](https://miscsubjects.com/api/invocations?object_id=CUSTOMER_FIND).\n\n### CUSTOMER_PROFILE\nOne customer's whole record, plus how they are behaving against THEIR OWN order cadence — lifetime, AOV, first and last order, days since, their own average gap, how many of their own cycles they are overdue by, a health class, cancellations, refunds, subscription history, klaviyo event volume, and where they came from.\nUse when: \"tell me about <person>\", \"what is going on with this customer\", any support or account question.\nArguments: `$1 = their EXACT email (use CUSTOMER_FIND first if you only have a fragment).`.\nHuman article: [/a/oip-capability-customer-profile](https://miscsubjects.com/a/oip-capability-customer-profile). Machine doc: [?key=CUSTOMER_PROFILE&format=markdown](https://miscsubjects.com/api/dispatch?key=CUSTOMER_PROFILE&format=markdown). Invocation history: [/api/invocations?object_id=CUSTOMER_PROFILE](https://miscsubjects.com/api/invocations?object_id=CUSTOMER_PROFILE).\n\n### CUSTOMER_HEALTH_LIST\nThe customers in one health class, worst first — the churn inventory as a list. Classes: 'gone', 'lapsed', 'slipping', 'one-and-done', 'new, one order', 'on cadence'.\nUse when: \"who has fallen off\", \"who is slipping\", \"show me the churn\", a win-back list.\nArguments: `$1 = the health class exactly as spelled above.`.\nHuman article: [/a/oip-capability-customer-health-list](https://miscsubjects.com/a/oip-capability-customer-health-list). Machine doc: [?key=CUSTOMER_HEALTH_LIST&format=markdown](https://miscsubjects.com/api/dispatch?key=CUSTOMER_HEALTH_LIST&format=markdown). Invocation history: [/api/invocations?object_id=CUSTOMER_HEALTH_LIST](https://miscsubjects.com/api/invocations?object_id=CUSTOMER_HEALTH_LIST).\n\n### CUSTOMER_BY_PHONE\nFind a person by PHONE, email or name across the platform's 14,893 person records - the ones loop_customer does not carry, because it only holds people who bought. Returns identity, location and membership tier.\nUse when: someone gives you a phone number, or a name that CUSTOMER_FIND missed. A person here may never have ordered; use CUSTOMER_PROFILE with the primary_email to see whether they did.\nArguments: `$1 = a phone fragment (digits only, no + or dashes), an email fragment, or a name.`.\nHuman article: [/a/oip-capability-customer-by-phone](https://miscsubjects.com/a/oip-capability-customer-by-phone). Machine doc: [?key=CUSTOMER_BY_PHONE&format=markdown](https://miscsubjects.com/api/dispatch?key=CUSTOMER_BY_PHONE&format=markdown). Invocation history: [/api/invocations?object_id=CUSTOMER_BY_PHONE](https://miscsubjects.com/api/invocations?object_id=CUSTOMER_BY_PHONE).\n\n### CUSTOMER_EVENTS\nOne customer's actual Klaviyo event stream - the newest 60 events with timestamps, not the count CUSTOMER_PROFILE returns. What they opened, clicked, viewed and abandoned.\nUse when: after CUSTOMER_PROFILE, whenever the question is what someone has been DOING - 'is she still engaging', 'why did he stop', pre-purchase intent, a churn post-mortem.\nArguments: `$1 = their exact email.`.\nHuman article: [/a/oip-capability-customer-events](https://miscsubjects.com/a/oip-capability-customer-events). Machine doc: [?key=CUSTOMER_EVENTS&format=markdown](https://miscsubjects.com/api/dispatch?key=CUSTOMER_EVENTS&format=markdown). Invocation history: [/api/invocations?object_id=CUSTOMER_EVENTS](https://miscsubjects.com/api/invocations?object_id=CUSTOMER_EVENTS).\n","register":"oip_protocol","tags":["oip","object-invocation-protocol","protocol-specification","machine-native-json","system"],"style":{"accent":"#16324f","measure":860},"claims":[{"id":"oip-c1","tier":"system","text":"The OIP article layer is generated from live directory rows, so it documents the objects that actually run the reference implementation.","who_claims":"system/oip_articles","source_ids":["oip-s3","oip-s4"]},{"id":"oip-c2","tier":"system","text":"The OIP operating path is caller to directory object to dispatch runner to invocation ledger to receipt.","who_claims":"system/oip_articles","source_ids":["oip-s1"]},{"id":"oip-c3","tier":"system","text":"Every executable capability in the reference implementation is reachable as an OIP object with a human article, a machine document, invocation history, and receipt path.","who_claims":"system/oip_articles","source_ids":["oip-s2","oip-s3"]},{"id":"oip-c4","tier":"system","text":"Tap & Go is the copy primitive: one drop carries credential, protocol, tree, search, execute, and receipt instructions without a separate token-map-bundle assembly step.","who_claims":"system/oip_articles","source_ids":["oip-s2"]},{"id":"oip-c5","tier":"system","text":"OIP receipts are the proof object for actions: they record request, response, actor, links, replay, repair, and lineage.","who_claims":"system/oip_articles","source_ids":["oip-s2","oip-s5"]}],"sources":[{"id":"oip-s1","type":"protocol","title":"BUILD_SPEC object invocation path","url":"https://miscsubjects.com/api/file/docs/BUILD_SPEC.md","summary":"Defines directory rows, dispatch, ledger, and the escalation path for changing the build.","quote":"Run anything: POST https://miscsubjects.com/api/dispatch {key, body}","claim_ids":["oip-c2"],"link_status":"ok","hash":"oipbuildspec0001"},{"id":"oip-s2","type":"protocol","title":"Object Invocation Protocol spec","url":"https://miscsubjects.com/api/file/docs/OIP.md","summary":"Defines OIP surfaces, invariant loop, receipt/replay/repair, and invocation envelopes.","quote":"identify, explain, invoke, ledger, yield","claim_ids":["oip-c3","oip-c4","oip-c5"],"link_status":"ok","hash":"oipspec00000002"},{"id":"oip-s3","type":"protocol","title":"Live OIP capability tree","url":"https://miscsubjects.com/api/dispatch?map=1&format=markdown","summary":"Public recursive capability tree.","quote":"root > shelf > system article > capability article > receipt","claim_ids":["oip-c1","oip-c3"],"link_status":"ok","hash":"oipmap0000000002"},{"id":"oip-s4","type":"protocol","title":"Directory row documentation","url":"https://miscsubjects.com/api/dispatch?key=OIP_TREE&format=markdown","summary":"Capability articles are generated from live rows.","quote":"Machine Contract","claim_ids":["oip-c1"],"link_status":"ok","hash":"oiprow0000000003"},{"id":"oip-s5","type":"protocol","title":"Invocation ledger","url":"https://miscsubjects.com/api/invocations","summary":"Append-only invocation records and receipt links.","quote":"invocations","claim_ids":["oip-c5"],"link_status":"ok","hash":"oipinvocations0005"}],"prov":{"model":"system/oip_articles","action":"generate"}}