{
  "version": "0.3-approved-operational-manual-rubric",
  "fields": {
    "screen": {
      "type": [
        "boolean",
        "null"
      ],
      "definition": "A pass with a visible planned catch-and-run blocking arrangement: one or more blockers position or release ahead of a short receiver while that receiver receives near or behind the line. Include running-back, receiver and tight-end screens. A checkdown or negative air-yard pass alone does not establish a screen. A screen may also contain visible run-action mechanics, so the two labels may overlap.",
      "false_rule": "Set false only after the complete pass phase and receiver/blocking arrangement are visible and do not meet this definition.",
      "scope": "Counted throws, sacks and scrambles may be classified when screen mechanics are directly visible. An unthrown screen on a sack or scramble needs positive visual evidence. Completion-based screen production uses throws separately."
    },
    "play_action": {
      "type": [
        "boolean",
        "null"
      ],
      "definition": "The quarterback visibly presents or fakes a handoff, pitch or run-option exchange to a potential runner, then retains the ball for a passing phase. The defense need not react successfully to the fake. Under-center, pistol and shotgun run presentations can qualify. A back crossing the formation, a normal pass set or a shotgun flag alone does not qualify; describing a visible exchange does not establish the called playbook concept or an RPO provider flag.",
      "false_rule": "Set false when an adequate view of the snap and exchange mechanics establishes a direct passing phase without a run presentation. A single clear angle may suffice; missing ball-exchange detail is a field-specific visibility issue rather than a requirement to know the playbook call.",
      "scope": "Counted dropbacks, including a subsequent sack or scramble. Do not infer a specific playbook call or whether a visible mesh was called RPO."
    },
    "initial_pass_rushers": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "maximum": 11,
      "definition": "Distinct defenders attacking the line or quarterback in the initial pass-rush phase after the snap. Record their jersey identities and paths. A defender backing into coverage is not a rusher even if aligned near the line.",
      "scope": "Describe the observed initial phase separately from delayed rush and later pursuit; a four-man initial rush may become a five-man total rush."
    },
    "total_pass_rushers": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0,
      "maximum": 11,
      "definition": "Distinct defenders intentionally attacking the pocket before pass release, sack, or the quarterback clearly commits to an open-field scramble. Include a delayed rush or a defender who attacks after his assigned eligible receiver stays in protection. Exclude coverage defenders and spies who begin pursuit only after a scramble commitment. Record any uncertain timing as null instead of resolving it from formation or tackle involvement.",
      "scope": "Source-independent TSP manual count. Requires both views or an equally complete view and named paths; does not establish pressure or a provider blitz flag."
    },
    "five_plus_rush": {
      "type": [
        "boolean",
        "null"
      ],
      "definition": "Derived only from a verified total_pass_rushers count: total_pass_rushers >=5. Call it five-plus rush, with this definition visible, rather than claiming an FTN/PFF/NGS blitz match.",
      "scope": "Counted dropbacks; rate denominator is classified counted dropbacks, with unknowns displayed."
    },
    "role_based_blitz": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "yes",
        "no",
        "uncertain",
        null
      ],
      "definition": "Separate TSP off-ball/defensive-back rush involvement: an identified defender operating from an off-ball linebacker or defensive-back role deliberately attacks the passing pocket before the quarterback decision. Identity may be established by jersey/roster or an unambiguous pre-snap position and continuous path. A replacement rush can qualify with only four total rushers; a normal on-ball edge rusher is not automatically an extra blitzer. Coverage, a spy hold or pursuit beginning only after open-field scramble commitment does not qualify. Pre-snap rush presentation alone is insufficient.",
      "scope": "A visible role/path label, separate from total-rusher count and five-plus rush. Use yes/no when the pertinent defenders and timing are established, uncertain/null only for an actual role/path/timing visibility gap. This field does not claim a provider blitz match or certify the called defensive scheme."
    },
    "pressure": {
      "type": [
        "boolean",
        "null"
      ],
      "definition": "TSP pre-decision defensive pressure on a counted dropback: a sack, defender contact affecting the passing action, or an immediate sack threat visibly constraining the quarterback before release or open-field scramble commitment. A hurry can be supported by defensive evasion, a reset or displacement of the platform, altered delivery/arm slot, or urgent release against an approaching or free rusher. A visible immediate threat can support pressure without proof of the quarterback's intended progression or thoughts. A normal rollout, ordinary pocket movement, a blocked nearby defender or rusher count alone is insufficient. Keep pressure subtype, threatening defender/path and event ordering in evidence notes; pressure does not assign protection fault.",
      "false_rule": "Set false when an adequate snap-to-release/decision view establishes no qualifying disruption or immediate threat before the decision. Do not demand knowledge of intended play design to classify an otherwise visible clean passing phase. If the view cannot distinguish a genuine threat from normal movement or cannot establish pre-release ordering, retain null with the specific visibility reason. Contact only after release is recorded separately and does not independently establish this pre-decision field.",
      "scope": "Counted dropbacks, including sacks and scrambles, with actual pre-decision event timing. This is a stated TSP manual definition. PFF pressure, official QB hits and NGS modeled pressures may use different conventions and remain attributed to their actual sources. A recorded QB hit alone does not fill this manual field."
    },
    "pressure_evidence": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": "string"
      },
      "definition": "Jersey identity, path, timing and directly visible effect supporting true or false pressure. Null means not classified; an empty array must not be read as proof of a clean pocket."
    },
    "contact_after_release": {
      "type": [
        "boolean",
        "null"
      ],
      "definition": "Visible physical contact on the quarterback after the ball leaves his hand. Record the source window and whether it is separately present in the official QB-hit field. This field does not independently resolve pre-release pressure."
    },
    "throwaway": {
      "type": [
        "boolean",
        "null"
      ],
      "definition": "An intentional disposal with directly visible placement away from any plausible receiving attempt, supported by receiver locations and quarterback action. An incompletion outside the boundary, a ball thrown through contact, or a target name alone is insufficient.",
      "scope": "Thrown passes only; keep null on sacks, scrambles and unavailable receiving views.",
      "false_rule": "A credited completed reception to the actual receiver resolves false with explicit official_outcome evidence because that pass was received rather than intentionally disposed away from a plausible receiving attempt. Incomplete passes require actual evidence of an aimed receiving opportunity; an incomplete ledger target name alone is insufficient.",
      "approved_rubric_version": "0.3-approved-operational-manual-rubric"
    },
    "pass_deflected_at_line": {
      "type": [
        "boolean",
        "null"
      ],
      "definition": "A visible defender touches the flight of the pass near the line before it reaches the targeted receiving area. Do not infer a deflection from an unusually short pass, the PBP pass-defense field or a raised arm alone.",
      "scope": "Thrown passes only."
    },
    "catchability": {
      "type": [
        "string",
        "null"
      ],
      "enum": [
        "catchable",
        "uncatchable",
        "uncertain",
        "not_applicable",
        null
      ],
      "definition": "A realistic legal physical receiving opportunity at the actual arrival. A credited completed reception establishes catchable for this receiving-opportunity field, including difficult or exceptional catches. On an unsuccessful target, judge placement, receiver reach and defensive alteration from the actual sequence. Uncatchable means the actual ball affords no realistic legal opportunity. Catchability is separate from accuracy, optimal placement, expected handling and drop responsibility. The full intervening ball flight need not be reconstructed to resolve the arrival opportunity.",
      "scope": "Thrown receiving targets, excluding positively verified intentional throwaways and spikes. Credited completed receptions may be resolved with explicit official_outcome evidence. Unsuccessful targets require actual arrival evidence. Do not equate this TSP judgment with a provider field or accuracy grade.",
      "approved_rubric_version": "0.3-approved-operational-manual-rubric"
    },
    "drop": {
      "type": [
        "boolean",
        "null"
      ],
      "definition": "A failed reception of an aimed pass that presents a realistic legal receiving opportunity, attributable to receiver handling rather than decisive defensive disruption. Verified completed receptions of the credited target are no-drop by the official outcome, including difficult or exceptional catches. On unsuccessful targeted passes, assign true only when the arrival, receiver action and relevant defensive contact establish a catchable opportunity that the receiver failed to secure. A touch of the hands alone does not establish a drop; an interception alone does not rule one out.",
      "false_rule": "Set false on a verified completed reception of the credited target and log source_type=official_outcome, status=derived. This resolves failed-reception status only; it does not independently resolve placement, ordinary-effort catchability, contest, line deflection or throw accuracy. On unsuccessful targets, film may resolve false when placement provides no realistic legal opportunity or decisive defensive action prevents the reception. Verified intentional throwaways and spikes are receiving-ineligible: retain null with explicit not_applicable eligibility provenance, not an unresolved-drop label. A later fumble after a completed catch is a separate event.",
      "scope": "All 73 counted analytical throws remain in the population audit. Receiving eligibility, resolved drop judgments, unresolved eligible judgments and not-applicable attempts are reported separately. No drop values on sacks or scrambles. A targeted tipped pass or hit-as-thrown pass is not automatically excluded: judge the resulting receiving opportunity. Drops per pass attempt and drops per resolved catchable target use separately named denominators. Successful two-point receptions remain in the separate supplemental scope.",
      "approved_rubric_version": "0.3-approved-operational-manual-rubric"
    },
    "snap_to_release_seconds": {
      "type": [
        "number",
        "null"
      ],
      "minimum": 0,
      "definition": "Optional manual interval between the visible initial movement of the snapped ball and the first frame in which the ball leaves the quarterback hand. Use the same camera angle for both events and log its timestamp/precision. Editing cuts, uncertain frame timing or a missing snap/release leave null. Do not label this FTN or NGS time to throw.",
      "scope": "Actual thrown passes only. Sacks and scrambles need separately named decision intervals, not a fake release time."
    },
    "formation_motion_observation": {
      "type": [
        "string",
        "null"
      ],
      "definition": "Describe visible alignment, motion and shifts without converting them to a called protection or intended read. Offensive left/right always means the offense facing its opponent goal, not camera screen left/right."
    },
    "routes_protection_observation": {
      "type": [
        "string",
        "null"
      ],
      "definition": "Describe visible receiver stems/breaks and block engagements. A route appearance, quarterback head turn or a receiver becoming open does not independently establish prescribed progression, coverage responsibility, protection error or missed read."
    }
  },
  "missingness": "JSON null and blank CSV values indicate unresolved or unavailable observations, never numeric zero or false. Each unresolved field retains its reason and is excluded from known-condition production. Eligible, resolved and unknown counts appear together.",
  "field_evidence_required": "Each resolved tactical field has a matched play identity, a footage locator, a reviewed camera view and a field-specific observation. Sampling or visibility limits remain explicit.",
  "denominator_rule": "Primary production uses 83 counted quarterback dropbacks: 28 Allen and 55 Stafford. Twelve supplemental events, including no-plays, conversions and other quarterback runs, are excluded. Conditional passing lines use throws, with sacks and scrambles separately reported. Screen and play-action conditions can overlap.",
  "provider_separation": "Official/nflverse outcomes and nflfastR model fields remain under recorded. TSP film judgments remain under tactical. These observations do not fill or redefine FTN, PFF or Next Gen Stats provider fields.",
  "non_claims": "The observations do not assign protection fault, intended progression, a playbook call, a full coverage scheme or an isolated quarterback grade.",
  "receiving_eligibility": {
    "population": "73 primary counted analytical throws, preserved unchanged",
    "known_not_applicable": [
      "verified intentional throwaway",
      "verified spike"
    ],
    "targeted_altered_pass": "A tip, hit-as-thrown or interception does not automatically remove receiving eligibility; inspect the resulting opportunity and receiver attribution.",
    "classification": "Keep receiving_eligibility provenance separate from drop and catchability. Preserve null tactical value for known ineligible events with explicit not_applicable reason. Do not count a known ineligible event as an unresolved eligible classification.",
    "bounded_correction": {
      "completed_receptions_no_drop": {
        "allen": [
          3947,
          3994
        ],
        "stafford": [
          1570,
          1819,
          3629,
          3654,
          4221,
          4254,
          4279,
          4309,
          4664,
          4730
        ]
      },
      "known_throwaway_not_applicable": [
        2902
      ]
    },
    "denominators": "Retain all73 attempts for population audit and any explicitly named drops-per-attempt rate. Compute a catchable-target drop rate only from the separately resolved catchable receiving population; report unknowns alongside it. Do not remove unknown cases by default."
  },
  "source_references": [
    {
      "id": "pff-qb-charting",
      "url": "https://www.pff.com/news/pro-an-introduction-to-pff-qb-charting",
      "supports": "PFF separates catchable but inaccurate placement from accurate location. TSP preserves the distinction without claiming matching provider labels."
    },
    {
      "id": "ftn-nflverse-dictionary",
      "url": "https://nflreadr.nflverse.com/articles/dictionary_ftn_charting.html",
      "supports": "FTN export fields distinguish catchability, created/contested reception, drop, blitzers and total pass rushers. Sparse/default provider values are not populated from TSP judgments."
    },
    {
      "id": "nfl-completion-rule",
      "url": "https://static.www.nfl.com/image/upload/fl_attachment/league/tqivdkzt9mu6wdgsh1ku.pdf",
      "location": "Rule8-1-3, printedpage30, PDFpage37",
      "supports": "Verified controlled inbounds completion provides the reception outcome. Under the stated failed-reception definition, deriving no-drop is logical; it is not a provider drop report."
    },
    {
      "id": "pff-signature-glossary",
      "url": "https://www.pff.com/news/pro-pff-signature-statistics-a-glossary",
      "supports": "Throwing-motion disruption, play fakes and separate catchable-target drop rates inform TSP operational definitions, without supplying current game flags."
    },
    {
      "id": "pff-pressure-survival",
      "url": "https://www.pff.com/news/nfl-pff-quantitative-insights-investigating-pass-protection-with-survival-analysis",
      "supports": "Threats that force pocket exit or hurried release can generate pressure; no knowledge of an intended progression is required for visible disruption."
    },
    {
      "id": "pff-four-man-replacement",
      "url": "https://www.pff.com/news/nfl-how-nfl-defenses-attacked-five-man-protections-2021",
      "supports": "Off-ball replacement rushes can use four total rushers; role involvement and rush count need separate labels."
    },
    {
      "id": "ngs-pressure-model",
      "url": "https://www.nfl.com/news/next-gen-stats-introduction-to-pressure-probability",
      "supports": "NGS pressure is a tracking/model product. Manual observations do not reproduce its output."
    },
    {
      "id": "ngs-timing",
      "url": "https://d1.awsstatic.com/psc-digital/2021/gc-400/nfl-ebook/AWS_NFL_eBook_EN.pdf",
      "location": "PDFpage17 glossary",
      "supports": "NGS timing averages pass-attempt snap-to-throw intervals, excluding sacks."
    },
    {
      "id": "pff-timing",
      "url": "https://www.pff.com/news/nfl-pff-2023-qb-annual-is-live",
      "supports": "PFF timing includes its stated pass, sack and scramble endpoints; provider timing definitions remain separate."
    }
  ]
}
