{
  "registry_version": "2026.08.2",
  "data": {
    "title": "Employment Gap Penalty Loop",
    "status": "active",
    "evidence_ids": [
      "EVD-003"
    ],
    "content": "# Employment Gap Penalty Loop\n\nAn employment gap triggers automated downranking (M-011), which pushes the profile below keyword and qualification filters (M-008); fewer interview invitations lengthen the gap, which in turn strengthens the downranking.\n\n### Cycle Dynamics\nThis causal loop reinforces mechanisms across iterations:\n- `M-011` amplifies `M-008`\n- `M-008` amplifies `M-011`",
    "id": "L-001",
    "type": "loop",
    "summary": "An employment gap triggers automated downranking (M-011), which pushes the profile below keyword and qualification filters (M-008); fewer interview invitations lengthen the gap, which in turn strengthens the downranking.",
    "mechanisms": [
      "M-011",
      "M-008"
    ],
    "edges": [
      {
        "from": "M-011",
        "to": "M-008",
        "relation": "amplifies"
      },
      {
        "from": "M-008",
        "to": "M-011",
        "relation": "amplifies"
      }
    ],
    "entry_points": [
      "M-011"
    ],
    "interventions": [
      "I-004"
    ],
    "evidence_level": "supported",
    "specimens": [
      {
        "kind": "ats",
        "label": "The same profile, two cycles apart",
        "context": "same CV, same market, nine months between",
        "lines": [
          {
            "text": "Cycle 1 — skills 91, domain 88, continuity penalty −22 (gap 14 months) → rank 57",
            "tell": true
          },
          {
            "text": "Cycle 2 — skills 91, domain 88, continuity penalty −34 (gap 23 months) → rank 45",
            "tell": true
          },
          {
            "text": "Advance threshold both times: 60.",
            "tell": false
          }
        ],
        "reading": "Nothing in the work changed between the two rows. The only variable that moved is the one the penalty reads, and it moves because the penalty worked the first time."
      },
      {
        "kind": "note",
        "label": "Why the loop closes",
        "lines": [
          {
            "text": "Downranking pushes the profile below the filter threshold.",
            "tell": false
          },
          {
            "text": "Below the threshold there are no interviews.",
            "tell": false
          },
          {
            "text": "No interviews means no offer, so the gap continues to grow.",
            "tell": false
          },
          {
            "text": "A longer gap increases the penalty on the next application.",
            "tell": true
          }
        ],
        "reading": "Each step is a reasonable rule on its own. Together they form a cycle whose input is its own output."
      }
    ]
  }
}
