# Friendship PCS — extraction notes Text extracted with pdfjs 4.10.38 (line-grouped by y-position). 52pp, 105,154 chars, **no page needed OCR** — the text layer is clean throughout. Raw output in `extracted/`. This is a reading aid for authoring, *not* the production pipeline's output — that runs through Document AI and is what gets measured later. ## The rubric is real and nested three deep Verbatim from Section K.2, "Technical Rating Scale": ``` Pricing 40 Total Bid Cost (Base Year) (no separate points) Method of Approach and Implementation 30 Food and Packaging 15 Utilization of USDA Foods 10 Geographic preference 5 Bidder's Experience, Expertise & Reliability 20 Knowledge of USDA / District requirements 5 Dependability 5 Inspection of warehouse and facilities 5 Customer Service 5 Proven Organizational Capacity 5 (three sub-bullets, NO points) Community Connection, Values Alignment 5 (three sub-bullets, NO points) ``` Matches what #22 recorded. Two structural facts it did not capture: **Sub-items are inconsistent.** Under Method of Approach and Experience they are *weighted sub-criteria* summing to the parent. Under Organizational Capacity and Community Connection they are *unweighted guidance*. The same visual nesting means two different things in one document. **Geographic preference embeds a mandatory submission inside a scored criterion:** "Bidder must submit certification of percentage of locally grown or raised foods." A scored criterion carrying a pass/fail artifact. ## Extraction hazards confirmed here **The rubric never uses the word "criteria" as a heading.** It lives under "SECTION K: Evaluation Factors" → "K.2 Technical Rating Scale", with weights as bullet suffixes (`– 40 points`). A keyword search for "evaluation criteria" or "scoring" returns nothing. First-pass evidence for why #16's completeness sweep cannot rely on headings. **Schedule C is the price sheet and contains no prices.** Verbatim, the entire section body is: > SCHEDULE C: PRICING SHEET > *Separate attachment to be completed in Excel. This is #22's second extraction hazard in its purest form: a PDF-only extractor finds **zero pricing** on a solicitation where pricing is 40% of the score. It is also a ready-made **labelled known-miss** for the sweep — the obligation is present, its content is not, and no amount of better PDF parsing recovers it. ## Obligation density 149 × "shall", 64 × "must" across 52 pages. An earlier ad-hoc extraction reported zero of each; that was the extractor failing, not the document.