Test 50

Production Validation

End-to-end pipeline on exactly 50 qualified SMEs · Reset → Sync → CH (50 SMEs) → OpenAI Website Discovery → FullEnrich → Collect

Step 0 — Reset & Verify Clean State

Confirm all operational data is at zero before starting. Does not touch API keys, schema, qualification rules or CPV settings.

✓ Preserved — never touched

Database schemacpv_sectors (reference data)API keys (env vars)Qualification rulesConfidence thresholdsPipeline code
Click Check Current Counts to verify the database state before running.

Pipeline Runner

6 sequential steps · does not start automatically · no substitutions at any stage

0 · Reset Data

Clears awards, profiles, directors, contacts, import logs

1 · Award Sync (last 7 days)

Both CF and FTS · full pagination · no record limit

2 · CH Qualification (target: 50)

Active Ltd · SME accounts · excludes CIC/guarantee/charity · dedup by CH number · stops at 50

3 · OpenAI Website Discovery

All 50 qualified SMEs · two-pass · web_search_call ≥1 required · no substitutions

4 · FullEnrich Submit

website_confidence = 'high' only · 1 director per company · max 50 companies

5 · Collect Director Emails

Polls every 30s · up to 10 minutes · writes work emails to database

What this test does

0 · Reset — wipes all operational data to zero
1 · Award Sync — imports all awards (last 7 days, both sources)
2 · CH Qualification — processes suppliers until exactly 50 qualified SMEs, then stops
3 · OAI Website Discovery — two-pass OpenAI search on all 50 companies, no substitutions
4 · FullEnrich Submit — verified domain (≥85) companies only, 1 director each
5 · Collect — polls for director work emails until complete

Qualification rules, confidence thresholds and FullEnrich logic are unchanged from production. The same CH company number is traceable through every stage.