{
  "schema_version": "reality.tinyfish-candidate-input/v2",
  "status": "implemented_reference_contract_with_heldout_regression",
  "purpose": "Turn an authorized candidate submission into claim-by-claim public professional context without using public-footprint size or name similarity as a candidate score.",
  "required_case_controls": {
    "case_id": "required",
    "role_and_jurisdiction": "required",
    "lawful_purpose_and_candidate_notice": "required",
    "named_human_reviewer": "required",
    "retention_and_access_policy": "required",
    "correction_and_adverse_action_process": "required where applicable"
  },
  "candidate_submitted_fields": {
    "names": ["legal name", "preferred name", "candidate-disclosed aliases or former names"],
    "contact_anchors": ["candidate-controlled email/domain", "coarse location when relevant and permitted"],
    "professional_claims": ["school", "program or field", "graduation year", "employer", "role", "employment dates", "credential", "publication", "work sample"],
    "direct_public_anchors": ["candidate-provided LinkedIn URL", "GitHub handle or URL", "portfolio URL", "issuer verification URL/code", "DOI", "ORCID", "public license identifier"],
    "authorized_files": ["resume", "cover letter", "portfolio", "transcript or credential only when lawfully requested", "submitted document/photo/video only when media review is authorized"]
  },
  "intake_extraction": {
    "accepted_packet": ["résumé or application PDF", "cover letter", "portfolio/work sample", "visible submitted URLs", "job rubric and case controls"],
    "required_receipt": ["artifact ID", "original-byte SHA-256", "page count or media metadata", "extracted source line", "claim IDs", "direct URLs and aliases"],
    "model_boundary": "A parser or MiniMax may propose claims, but deterministic source-line, URL, artifact-hash and forbidden-conclusion gates control release."
  },
  "dynamic_acquisition_plan": {
    "round_1": ["fetch exact candidate-submitted URLs", "search each disclosed name or alias with school, employer, project and publication anchors"],
    "round_2": ["expand cross-links and newly discovered non-name anchors", "query profession-appropriate sources such as GitHub, Scholar, institutional pages, DOI/ORCID and approved professional networks", "query authorized official public indexes"],
    "round_3": ["resolve remaining material conflicts or stop with an explicit first-party action"],
    "stopping_criteria": ["every material claim has bounded support or an explicit unresolved action", "a round produces no new candidate-specific non-name anchor", "rights or source access blocks the route", "case budget is reached"],
    "fixed_search_limit": false,
    "recorded_alex_slice": "Seven Search calls are a recorded demo count, not the production ceiling."
  },
  "official_public_discovery": {
    "default": "Run when purpose, notice, jurisdiction and employer policy authorize it.",
    "query_boundary": "Use disclosed name/alias plus non-secret professional anchors; never send SSN, government-ID number, complete address, phone, credential secret or biometric template to open-web Search.",
    "attachment_gate": "A name-only result remains unassigned. Positive attribution requires compound identifiers and, when material, independent identity/first-party verification.",
    "no_hit": "Not clearance and not a positive candidate signal.",
    "action_gate": "Any consequential use remains separately governed by job relevance, notice, correction and human review."
  },
  "default_public_search_exclusions": [
    "face, selfie or biometric template",
    "government ID number",
    "full street address or phone number",
    "protected traits",
    "open-ended relatives or associates search",
    "public-footprint size as a quality, identity or risk signal"
  ],
  "claim_rows": {
    "required_fields": ["claim_id", "claim_type", "candidate_statement", "dates", "approved_anchors", "search_permission", "source_policy", "terminal_verification_route"],
    "allowed_results": ["supported_context", "conflicting_context", "insufficient_public_context", "not_publicly_searchable", "out_of_scope"],
    "forbidden_rollup": "No single candidate risk, honesty, employability or identity score."
  },
  "linkedin_boundary": {
    "candidate_provided_url": "may be preserved as a self-attested reference",
    "search_result": "may be preserved as an unverified public lead when policy allows",
    "fetch": "not assumed; login, visibility and anti-automation controls may prevent reliable retrieval",
    "no_hit": "not evidence of identity, dishonesty, qualification or risk",
    "prohibited": "credential sharing, login circumvention or scraping contrary to platform terms"
  },
  "controlled_verification_boundary": "Employer, education, payroll, reference and work-authorization verification may require consented databases, issuer portals, registrar/employer contact or customer systems. Search and Fetch can prepare the packet but do not replace those controlled checks.",
  "blind_regression": {
    "input": "One simulated candidate-submitted résumé PDF plus case controls; no prebuilt profile or preselected source list.",
    "observed": "Six claims, seven direct URLs, twenty-six query executions, fifteen Fetch receipts, one namesake isolated and six source/limit/action rows.",
    "receipt": "general-hiring/golden-regression-summary.json"
  },
  "truth_boundary": "The contract supports public professional-context assembly. It is not a consumer-reporting certification, background-check completion, identity proof, biometric match or automated employment decision."
}
