Project

UK Company Due Diligence & Risk Intelligence Agent

An evidence-driven agentic research workflow for UK company due diligence and insurance underwriting pre-screening, with source-aware evidence, follow-up research, contradiction detection, and human decision boundaries.

UK Company Due Diligence & Risk Intelligence Agent
Agentic research Insurance AI Evidence controls

Company research that shows its working.

Resolve the entity. Check the evidence. Surface the gaps. Keep the decision human.

This project turns fragmented UK company data into a reviewable underwriting pre-screening assessment with source evidence, follow-up research, contradiction detection, and explicit limits.

Illustrative synthetic case Northbridge Digital Services Ltd
Human referral
Company statusActive entityOfficial record
Evidence coverage7 of 8 dimensionsOne check incomplete
ConfidenceModerateNot calibrated
!
Missing evidence requires review

The regulatory check is incomplete. The absence of an adverse result must not be interpreted as affirmative low risk.

EV
Evidence remains attached

Important findings retain source, retrieval time, quality, confidence, and structured source data for inspection.

IdentityCompanies House
RegulatoryFCA Register
OwnershipPSC register
Public signalsBrave Search

The project thesis

The point is not more data. The point is reviewable research.

The application does not simply gather company facts and ask a model for a verdict. It separates source evidence, AI judgement, deterministic controls, and human authority.

01
Every research dimension has a purpose

Company, filing, officer, regulatory, news, fraud, and ownership checks answer different business questions.

02
Missing evidence stays visible

A source failure becomes an incomplete check, not a hidden clean result or a crashed research run.

03
The final decision remains human

The system produces findings and underwriting indicators, not an approved binding quote, refer, or decline decision.

Implemented system flow

Eleven nodes, one evidence-control loop.

The model handles bounded interpretation. Code owns workflow state, route validation, retries, evidence merging, and authoritative fact transport.

01

Understand

Turn the business request into typed research intent.

02

Resolve

Match the intended legal entity and company number.

03

Plan

Select the research dimensions required for the case.

04

Route

Choose a compatible registered source for each dimension.

05

Collect

Run independent retrievers concurrently inside one graph node.

06

Classify

Turn raw news candidates into typed risk signals.

07

Critique

Assess source authority, relevance, completeness, and quality.

08

Find gaps

Separate complete research from weak or missing dimensions.

09

Follow up

Decide whether a limited targeted research pass is justified.

10

Reconcile

Surface contradictions rather than silently averaging them.

11

Synthesize

Build the assessment while preserving structured source facts.

R
Follow-up is cumulative, not destructive.

A stronger second-pass result can replace weaker evidence without erasing unrelated first-pass dimensions.

quality -> confidence -> recency

Research coverage

Eight dimensions answer eight different risk questions.

Keeping the dimensions separate prevents a large volume of weak public-web evidence from masking a missing authoritative source.

CO

Company profile

Does the legal entity exist, and what is its current statutory status?

Companies House
OF

Officers

Who currently manages the company, and what governance history is visible?

Companies House
FI

Filing history

Is the company maintaining expected filings, and are unusual changes visible?

Companies House
RG

Regulatory status

Is the firm authorised, and is relevant disciplinary history available?

FCA Register
NW

News signals

Are there recent regulatory, financial, legal, operational, or governance events?

Brave + LLM classification
WB

Web evidence

Is there useful supplementary public context that supports further review?

Brave Search
FR

Fraud signals

Are there disqualification, phoenix-company, or possible sanctions indicators?

Companies House + OpenSanctions
PSC

Beneficial ownership

Who controls the entity, and are there ownership opacity or jurisdiction concerns?

PSC + OpenSanctions

Responsibility boundaries

Source facts, AI judgement, code controls, human authority.

The system becomes reviewable when those responsibilities remain visible instead of collapsing into one model response.

SRC

Source systems

  • Provide statutory and public evidence.
  • Return records, snippets, and screening candidates.
  • Remain subject to availability, freshness, and matching limits.
AI

Language models

  • Understand, plan, classify, critique, and synthesize.
  • Return typed outputs through Pydantic boundaries.
  • Express judgement without becoming the authority.
CODE

Deterministic code

  • Validates routes and enforces loop limits.
  • Merges evidence and preserves authoritative facts.
  • Converts failures into visible incomplete evidence.
HUM

