{
  "registry_version": "1.0.0",
  "data": {
    "title": "Seniority Double Bind",
    "status": "active",
    "evidence_ids": [
      "evidence.too_good_to_hire_capability_and_inferences_about_commitment_in_labor_markets"
    ],
    "content": "# Seniority Double Bind\n\nThe same candidate is rejected as overqualified for junior and mid-level roles and as underqualified, or not specialised enough, for staff and leadership roles.\n\n### Trigger Rule\nThe candidate is rejected as overqualified at level N and as short on depth at level N+1 within the same market cycle.\n\n### What this Establishes\n- The candidate falls into a gap between evaluation tiers, where the compensation and experience expected match neither tier.\n\n### What this Does NOT Establish\n- Does not establish that the candidate lacks market value.\n- Does not establish malice or coordinated collusion between employers.",
    "aliases": [
      "P-001"
    ],
    "id": "pat.seniority_double_bind",
    "type": "pattern",
    "summary": "The same candidate is rejected as overqualified for junior and mid-level roles and as underqualified, or not specialised enough, for staff and leadership roles.",
    "required_artifacts": [
      "obs.generic_closer_alignment_rejection_template",
      "obs.feedback_stating_candidate_is_overqualified_for_the_grade"
    ],
    "compatible_mechanisms": [
      "mech.genuine_technical_skill_shortfall",
      "mech.unstated_compensation_band_discrepancy",
      "mech.experience_age_grading_mismatch"
    ],
    "trigger_rule": "The candidate is rejected as overqualified at level N and as short on depth at level N+1 within the same market cycle.",
    "establishes": [
      "The candidate falls into a gap between evaluation tiers, where the compensation and experience expected match neither tier."
    ],
    "non_inferences": [
      "Does not establish that the candidate lacks market value.",
      "Does not establish malice or coordinated collusion between employers."
    ],
    "interventions": [
      "int.upfront_compensation_band_disclosure",
      "int.standardized_late_stage_rejection_feedback_taxonomy"
    ],
    "evidence_level": "supported",
    "specimens": [
      {
        "kind": "email",
        "label": "Two rejections, six weeks apart",
        "context": "same candidate, same market, adjacent levels",
        "lines": [
          {
            "text": "12 Feb — Senior Backend Engineer (level 4). Your experience sits above the band scoped for this role and we were concerned it would not hold your interest.",
            "tell": true
          },
          {
            "text": "26 Mar — Staff Engineer (level 5). The panel felt the depth of platform ownership was not yet at staff scope; we would look for a broader track record of org-wide impact.",
            "tell": true
          },
          {
            "text": "Both roles: same city, same domain, same six-week window.",
            "tell": false
          }
        ],
        "reading": "Neither message is unreasonable on its own. Put next to each other they describe a candidate who is above one level and below the next, with nothing in between open."
      },
      {
        "kind": "note",
        "label": "What the pair does and does not establish",
        "lines": [
          {
            "text": "Established: two rejections, two stated grounds, two adjacent levels, one market cycle.",
            "tell": false
          },
          {
            "text": "Not established: that either judgement was wrong, that the two employers coordinated, or that the candidate is unhireable. The motif is a property of the level grid, not of the person moving through it.",
            "tell": true
          }
        ],
        "reading": "The pattern is worth naming precisely because each half is defensible. The trap is structural, which is also why no single conversation can argue it away."
      }
    ],
    "perspectives": [
      {
        "actor": "actor.candidate",
        "sees": "Two rejections inside one market cycle: one saying the experience sits above the band scoped for the role, one saying the depth is not yet at the next level's scope.",
        "reads": "Together the two messages describe a person who is above one rung and below the next, with nothing open in between.",
        "does": "Applies at both levels at once and shifts what the CV emphasises depending on which rung the posting names."
      },
      {
        "actor": "actor.recruiter",
        "sees": "A profile whose years and previous scope sit above the band approved for the requisition being screened.",
        "reads": "An expectation above the band reads as an offer that will not close, and the level of the requisition is fixed before the screen begins.",
        "does": "Closes the application against this requisition and writes the rejection in terms of fit with the level it was opened at."
      },
      {
        "actor": "actor.hiring_manager",
        "sees": "A candidate in a staff-level round, assessed against the scope the panel has agreed for that level: ownership across an organisation rather than a team.",
        "reads": "A track record that has not yet run at that scope is a risk that lands on the person who makes the hire.",
        "does": "Records a not-at-this-level decision and leaves the requisition open: a bad hire carries a name and a search still running does not."
      },
      {
        "actor": "actor.employer_policy",
        "sees": "A levelling grid in which every level has a band and the bands are contiguous, and requisitions that are each opened at a single level.",
        "reads": "A candidate above one band and below the next is a mismatch between a person and a particular requisition, not a gap in the grid; the grid is what makes offers consistent across every hire.",
        "does": "Holds the grid steady through the cycle and approves requisitions at one level, because the level is the unit finance funds."
      }
    ]
  }
}
