# Labeling instructions

You are labeling questions taken from the public application forms of software
engineering job postings, read on 10 November 2026 from company job boards
(Greenhouse, Ashby, Lever). Each item is one distinct form question: its label
text, then its answer options after `|| options:` when it has them. Each item
also shows a description the form prints under the question (may be empty),
how many postings carry it, in how many of those it is required, and at which
companies (board slugs). Identical questions are labeled once.

Items were picked by a deliberately wide word search (salary, compensation,
pay, rate, expect, desired, equity, offer, base, cash and similar), so most of
them are not about pay at all. That is expected.

Question being studied: what do application forms ask candidates about pay?

## Label

Give each item exactly one `label`:

- `expectation`: asks what pay the candidate wants or expects for this job:
  desired salary, salary expectations, expected compensation, "what base salary
  are you looking for", the low or high end of a desired range. Free text,
  number or options all count.
- `history`: asks what the candidate is paid now or was paid before: current
  salary, current compensation, current CTC, last base salary, pay history.
  A question that asks for both expectations and current pay is `history`, and
  the note says so.
- `range_check`: asks the candidate to confirm, accept, acknowledge or say they
  are comfortable with the pay range printed in the posting ("Do you accept the
  listed salary range?", "Have you reviewed the salary range and acknowledge
  any offer will be within it?").
- `pay_other`: about pay, but none of the above: whether a stated range is base
  or on-target earnings, preferred pay currency, equity versus cash preference,
  questions about benefits as a reason to apply that name compensation among
  many options. Explain in the note.
- `offers`: about competing offers or offer deadlines ("Do you have any
  upcoming offer deadlines?"). Not about the amount of pay.
- `not_pay`: anything else: skills rated on a scale, "desired start date",
  "where did you hear about us", SMS consent mentioning message and data rates,
  universities, arbitration agreements, citizenship, team preference.

## Attributes, only for `expectation` and `history`

- `answer`: `free_text` (an open text box or no options), `options` (the
  candidate picks from listed answers; copy nothing, just mark it), or `number`
  (the label or description asks for a bare number, e.g. "format with no
  commas").
- `scope`: what pay the question names: `base` (base salary only), `total`
  (total compensation, or base plus variable, bonus, OTE or equity),
  `unspecified` (just "salary" or "compensation" without saying which). If
  "salary" is used alone, that is `unspecified`, not `base`.
- `currency`: the currency the question names, or `none` if it names none.
- `no_history_warning`: true if the label or description tells the candidate
  not to disclose current or past pay; false otherwise.

For other labels leave these four fields empty strings / false.

## Rules

- Read the label, the description and the options together. A question whose
  label is "Salary Expectations" is `expectation` even with no description.
- "Expected" or "expectation" about anything other than money (relocation,
  office attendance, on-call) is `not_pay`.
- Do not guess what the company intends. Label what the question asks.
- Write a short `note` (one sentence, English) only when the label is not
  obvious from the text, or for `pay_other` and `history`.

## Output

A JSON list, one object per item, in input order:

    {"key": "q0007", "text": "<the item text, copied exactly>", "label": "expectation",
     "answer": "free_text", "scope": "unspecified", "currency": "none",
     "no_history_warning": false, "note": ""}

Copy `text` exactly as given: the label follows the text, not the key.