Human reviewer

  • Confirms identity and material findings.
  • Applies appetite, authority, and specialist judgement.
  • Owns the final business decision and override.

The trust rule

Source unavailable
does not mean
No adverse finding
does not mean
Low risk

Evidence status must stay separate from risk severity.

A system cannot safely treat every empty result as a clean result. It needs explicit semantics for what happened.

OK
Completed and clean

The check ran successfully and returned no material adverse finding in the available evidence.

?
Missing or insufficient

The source returned too little information to support a confident conclusion.

X
Unavailable or failed

The check could not complete and may require retry, disclosure, or human referral.

!
Adverse signal found

A material finding exists, but its authority, entity match, recency, and business meaning still require review.

Engineering decisions

What makes this more than a multi-agent demo.

The reusable value is in the boundaries and failure handling, not the number of agent nodes.

schemas.pyP

Typed decisions

Every LLM decision becomes usable workflow state only after it passes a Pydantic output contract.

source_registry.pyR

Executable routing

The source selector matters because its typed output changes the retriever factory that actually executes.

parallel_source_collector.pyC

Concurrent collection

Independent synchronous retrievers run through worker threads under `asyncio.gather`, reducing avoidable sequential latency.

evidence_merge.pyM

Cumulative retries

A follow-up pass improves the evidence map through deterministic merge precedence instead of replacing the first pass.

evidence_facts.pyE

Fact preservation

Sanctions, enforcement, disqualification, ownership, and phoenix facts are copied deterministically into the final assessment.

routes.pySSE

Visible progress

FastAPI streams completed stages so a long-running research request has an inspectable operational path.

Operator reading order

Do not start with the headline score.

Until risk and confidence are calibrated, the assessment should be read from identity and missing evidence outward.

  1. Confirm the resolved company name and number.
  2. Review source errors and missing dimensions.
  3. Review sanctions, disqualification, enforcement, phoenix, and PSC findings.
  4. Review contradictions between sources.
  5. Inspect source quality and the evidence trace.
  6. Review the risk matrix and company-specific risks.
  7. Review referral, exclusion, loading, and decline indicators.
  8. Treat overall risk and confidence as synthesis summaries, not independent proof.

Project series

Business value first. Trust controls next. Engineering failures after.

The chapters form a guided system document. Links can replace the upcoming labels as each article is published.

01
The Business Case for AI-Assisted UK Company Due Diligence

Why fragmented company research is a workflow problem before it is an AI problem.

Launch chapter
02
Inside an Evidence-Driven Company Risk Agent

The implemented LangGraph workflow, source boundaries, and evidence controls.

Launch chapter
03
A Research Assistant, Not an Underwriting Authority

Human accountability, referral authority, overrides, and decision limits.

Upcoming
04
Missing Evidence Is Not Low Risk

Evidence sufficiency, source failures, confidence, and false-clean results.

Upcoming
05
Beneficial Ownership, Sanctions and Adverse News

What public evidence can establish and when specialist verification is needed.

Upcoming
06
When an Agent Retries, What Should It Keep?

The cumulative evidence bug and deterministic merge semantics.

Upcoming
07
How Structured Risk Facts Disappear

Why valid schemas did not guarantee facts survived final synthesis.

Upcoming
08
From Mock Data to Live Registers: What Broke

Response drift, authentication, quotas, and partial live coverage.

Upcoming
09
What This Agent Still Needs Before Production

Calibration, identity gates, security, persistence, monitoring, and ownership.

Production close

Honest limits

Working research framework, not a finished underwriting platform.

The project is valuable because the control structure is visible. The remaining production gaps must be equally visible.

!
Overall confidence is currently an LLM judgement, not a calibrated formula.
!
Overall risk has no approved deterministic aggregation rule.
!
Targeted follow-up query text is planned but not yet passed into retrievers.
!
Uncertain entity resolution does not currently force a human confirmation gate.
!
The system retains the preferred item per dimension, not the full evidence-attempt history.
!
There is no approved binding quote, refer, or decline disposition.
!
The API currently lacks authentication, rate limiting, and a persistent case store.
!
Public-source and sanctions-screening results require human verification.

Explore the project

Inspect the code, then follow the system build.

The repository contains the workflow, schemas, connectors, tests, business documentation, operational guide, and implementation devlogs. The public demo stays behind a readiness gate until privacy, quotas, abuse controls, and live integrations are verified.

View GitHub Project chapters Demo: readiness review in progress