ISPO SDK
    Preparing search index...

    Type Alias CloudSupportEvidenceCollectResult

    Markdown
    CloudSupportEvidenceCollectResult:
        | { kind: "collected"; refs: string[] }
        | { kind: "dismissed" }
        | { kind: "failed" }

    Result of the HOST-owned evidence composer. The app asks for evidence and receives opaque refs — it never sees the screenshot, the error trace, or the diagnostics JSON. dismissed is an ordinary outcome, not an error.

    failed exists so a broken upload can never wear dismissed's clothes: the user DID confirm, the host DID try, and the bytes did not land. Collapsing that into dismissed would make the app tell the user they cancelled something they did not — the consent-truthfulness rule. An app should offer a retry on failed and stay silent on dismissed.