{
  "version": "2026-06-02",
  "title": "QUAD public acceptance journey register",
  "owner": "uquad.org main website",
  "source_class": "static public acceptance standard",
  "freshness": "Static fallback. Verify current journey state on the owning surface before quoting live route status.",
  "boundary": "This file describes what public evidence a complete-enough product journey should carry. It does not prove that any route is currently open, completed, funded, settled, admitted, liquid, launched, sale-accessible, reward-eligible, allocated, or economically activated.",
  "global_rules": [
    "One happy path is not product acceptance.",
    "A visible button is not an open route.",
    "A receipt proves only its bounded event.",
    "A sibling surface cannot complete another surface's journey.",
    "A static journey standard is not live telemetry.",
    "If current owner state cannot be read, say it cannot be verified."
  ],
  "required_fields": [
    "journey_id",
    "owner_surface",
    "phase_label",
    "entry_condition",
    "allowed_action",
    "cost_or_quote_label",
    "receipt_requirement",
    "failure_path",
    "support_path",
    "acceptance_requirement",
    "must_not_infer"
  ],
  "accepted_terminal_states": [
    "completed",
    "refused",
    "pending",
    "recovered",
    "quarantined",
    "downgraded",
    "cannot_verify"
  ],
  "journeys": [
    {
      "journey_id": "core-observe-receipt-v1",
      "owner_surface": "Core",
      "owner_url": "https://core.uquad.org/",
      "phase_label": "observe_core_state",
      "entry_condition": "Core owner surface is readable and publishes the relevant block, transaction, receipt, wallet metadata, or status route.",
      "allowed_action": "Observe chain state, validator posture, wallet metadata, public receipts, and Core-owned economic boundaries.",
      "cost_or_quote_label": "Fee and spendability labels belong to Core or wallet metadata where published.",
      "receipt_requirement": "Transaction hash, block link, receipt route, or Core-owned status record where available.",
      "failure_path": "If Core state, receipt, or metadata cannot be read, downgrade to cannot_verify instead of inferring current height, custody, admission, supply, or launch state.",
      "support_path": "Use the public transaction hash, receipt id, status URL, or wallet metadata URL. Do not provide private keys, recovery phrases, or private operator data.",
      "acceptance_requirement": "Owner, action, current state, fee/finality label where relevant, receipt route, refusal or quarantine label where relevant, and boundary all remain visible.",
      "must_not_infer": [
        "sale access",
        "allocation",
        "reward eligibility",
        "liquidity",
        "Treasury admission",
        "spend authority",
        "production value movement",
        "economic activation"
      ]
    },
    {
      "journey_id": "infra-work-receipt-v1",
      "owner_surface": "Infra",
      "owner_url": "https://infra.uquad.org/",
      "phase_label": "quote_fund_work_verify_retrieve",
      "entry_condition": "Infra owner route is readable and publishes the relevant BIGHT wallet, quote, upload, verify, retrieve, proof, or contract path.",
      "allowed_action": "Use BIGHT-funded work paths where the owner route is open: quote, fund, upload, verify, retrieve, record receipt, or inspect bounded proof.",
      "cost_or_quote_label": "BIGHT quote, funding state, expiry, unpaid/refused label, service charge, or contract class where published by Infra.",
      "receipt_requirement": "Receipt id, proof URL, contract id, balance or ledger label, verification route, and retrieval route where available.",
      "failure_path": "If the quote is stale, unpaid, refused, expired, duplicate, invalid, or unavailable, the route must show a refusal, retry, expiry, support, or cannot_verify label.",
      "support_path": "Use quote id, receipt id, public account or contract label, and route URL. Do not provide private payloads unless the owner route explicitly asks for bounded support material.",
      "acceptance_requirement": "The path shows quote/funding state, accepted action, proof or receipt, verification/retrieval route where relevant, failure label, and service boundary.",
      "must_not_infer": [
        "payload truth",
        "Core value",
        "Bridge finality",
        "Liquid settlement",
        "reserve backing",
        "raw compute rewards",
        "node earning",
        "airdrop eligibility"
      ]
    },
    {
      "journey_id": "provider-settlement-v1",
      "owner_surface": "Infra",
      "owner_url": "https://infra.uquad.org/",
      "phase_label": "provider_work_settlement",
      "entry_condition": "Infra publishes provider posture, accepted work state, proof/challenge window, payable label, and settlement or refusal result.",
      "allowed_action": "Read whether a provider-facing work event is accepted, challenged, withheld, disputed, settled, refused, or pending.",
      "cost_or_quote_label": "Payable, receivable, escrow, proof cost, dispute cost, withheld amount, or settlement label where published by Infra.",
      "receipt_requirement": "Accepted work receipt, proof/challenge receipt, dispute result, settlement/refusal record, and public metadata update where available.",
      "failure_path": "Provider timeout, proof challenge, dispute, withheld settlement, invalid work, stale receipt, or unavailable route must remain visible as a bounded state.",
      "support_path": "Use work id, receipt id, provider public label, dispute id, and owner route. Do not treat private onboarding data as public authority.",
      "acceptance_requirement": "Provider state, work receipt, challenge or dispute window, payable/refusal label, terminal state, and public metadata boundary are all published.",
      "must_not_infer": [
        "node setup to earn tokens",
        "guaranteed payout",
        "special allocation",
        "validator privilege",
        "governance right",
        "open-ended provider authority"
      ]
    },
    {
      "journey_id": "bridge-passage-v1",
      "owner_surface": "Bridge",
      "owner_url": "https://bridge.uquad.org/product",
      "phase_label": "intent_gate_passage_refusal_refund",
      "entry_condition": "Bridge owner route publishes the intent, route label, source pool or owner-vault posture, gate result, host evidence, proof, and movement boundary.",
      "allowed_action": "Read controlled passage posture, acquisition intent, inventory label, route gate, host evidence, receipt, refund, surplus, refusal, or quarantine state.",
      "cost_or_quote_label": "Route quote, host cost, gas, surplus, refund, refusal, source pool, or owner-vault label where published by Bridge.",
      "receipt_requirement": "Intent id, route id, host-evidence record, gate result, passage receipt, refund/refusal receipt, or proof URL where available.",
      "failure_path": "Bad denom, stale host evidence, failed procurement, route timeout, relayer outage, unsupported host, duplicate packet, or refusal must stay terminal, retryable, quarantined, or cannot_verify as published.",
      "support_path": "Use route id, intent id, host-evidence id, refund/refusal id, transaction hash, or proof URL. Do not provide seed phrases or private signer details.",
      "acceptance_requirement": "The passage path names source, route, gate, host evidence, fee/refund posture, receipt, failure state, and destination boundary.",
      "must_not_infer": [
        "destination admission",
        "wrapper minting",
        "redemption",
        "live swap access",
        "host asset custody",
        "open public movement",
        "Core admission",
        "Liquid settlement"
      ]
    },
    {
      "journey_id": "liquid-position-lifecycle-v1",
      "owner_surface": "Liquid",
      "owner_url": "https://liquid.uquad.org/",
      "phase_label": "quote_motion_risk_settlement_request",
      "entry_condition": "Liquid owner route publishes quote, order or motion record, position state, wrapper label where relevant, risk label, settlement owner, and refusal/liquidation path.",
      "allowed_action": "Read motion, position, wrapper posture, exposure, risk, settlement request, refusal, liquidation, or market-closed state where published by Liquid.",
      "cost_or_quote_label": "Quote, spread, fee, risk, liquidation, wrapper, venue, or settlement-request label where published by Liquid.",
      "receipt_requirement": "Motion id, position id, quote id, risk state, settlement-request record, refusal/liquidation receipt, or proof URL where available.",
      "failure_path": "Stale quote, stale oracle, venue pause, insufficient inventory, settlement delay, wrapper refusal, liquidation, or unavailable route must be visible before public claims strengthen.",
      "support_path": "Use quote id, motion id, position id, settlement-request id, refusal id, or status URL. Do not treat engine output alone as settlement truth.",
      "acceptance_requirement": "The lifecycle shows quote, motion, risk, state freshness, settlement owner, receipt, failure path, and market boundary.",
      "must_not_infer": [
        "final settlement",
        "Core worth",
        "public market activity",
        "guaranteed execution",
        "yield",
        "redemption",
        "reserve quality",
        "balance truth"
      ]
    },
    {
      "journey_id": "support-reissue-v1",
      "owner_surface": "Main website and owning chain surface",
      "owner_url": "https://uquad.org/support.html",
      "phase_label": "receipt_search_reissue_explanation",
      "entry_condition": "The reader has a public id, status URL, transaction hash, receipt id, quote id, route id, refusal id, or public evidence bundle.",
      "allowed_action": "Search, explain, route, reissue bounded evidence, or downgrade stale claims according to the owning surface.",
      "cost_or_quote_label": "Support should preserve any published quote, fee, refund, payable, receivable, or finality label without inventing missing values.",
      "receipt_requirement": "Public id, owner route, status label, evidence bundle, reissue record, and what changed where available.",
      "failure_path": "If the evidence is missing, stale, private, unsupported, unverifiable, or owned by another surface, the support answer must downgrade rather than expand the claim.",
      "support_path": "Use public ids and official URLs only. Do not ask for seed phrases, private keys, recovery phrases, private signer topology, or payment outside official routes.",
      "acceptance_requirement": "The answer names owner, public id, current state, next step, evidence boundary, and what cannot be verified.",
      "must_not_infer": [
        "private support promise",
        "manual override authority",
        "expanded receipt meaning",
        "reward entitlement",
        "guaranteed recovery",
        "economic rights"
      ]
    }
  ]
}
