Overview
The requirements extractor reads a solicitation's Sections L, M and C into one row per requirement. Each row carries the requirement text, its paragraph reference, and the source line it came from.
How requirements are classified
Sentences containing shall, must or required are marked mandatory. Sentences containing should, will or may are marked advisory. Paragraph references are normalised, so L-4 and L.4 are treated as the same reference.
Amendments never delete history
When an amendment changes a requirement, the old row is marked superseded and the new text is added as a new row. When a requirement disappears, it is marked removed. The history of what the solicitation asked, and when it changed, stays readable with the include-history toggle.
What this is not
The parser is heuristic and has been tested against synthetic excerpts, not a corpus of real solicitations. Requirements written without the trigger words are missed, and numbering the parser does not recognise stays attached to the previous paragraph. Treat the output as a draft for a person to confirm, never as a verified compliance matrix. This is separate from the FAR/DFARS clause matrix, which is unchanged.
Where it happens
Open an opportunity and choose Requirements. If nothing has been extracted yet, the page says so and lets you run an extraction, optionally naming the amendment number you are processing.