Skip to Content
SDK referenceRustTroubleshooting

Rust SDK troubleshooting

Every VeriproofError carries a stable code() and a message that contains no credential or protected content. Use the code in tests and diagnostics.

Cargo cannot authenticate

Check the supported toolchain first: Rust 1.96 or later. Then confirm that the registry index in .cargo/config.toml starts with sparse+ and that [registries.veriproof] names your operating system’s credential provider, exactly as Tools and SDKs shows.

Run cargo login --registry veriproof and paste the credential only at the prompt, not into a command or configuration file.

If access changes but Cargo uses a cached registry response, remove only the cached VeriProof sparse-index entry. Do not clear unrelated Cargo caches.

The client reports credential_missing or credential_invalid

Veriproof::from_env() requires VERIPROOF_API_KEY. Store the complete application SDK key copied from the portal; do not split it into application configuration fields. credential_invalid means the value is not a portal-issued key. credential_rejected means VeriProof refused the key at the endpoint; check that the key belongs to the application and environment you are calling.

The client reports configuration_invalid

VERIPROOF_ENDPOINT and VERIPROOF_EDGE_ENDPOINT must be absolute URLs. Use HTTPS for every remote endpoint. Set VERIPROOF_ALLOW_LOOPBACK_HTTP=true only for a local loopback test runtime; it does not relax checks for a remote endpoint.

A Rig checkpoint will not restore

RigCheckpointEnvelope::restore rejects an envelope written with a different schema version or Rig version. Keep Rig pinned to 0.41.0 and use the matching VeriProof adapter. Do not edit the serialized agent state.

A governed run stopped

Check the result’s status, reason_code, and evidence_reference. Blocked means policy denied the input or the output. ReviewContextRequired means policy asked for review but the call had no review options; add GovernOptions::review with an active review profile. CancelledByDirective means a Stop directive ended the run. Failed with application_failed means the protected closure returned an error. Open the session decision in the portal with the evidence reference.

Activity is recorded but not governed

Only work inside govern, VeriproofRig::tool, the Rig hook, or the async-openai execute and buffered_stream helpers is governed. A direct provider call outside those boundaries records nothing and enforces nothing. Open the application’s control coverage in the portal and check the adapter and operation classification.

Last updated on