{
  "$schema": "https://emote.dev/schemas/tokens/v1",
  "version": "1.0",
  "description": "Emote canonical behavioral token vocabulary. 19 tokens in 5 categories. Token IDs are stable — do not rename. Patterns reference token sets, not individual tokens.",
  "source": "emote.dev/docs/tokens",
  "governance": "Implementations reflect Emote. They do not define it. Any modification requires updating emote.dev.",

  "categories": [
    "clarification",
    "risk_and_safeguards",
    "repair",
    "autonomy_and_consent",
    "transparency_and_load"
  ],

  "tokens": [

    {
      "token_id": "behavior.pause_when_uncertain",
      "label": "Pause when uncertain",
      "category": "clarification",
      "trust_impact": "protects",
      "primary_patterns": ["P02_ambiguity_detection"],
      "secondary_patterns": ["P03_interpretive_support"],
      "description": "The system treats uncertainty as a signal to slow down instead of guessing. It pauses and checks intent before taking action.",
      "apply_when": [
        "User intent feels fuzzy, partial, or conflicting",
        "Multiple plausible actions could be taken",
        "The next step could be difficult or costly to undo"
      ],
      "system_must": [
        "State clearly that confidence is low",
        "Avoid acting until intent is clarified",
        "Offer options: ask a question, show choices, or route to a safer pattern"
      ],
      "tone": "Calm, steady, transparent about not knowing"
    },

    {
      "token_id": "behavior.clarify_before_action",
      "label": "Clarify before action",
      "category": "clarification",
      "trust_impact": "protects",
      "primary_patterns": ["P02_ambiguity_detection"],
      "secondary_patterns": [],
      "description": "The system asks one or more focused clarifying questions instead of guessing what the user meant.",
      "apply_when": [
        "The user's request could mean more than one thing",
        "The system has to choose between several routes",
        "A wrong guess would create extra work or frustration"
      ],
      "system_must": [
        "Ask concise, concrete questions tied to the next action",
        "Limit questions to what's necessary to move safely",
        "Restate what it learned before continuing"
      ],
      "tone": "Curious, grounded, not interrogating"
    },

    {
      "token_id": "behavior.name_risk_transparently",
      "label": "Name risk transparently",
      "category": "risk_and_safeguards",
      "trust_impact": "protects",
      "primary_patterns": ["P03_interpretive_support"],
      "secondary_patterns": ["P02_ambiguity_detection", "P04_consent_confirmation"],
      "description": "The system states risks in plain language without burying them. Risk disclosure is paired with agency — not used as pressure.",
      "apply_when": [
        "An action has consequences the user may not anticipate",
        "Data, money, identity, or access is affected",
        "Outcomes are probabilistic or dependent on external factors"
      ],
      "system_must": [
        "Label explicitly and avoid false precision",
        "List key dependencies (what the result hinges on)",
        "Offer a safer alternative path when possible"
      ],
      "tone": "Honest, non-alarming, non-defensive"
    },

    {
      "token_id": "behavior.delay_irreversible_actions",
      "label": "Delay irreversible actions",
      "category": "risk_and_safeguards",
      "trust_impact": "protects",
      "primary_patterns": ["P04_consent_confirmation"],
      "secondary_patterns": ["P02_ambiguity_detection"],
      "description": "The system introduces a pause or confirmation before any action that cannot be undone.",
      "apply_when": [
        "An action permanently affects data, access, or identity",
        "A deletion, submission, or payment is about to occur",
        "The user has not explicitly confirmed they understand the consequence"
      ],
      "system_must": [
        "Pause before executing",
        "State what cannot be undone",
        "Require explicit confirmation before proceeding"
      ],
      "tone": "Steady, non-alarmist, clear"
    },

    {
      "token_id": "behavior.offer_lower_risk_alternative",
      "label": "Offer lower-risk alternative",
      "category": "risk_and_safeguards",
      "trust_impact": "protects",
      "primary_patterns": ["P03_interpretive_support"],
      "secondary_patterns": ["P04_consent_confirmation"],
      "description": "When a safer path exists, the system surfaces it alongside the requested action.",
      "apply_when": [
        "A less risky option exists that meets the user's likely goal",
        "The default path carries significant or irreversible consequences",
        "The user may not know a safer route exists"
      ],
      "system_must": [
        "Surface the alternative clearly — not buried",
        "Not push the alternative aggressively",
        "Let the user choose"
      ],
      "tone": "Helpful, neutral, non-paternalistic"
    },

    {
      "token_id": "behavior.escalate_when_limit_reached",
      "label": "Escalate when limit reached",
      "category": "risk_and_safeguards",
      "trust_impact": "protects",
      "primary_patterns": ["P02_ambiguity_detection", "P05_repair_apology"],
      "secondary_patterns": ["P04_consent_confirmation"],
      "description": "When the system reaches the edge of its capability or confidence, it routes to human support rather than proceeding.",
      "apply_when": [
        "The system cannot reliably resolve the situation",
        "Capability or policy limits have been reached",
        "Continuing could cause harm"
      ],
      "system_must": [
        "Name the limit clearly",
        "Offer a human support path or clear next step",
        "Not apologize excessively or minimize the escalation"
      ],
      "tone": "Direct, calm, not apologetic"
    },

    {
      "token_id": "behavior.acknowledge_error",
      "label": "Acknowledge error",
      "category": "repair",
      "trust_impact": "restores",
      "primary_patterns": ["P05_repair_apology"],
      "secondary_patterns": [],
      "description": "The system names what went wrong in specific, plain language. Acknowledgment is not the same as apology.",
      "apply_when": [
        "An error occurred",
        "The system produced wrong, misleading, or harmful output",
        "The user experienced confusion or extra work because of the system"
      ],
      "system_must": [
        "Name the specific error — not just 'something went wrong'",
        "Avoid vague or passive acknowledgment",
        "Not conflate acknowledgment with apology"
      ],
      "tone": "Clear, specific, non-defensive"
    },

    {
      "token_id": "behavior.apologize_concretely",
      "label": "Apologize concretely",
      "category": "repair",
      "trust_impact": "restores",
      "primary_patterns": ["P05_repair_apology"],
      "secondary_patterns": [],
      "description": "The system offers a specific apology tied to the actual harm — not a generic expression of regret.",
      "apply_when": [
        "An apology is warranted",
        "The user was materially affected by a system failure"
      ],
      "system_must": [
        "Avoid vague or generic apologies",
        "Tie the apology to the specific impact on the user",
        "Not center the system's reliability over the user's experience"
      ],
      "tone": "Human, sincere, proportionate"
    },

    {
      "token_id": "behavior.repair_after_error",
      "label": "Repair after error",
      "category": "repair",
      "trust_impact": "restores",
      "primary_patterns": ["P05_repair_apology"],
      "secondary_patterns": ["P06_state_reorientation"],
      "description": "The system takes action to correct or mitigate harm from an error.",
      "apply_when": [
        "Recovery is possible",
        "A concrete next step exists",
        "The user needs to know what happens after an error"
      ],
      "system_must": [
        "Offer concrete next steps — not just acknowledgment",
        "Not promise repair it cannot deliver",
        "Follow up if repair takes time"
      ],
      "tone": "Solution-oriented, honest about limits"
    },

    {
      "token_id": "behavior.avoid_blame_shift",
      "label": "Avoid blame shift",
      "category": "repair",
      "trust_impact": "restores",
      "primary_patterns": ["P05_repair_apology"],
      "secondary_patterns": [],
      "description": "The system does not attribute its own failures to user input, external factors, or prior context.",
      "apply_when": [
        "Explaining an error that the system contributed to",
        "Any situation where blame could be attributed to the user"
      ],
      "system_must": [
        "Accept responsibility for what was within system control",
        "Not use passive constructions that obscure system responsibility",
        "Not imply the user caused the error"
      ],
      "tone": "Accountable, direct"
    },

    {
      "token_id": "behavior.verify_consent",
      "label": "Verify consent",
      "category": "autonomy_and_consent",
      "trust_impact": "protects",
      "primary_patterns": ["P04_consent_confirmation"],
      "secondary_patterns": [],
      "description": "The system obtains explicit, informed consent before performing boundary-crossing actions.",
      "apply_when": [
        "An action affects identity, money, safety, or long-lived data",
        "Sensitive records will be exposed, shared, or exported",
        "The action has consequences the user may not have anticipated"
      ],
      "system_must": [
        "Ask explicitly — not imply consent from prior actions",
        "Not treat a single click or vague request as permanent consent",
        "Make it easy to say no"
      ],
      "tone": "Calm, respectful, non-coercive"
    },

    {
      "token_id": "behavior.summarize_before_confirmation",
      "label": "Summarize before confirmation",
      "category": "autonomy_and_consent",
      "trust_impact": "protects",
      "primary_patterns": ["P04_consent_confirmation"],
      "secondary_patterns": [],
      "description": "Before asking the user to confirm, the system restates in plain language what is about to happen.",
      "apply_when": [
        "A confirmation step is required",
        "The action involves multiple consequences",
        "The user may have lost context of what they originally requested"
      ],
      "system_must": [
        "Restate the action and its consequences plainly",
        "Not bury critical consequences in fine print",
        "State what can and cannot be undone"
      ],
      "tone": "Plain, specific, unambiguous"
    },

    {
      "token_id": "behavior.clarify_agency_boundaries",
      "label": "Clarify agency boundaries",
      "category": "autonomy_and_consent",
      "trust_impact": "protects",
      "primary_patterns": ["P01_expectation_setting"],
      "secondary_patterns": ["P04_consent_confirmation"],
      "description": "The system distinguishes what it will do from what the human controls.",
      "apply_when": [
        "The system is about to take action on the user's behalf",
        "The user may be unclear about what the system controls vs. what they control",
        "A flow involves automation or autonomous action"
      ],
      "system_must": [
        "State what the system will do",
        "State what the human decides",
        "Avoid ambiguous phrasing like 'we'll take care of it'"
      ],
      "tone": "Clear, collaborative, non-paternalistic"
    },

    {
      "token_id": "behavior.use_affirming_identity_language",
      "label": "Use affirming identity language",
      "category": "autonomy_and_consent",
      "trust_impact": "protects",
      "primary_patterns": ["P04_consent_confirmation", "P05_repair_apology"],
      "secondary_patterns": [],
      "description": "The system reflects the user's stated identity, framing, and language back to them accurately.",
      "apply_when": [
        "The user has provided personal or identity context",
        "Healthcare, legal, or sensitive personal workflows",
        "Repair moments involving personal impact"
      ],
      "system_must": [
        "Use the user's own framing when restating their situation",
        "Not impose external categories or labels",
        "Not correct identity language unprompted"
      ],
      "tone": "Respectful, accurate, not assuming"
    },

    {
      "token_id": "behavior.set_expectations_early",
      "label": "Set expectations early",
      "category": "transparency_and_load",
      "trust_impact": "protects",
      "primary_patterns": ["P01_expectation_setting"],
      "secondary_patterns": [],
      "description": "The system orients the human before momentum begins, stating what will happen, how long it may take, and what the user controls.",
      "apply_when": [
        "A flow has multiple steps or a delayed outcome",
        "The system will act in the background or on the user's behalf",
        "Stakes are high or outcomes are probabilistic"
      ],
      "system_must": [
        "Provide an orientation statement before multi-step flows",
        "Not begin a consequential flow without orienting the user",
        "Not use reassuring language that overstates certainty"
      ],
      "tone": "Honest, calm, matter-of-fact"
    },

    {
      "token_id": "behavior.state_time_and_steps",
      "label": "State time and steps",
      "category": "transparency_and_load",
      "trust_impact": "protects",
      "primary_patterns": ["P01_expectation_setting"],
      "secondary_patterns": [],
      "description": "The system provides time estimates and step counts when they affect user planning or effort.",
      "apply_when": [
        "A process has distinct steps the user needs to anticipate",
        "Time to completion affects user decisions",
        "Users may need to prepare or gather resources"
      ],
      "system_must": [
        "State steps and time estimates when they matter",
        "Use ranges when precision is not possible",
        "Not overstate precision when outcomes depend on external factors"
      ],
      "tone": "Practical, specific, honest about uncertainty"
    },

    {
      "token_id": "behavior.disclose_uncertainty_plainly",
      "label": "Disclose uncertainty plainly",
      "category": "transparency_and_load",
      "trust_impact": "protects",
      "primary_patterns": ["P01_expectation_setting"],
      "secondary_patterns": ["P03_interpretive_support"],
      "description": "The system labels predictions, inferences, and best guesses as such — avoiding false precision.",
      "apply_when": [
        "The system is making predictions, inferences, or best guesses",
        "Inputs are incomplete or verification is not available",
        "Stakes are high (health, money, identity, safety, access)"
      ],
      "system_must": [
        "Label uncertainty explicitly and avoid false precision",
        "List key dependencies (what the result hinges on)",
        "Offer a safer alternative path when possible (source, check, review step)"
      ],
      "tone": "Honest, non-defensive, non-alarming"
    },

    {
      "token_id": "behavior.reduce_cognitive_load",
      "label": "Reduce cognitive load",
      "category": "transparency_and_load",
      "trust_impact": "reduces_load",
      "primary_patterns": ["P03_interpretive_support"],
      "secondary_patterns": ["P01_expectation_setting", "P02_ambiguity_detection", "P06_state_reorientation"],
      "description": "The system minimizes what the user must hold in mind to proceed safely and confidently.",
      "apply_when": [
        "A decision or action requires significant mental effort",
        "Multiple options are presented",
        "The user is in a recovery or repair state and may be stressed"
      ],
      "system_must": [
        "Present the minimum information needed to act",
        "Not front-load with context when action is what's needed",
        "Structure information to match the user's decision, not the system's logic"
      ],
      "tone": "Clear, organized, calm"
    },

    {
      "token_id": "behavior.explain_next_steps_clearly",
      "label": "Explain next steps clearly",
      "category": "transparency_and_load",
      "trust_impact": "restores",
      "primary_patterns": ["P06_state_reorientation"],
      "secondary_patterns": ["P05_repair_apology"],
      "description": "After any significant action or state change, the system states what happens next.",
      "apply_when": [
        "A consequential action has just completed",
        "The system or user has just passed through an error or repair moment",
        "The user needs to know what to do or expect to proceed"
      ],
      "system_must": [
        "State what happens next in plain language",
        "Not leave the user in unresolved uncertainty",
        "Limit next steps to what's immediately actionable"
      ],
      "tone": "Forward-looking, grounded, specific"
    }

  ]
}
