Skip to Content
Extraction and verificationReviewer investigation pilot

Reviewer investigation pilot

Reviewer investigations create a saved brief of a risk subject’s evidence and open work. This pilot is available only in test mode, using a local mock provider. It sends no data to an AI service and does not measure AI accuracy.

In the Risk dashboard, open a test customer and choose Investigate this customer. The worker prepares the brief. Inspect each finding’s source, then record agreement or dismissal with a reason. Owner/admin reviewers can record dispositions; other principals can read and start test investigations. A recorded agreement does not change the customer’s risk assessment or authorize an account operation.

API example

Use the same authenticated SDK and test credential as your risk integration:

const requestKey = crypto.randomUUID(); // Save this before the first request. const run = await client.risk.investigate(subjectId, requestKey); // Reuse requestKey and subjectId if the request needs a retry. const saved = await client.risk.get('investigations', run.id); const freshness = await client.risk.investigationState(run.id);

The initial status is pending, followed by completed or failed. The worker checks pending runs every five seconds. Subscribe to risk.investigation.completed and risk.investigation.failed through the existing signed webhook transport, then fetch the run by its resource ID. Authenticate signatures, deduplicate event IDs and reconcile API state as described in risk webhooks. A repeated notification is not a second investigation.

An owner/admin dashboard JWT can record a review:

await client.risk.inMode('test').reviewInvestigation(run.id, { findingId, disposition: 'accepted', // or 'dismissed' reason: 'Reviewed the source records; clarification is needed.', }, reviewRequestKey); const reviews = await client.risk.list('investigation-reviews', { subjectId, investigationId: run.id, });

Use nextOffset to read remaining pages. The same finding can receive one immutable review. An identical idempotent retry returns its recorded review; a competing review returns 409. Reviewers can create a fresh investigation for subsequent work.

What the brief means

Rule findings summarize recorded missing evidence, deadlines, changes between the two most recent included assessments per policy, and open actions. Mock findings report different stored values from separate sources as uncertain comparisons. They do not establish contradictions, fraud or source reliability.

The source window contains at most 50 latest fact/source evidence records, 25 recent assessments and 50 oldest open actions. snapshot.truncated means more history exists. An oversized source window returns 413 instead of making an unbounded model request. No findings means only that this window produced none.

Saved snapshots remain unchanged. Read /risk/investigations/:id/state to check whether later subject activity or a deadline has made a brief stale. Passage of time alone does not emit a webhook. Clients must enforce freshness when displaying or using these records. Investigation completion is never identity approval.

A production AI provider, semantic evaluations and live-mode support are separate from this pilot. Use synthetic data while testing.

Last updated on