Decision diagram for where Toptal's ATS screening engine is built. Contrasts three shapes: a shared path+review engine hosted in TopAssessment with ATS owning every surface (Option A); the screening engine in ATS with TopAssessment demoted to a headless artifact service (Option B); and two independent engines (Option C, dominated). Traces the real seam between screening orchestration (paths, journeys, reviews, verdicts, assignment) and artifact capture (forms, versions, submissions, video, file upload, applicant runner), plus the reviewer-identity choice between mirroring ATS users into ta_users and passing identity in the token.
Where should Toptal's ATS screening engine be built? The diagram separates the two layers the debate keeps conflating: screening orchestration (paths, journeys, review requests, verdicts, assignment) and artifact capture (forms, versions, submissions, video, file upload, applicant runner). Artifact capture is live, large, and exists only in TopAssessment — so ATS calls TopAssessment under every option. The only real question is where the seam sits.
Three orchestration workstreams are aligned and in progress on TopAssessment, and the diagram marks them:
ta_verdicts).ta_review_requests).What is genuinely undecided is the journey runtime — ActivateStep, advance/retry, grant, withdraw, skip — which exists on neither side, plus multi-org tenancy, outreach, scheduling and provider ownership.
The three layers are cumulative, and that is the argument:
engines/screening carrying all real screening traffic.startScreening, lifecycle events back to assessment_requests, and the ATS-reviewer identity problem.Switch v2 and v3 on together and you are looking at Option C — two path engines, two verdict stores, two template libraries. That is why Option C needs no separate diagram: it is what duplication looks like.
ta_users.Relocation cost is asymmetric and time-sensitive. The journey runtime is 8 tables and two unmerged branches today; in six months it is a migration of live journeys. Artifact capture is never cheap to move. Multi-tenancy is day-one under every option — the first customers are Toptal recruiters and Arc.
Decision doc: design/ats-screening-engine/screening-engine-decision.md. Confluence page 6334349393. Jira: ATS-301, ATS-520/522/523/527, ATS-306, ATS-816.
Введите числа или выберите пресет