Build a Public Procurement Ownership Conflict and Case Prep Engine
Cross-reference winning bidders in public procurement tender releases against beneficial ownership statements. Flag shared corporate control across competing bidders and construct analyst case files with evidence summaries.
What you are building
The core problem, expected build, and operating context for this challenge.
Cross-reference winning bidders in public procurement tender releases against beneficial ownership statements. Flag shared corporate control across competing bidders and construct analyst case files with evidence summaries.
Public procurement fraud investigator
Ingest simplified Open Contracting Data Standard award records to identify winning and competing tender bidders.
Query synthetic Beneficial Ownership Data Standard v0.4 ownership statements to trace natural persons controlling each bidder.
Detect shared direct or indirect beneficial owners between ostensibly competing bidders in the same tender.
Compile an analyst case brief documenting overlapping ownership shares, dates, and simulated conflict flags.
Multi-pane web review console showing tender comparison tables, ownership links, conflict badges, and exportable case prep dossiers.
Use mock OCDS JSON releases and BODS v0.4 normalized JSON records generated locally; no external network credentials required. Starter examples below are synthetic. They are not downloaded records.
Open Contracting Data Standard Applies OCDS release structure from Section Reference with parties, tender awards, and buyer/supplier role arrays.
pydantic-ai, fastapi, networkx. Enforces type-safe schema definitions for parsed OCDS awards, BODS ownership structures, and output conflict dossiers. Local or hosted LLM with structured output capabilities to generate analyst case narratives from graph relationships.
Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.
Identifies overlapping natural persons across distinct bidding parties within the same tender ocid.
Calculates cumulative ownership share across indirect intermediary holdings.
Emits a structured case preparation report containing verifiable party IDs and calculated ownership percentages.
Produces valid normalized conflict records adhering to the Pydantic schema.
```json [ { "input": { "tender_release": { "ocid": "ocds-215964-101", "id": "rel-01", "date": "2024-03-01T00:00:00Z", "tag": [ "award" ], "parties": [ { "id": "GB-COH-001", "name": "Apex Civil Ltd", "roles": [ "supplier" ] }, { "id": "GB-COH-002", "name": "Vortex Civil Ltd", "roles": [ "supplier" ] } ], "awards": [ { "id": "aw-1", "suppliers": [ { "id": "GB-COH-001" } ] } ] }, "ownership_statements": [ { "statement_id": "stmt-1", "entity_id": "GB-COH-001", "owner_name": "Eleni Vance", "share_pct": 51, "is_beneficial_owner": true }, { "statement_id": "stmt-2", "entity_id": "GB-COH-002", "owner_name": "Eleni Vance", "share_pct": 49, "is_beneficial_owner": true } ] }, "expected_output": { "ocid": "ocds-215964-101", "conflict_detected": true, "shared_principals": [ { "name": "Eleni Vance", "entities": [ "Apex Civil Ltd", "Vortex Civil Ltd" ], "max_holding_pct": 51 } ], "case_priority": "high", "recommended_action": "Refer to procurement audit board for non-competitive bidding review" } }, { "input": { "tender_release": { "ocid": "ocds-215964-102", "id": "rel-02", "date": "2024-03-02T00:00:00Z", "tag": [ "award" ], "parties": [ { "id": "GB-COH-003", "name": "Summit Rail Ltd", "roles": [ "supplier" ] }, { "id": "GB-COH-004", "name": "Horizon Track Ltd", "roles": [ "supplier" ] } ], "awards": [ { "id": "aw-2", "suppliers": [ { "id": "GB-COH-003" } ] } ] }, "ownership_statements": [ { "statement_id": "stmt-3", "entity_id": "GB-COH-003", "owner_name": "Marcus Kane", "share_pct": 75, "is_beneficial_owner": true }, { "statement_id": "stmt-4", "entity_id": "GB-COH-004", "owner_name": "Sarah Croft", "share_pct": 60, "is_beneficial_owner": true } ] }, "expected_output": { "ocid": "ocds-215964-102", "conflict_detected": false, "shared_principals": [], "case_priority": "low", "recommended_action": "Standard procurement file archiving" } } ] ```
Simulates all procurement reviews without filing statutory bid-rigging charges or notifying actual bidding vendors. Use mock external writes. Require human review before any real deployment.
Participation guide
Simulates all procurement reviews without filing statutory bid-rigging charges or notifying actual bidding vendors. Use mock external writes and human review.
How work is evaluated
Identifies overlapping natural persons across distinct bidding parties within the same tender ocid. Calculates cumulative ownership share across indirect intermediary holdings. Emits a structured case preparation report containing verifiable party IDs and calculated ownership percentages. Produces valid normalized conflict records adhering to the Pydantic schema.
Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.
Challenge datasets
Public datasets, plus the private datasets you have access to.
How submissions are scored
These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.
Complete workflow
Ingest simplified Open Contracting Data Standard award records to identify winning and competing tender bidders. Query synthetic Beneficial Ownership Data Standard v0.4 ownership statements to trace natural persons controlling each bidder. Detect shared direct or indirect beneficial owners between ostensibly competing bidders in the same tender. Compile an analyst case brief documenting overlapping ownership shares, dates, and simulated conflict flags.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Correctness and evidence
Identifies overlapping natural persons across distinct bidding parties within the same tender ocid. Calculates cumulative ownership share across indirect intermediary holdings. Emits a structured case preparation report containing verifiable party IDs and calculated ownership percentages. Produces valid normalized conflict records adhering to the Pydantic schema.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Review interface
Multi-pane web review console showing tender comparison tables, ownership links, conflict badges, and exportable case prep dossiers.
Missing or incorrect.
Partly complete, with documented gaps.
Complete, with reproducible evidence.
Safe execution
Simulates all procurement reviews without filing statutory bid-rigging charges or notifying actual bidding vendors.
This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.
What you should walk away with
Ingest simplified Open Contracting Data Standard award records to identify winning and competing tender bidders.
Query synthetic Beneficial Ownership Data Standard v0.4 ownership statements to trace natural persons controlling each bidder.
Detect shared direct or indirect beneficial owners between ostensibly competing bidders in the same tender.
Compile an analyst case brief documenting overlapping ownership shares, dates, and simulated conflict flags.
Reference links and supporting material
Use mock OCDS JSON releases and BODS v0.4 normalized JSON records generated locally; no external network credentials required. Supplied starter examples are synthetic, not source extracts.
Challenge setup
Configuration summary for this challenge.
Challenge input
Input details are not configured.
Pydantic AI
Typed Python agent framework.
Evaluated output
No output checks are configured.
- Ingest simplified Open Contracting Data Standard award records to identify winning and competing tender bid...
- Identifies overlapping natural persons across distinct bidding parties within the same tender ocid. Calcula...
- Multi-pane web review console showing tender comparison tables, ownership links, conflict badges, and expor...
- 2 public reference cases
- 2 configured tools
Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.
View technical recipe
Configured tools
- Pydantic AI · Optional
- Pydantic AI · Optional
Evaluation contract
- Complete workflow · Weight 40
- Correctness and evidence · Weight 30
- Review interface · Weight 20
- Safe execution · Weight 10
Reference cases
- 2 public reference cases
Workflow tasks
No workflow tasks are configured.
Recipe freeze marker
No recipe freeze time is recorded.