Labour ministries & consulates
Source-country and host-country labour-ministry pages, embassy advisories, official wage-protection notices.
The research monitor watches a curated list of public sources for changes, drafts proposed pack diffs from what it finds, and routes them to the curator review queue. Crawlers never publish; curators do.
Public, citable URLs only. No private channels, no scraping behind login walls, no third-party aggregators that strip provenance.
Source-country and host-country labour-ministry pages, embassy advisories, official wage-protection notices.
Public reports, corridor advisories, regional bilateral agreements. Cited by document id.
Allow-listed NGO publications with public, dated advisories. Allow-list is curator-controlled.
Public court rulings, policy documents, gazettes affecting recruitment or labour conditions.
Recruitment-platform terms-of-service and policy pages, used to detect platform-side rule changes.
News only as a discovery signal. The actual citation is always the underlying public document.
The crawler runs on a schedule and emits proposals. Every proposal carries a source URL, content hash, and detected change.
Pull each allow-listed source on schedule. Compute a content hash; compare against the last seen hash.
If the hash changed, run a structural diff to summarize what moved (new section, removed clause, updated number).
The harness extracts dated, citable facts from the diff with a strict schema: claim, source URL, source hash, date.
Reject if the document or extracted facts contain PII or anything resembling a private case. Only public, structural facts pass.
Approved facts become a draft pack diff against the relevant corridor pack. Status: proposed.
Curator reviews the diff, asks for revisions or rejects, or approves. No automatic publish path exists.
If approved, the new pack version runs through the test suite before publication.
Partners with a curator key can submit proposals directly; everyone can read the queue and review status.
POST/api/hub/opencrawl/updatesSubmit a public-source URL with a proposed change summary.Partner keyGET/api/hub/opencrawl/updatesRead the queue with status filters: proposed, in-review, approved, rejected.PublicGET/api/hub/opencrawl/sourcesRead the allow-listed source list and last-seen hashes.PublicGET/api/hub/opencrawl/diff/<id>Read the human-readable diff for a single proposal.Public