RFP Watch

About RFP Watch

Federal services solicitations and sources-sought notices on SAM.gov, each week: how offers will be judged, contract types, stated values, named incumbents and planned sole-source awards, every value with the sentence it came from.

What's covered. Each week, every solicitation on SAM.gov for services (product service codes that start with a letter) and every sources-sought notice (market research before a solicitation) with a posting that week. A solicitation number is one notice, read from its latest posting. Not covered: solicitations for goods, presolicitations, special notices, and award notices.

How values are read. Claude (Haiku) reads each notice's SAM.gov description and attached documents and answers a fixed set of questions, quoting the sentence each answer comes from. Code then checks every answer: the quote must be in the documents, and the value must pass a rule against its own quote (an "LPTA" value needs LPTA wording, a dollar value must be in its sentence with its qualifiers, a per-contract amount or guaranteed minimum is not a total, and so on). Answers that fail are dropped, not shown.

What's published. Only fields that passed a sampled check: for each one, about 30 values (or all of them, when fewer) were judged against the documents by a separate Claude model against the field's written definition. A field that fell short was dropped (for example whether a sources-sought notice says a set-aside is being considered: 6 of 30 right). The results are in the proof files. Those are samples, not a census: expect occasional errors, and check the notice.

Empty means not found. Large packages are cut to the parts on these topics before Claude reads them, documents hosted elsewhere (PIEE, NECO) and spreadsheets aren't read, and scanned images have no text.

The picks are chosen and written up by Claude (Opus) from the checked values. Code drops a pick whose quote isn't in the notice, whose dollar figure isn't the notice's stated value, or that says "sole source", "incumbent" or "LPTA" about a notice without that value.

All the data: huggingface.co/datasets/abigailhaddad/federal-solicitations, as Parquet and CSV, every value with its quote and where in the documents it is. Code: github.com/abigailhaddad/federal-solicitations. Spotted a wrong value? Open an issue. No JavaScript, no cookies, no trackers.