{
  "registry_version": "1.0.0",
  "data": {
    "title": "Materially similar role reposted shortly after rejection",
    "status": "active",
    "evidence_ids": [
      "evidence.job_seekers_beware_of_ghost_jobs_clarify_capital_survey_of_hiring_managers"
    ],
    "content": "# Materially similar role reposted shortly after rejection\n\nThe same listing, or a near-identical one, is reposted or refreshed on the job boards within 1–8 weeks of the rejection.\n\n### Diagnostic Non-Inferences\n- Does not establish that the role was a \"fake\" or \"ghost\" posting.\n- Does not establish that the prior interview feedback was fraudulent.",
    "aliases": [
      "A-004"
    ],
    "id": "obs.materially_similar_role_reposted_shortly_after_rejection",
    "type": "observation",
    "summary": "The same listing, or a near-identical one, is reposted or refreshed on the job boards within 1–8 weeks of the rejection.",
    "stages": [
      "sourcing",
      "screening",
      "technical"
    ],
    "evidence_level": "supported",
    "probes": [
      {
        "id": "PROBE-A-004-1",
        "action": "Check the requisition ID on the listing, or ask the recruiter whether the posting is an automated ATS refresh or a separate headcount opening.",
        "expected_signal": "Distinguishes an automated refresh on the job board from a genuinely recurring hiring need.",
        "cost": "low",
        "outcomes": [
          {
            "id": "same-req-refresh",
            "label": "The listing carries the requisition number you applied against, and the recruiter says the board re-posts it on a fixed interval; the record itself has not changed.",
            "excludes": [],
            "because": ""
          },
          {
            "id": "new-req-number",
            "label": "The listing carries a requisition number that did not exist when you applied, and the recruiter describes it as a separately approved opening on the same team.",
            "excludes": [],
            "because": ""
          },
          {
            "id": "req-should-be-down",
            "label": "The recruiter answers that the team stopped hiring for this and the listing should not still be up; it comes down within days.",
            "excludes": [],
            "because": ""
          },
          {
            "id": "no-answer",
            "label": "The board shows no requisition number and the question goes unanswered; the two posted dates and the identical body text are all you hold.",
            "excludes": [],
            "because": ""
          }
        ]
      }
    ],
    "specimens": [
      {
        "kind": "posting",
        "label": "The two postings, side by side",
        "context": "rejection on 14 March, repost seen on 2 April",
        "lines": [
          {
            "text": "14 Mar — Senior Backend Engineer · Payments · Remote (EU) · 5+ years · Go, PostgreSQL, Kafka · req #4471",
            "tell": false
          },
          {
            "text": "2 Apr — Senior Backend Engineer · Payments · Remote (EU) · 5+ years · Go, PostgreSQL, Kafka · req #4471",
            "tell": true
          },
          {
            "text": "Body text identical except for the posted date. Same requisition number, same team, same band.",
            "tell": false
          }
        ],
        "reading": "The requisition number is the thing to record. A refreshed listing and a genuinely new headcount look identical on the board and are different facts underneath."
      },
      {
        "kind": "chat",
        "label": "Asking the recruiter directly",
        "lines": [
          {
            "speaker": "Candidate",
            "at": "2 Apr",
            "text": "I saw req #4471 posted again this week. Is this a second opening on the team, or the same one refreshed?",
            "tell": false
          },
          {
            "speaker": "Recruiter",
            "at": "3 Apr",
            "text": "Good catch — the board auto-refreshes listings after 30 days so they stay visible. Same requisition, still open.",
            "tell": true
          }
        ],
        "reading": "One question separated an automated refresh from a real second opening. This is the cheapest probe in the whole registry."
      }
    ],
    "perspectives": [
      {
        "actor": "actor.candidate",
        "sees": "The same requisition number, team and band on a listing whose posted date has moved, with the body text otherwise unchanged.",
        "reads": "A refreshed listing and a second opening look the same on the board. The requisition number is what separates them, and one question resolved which it was.",
        "does": "Records both dates and the requisition number, and asks the recruiter directly, which costs one message."
      },
      {
        "actor": "actor.ats_vendor",
        "sees": "One requisition record and a syndication schedule that re-posts a listing when it passes the configured interval.",
        "reads": "Whether a listing stays in the visible window on a board is a distribution setting. Nothing about who was rejected enters that path.",
        "does": "Refreshes the posted date on the interval the customer's configuration sets, and the board shows the listing as new."
      },
      {
        "actor": "actor.recruiter",
        "sees": "The same requisition open on their own board with an unchanged number, and a question about it in the inbox.",
        "reads": "The repost is the board's refresh cycle rather than a decision anyone took after the rejection.",
        "does": "Answers it, since the requisition number and the refresh interval are facts that cannot be quoted back as a commitment."
      }
    ],
    "non_inferences": [
      "Does not establish that the role was a \"fake\" or \"ghost\" posting.",
      "Does not establish that the prior interview feedback was fraudulent."
    ]
  }
}
