Core Objects
concepts: canonical recruiting concepts such as titles, credentials, skills, employer archetypes, and hard exclusions.terms: display text and normalized keyword forms attached to concepts.markets: parent and child recruiting markets.market_pack_versions: immutable published market-pack releases.market_terms: concept terms with market-specific treatments such ashard_match,soft_match, orhard_exclusion.evidence: source-backed observations for terms and relationships.ontology_proposals: tenant or market-scoped suggestions awaiting review.approval_decisions: immutable reviewer decisions.candidate_feature_snapshots: evidence-backed feature matches captured during scan scoring.ontology_feedback_events: recruiter verdicts and reason codes tied back to a scan and candidate.ontology_term_performance: aggregate accept/reject/maybe counters by market, pack version, term, and treatment.ontology_evaluation_setsandontology_evaluation_labels: offline regression sets for market-pack quality.
Normalization
Matching is case-insensitive by default but punctuation is preserved:Seed Launch Markets
The launch seed creates six publishable market packs:capital-markets-engineering-ussoftware-engineering-usdata-ai-ushealthcare-nursing-ussales-business-development-uswealth-management-us
Runtime Behavior
Candidate intake now attempts to infer a market pack from the extracted criteria. For wealth-management searches, the API returns anontologyPlan preview when
wealth-management-us is published.
When a candidate scan starts, the backend stores that plan in search_plan_versions
and stores the compiled query families in serper_queries. The scan pipeline uses
those stored queries before falling back to the older CriteriaV2 dork builder.
Search chat refinements also attempt ontology compilation. If the refinement is marked
rescore_only, no new Serper queries are stored.
During scoring, the backend now snapshots evidence-backed ontology features into
candidate_feature_snapshots. These snapshots include matched terms, failed hard
requirements, hard exclusions, and evidence excerpts from the profile data.
When a recruiter marks a candidate as accept, reject, or maybe, the verdict is
written into ontology_feedback_events and rolled up into ontology_term_performance.
This creates the first measurable learning loop without allowing feedback to silently
rewrite a published market pack.
Inspect term performance for a market:
Evaluation Sets
Evaluation sets hold labeled known-good, known-bad, and ambiguous candidates for market-pack regression testing. Create a set:precisionAt10,
precisionAt25, ndcgAt20, and meanReciprocalRank when a scan is supplied.
Manual Market Editing
Create a concept:Phase Coverage
The current implementation covers the backend foundation across the planned phases:Deployment Smoke Test
After deployment:candidate_feature_snapshots, ontology_feedback_events, and
ontology_term_performance.