Teardown 1 — Floor: compliance matrix from an RFP
The process
Turning a solicitation's proposal instructions and evaluation criteria into a compliance matrix, before anybody writes a word of the proposal.
The steps
- Pull Section L and list every instruction on volumes, order, page counts, and format.
- Pull Section M and list every evaluation factor and sub-factor.
- Pull Section C or the SOW and list every "shall" statement as a separate requirement.
- Line up each requirement against the Section L instruction that says where it goes and the Section M factor that says how it gets scored.
- Build the outline: volume, section number, section title.
- Mark each row Compliant / Intend to Comply / Partial Compliant / NON-COMPLIANT, with a risk level and a one-line justification.
- Assign an owner and an action to every row that isn't already compliant.
- Re-read the solicitation against the matrix and fix what you missed the first pass.
J or R
| Step | J/R | Why |
|---|---|---|
| 1. List Section L instructions | R | Transcription. Same job on every solicitation. |
| 2. List Section M factors | R | Transcription. |
| 3. Pull every "shall" as a requirement | R | Pattern-matching against a rulebook, not a call. |
| 4. Map requirement → L instruction → M factor | R | Mechanical once all three lists exist. |
| 5. Build the outline | R | Section L already dictated it. |
| 6. Compliance status, risk, justification | J | This is you betting your bid. Nobody else. |
| 7. Assign owner and action | J | You know who can actually write it by Thursday. |
| 8. Second pass against the matrix | J | Judgment is the whole point of a review. |
The first R step
Step 3 — pulling every "shall" out of the SOW. Not because it's the biggest. Because it's the one you're most likely to do badly at 11 p.m. and the one where missing a single line gets you thrown out on compliance before anyone reads your technical approach. It's also self-checking: you can spot-count the "shall" statements yourself and see whether the list is complete.
What I'd paste
Here is [Sections L, M, and C of a solicitation, pasted]. Turn it into [a proposal compliance matrix] in this format: [Outline # | Proposal Section Title | Section in Proposal | RFP Section L | Section # | RFP Section M | Section # | RFP Section C/SOW | Compliance Status | Risk Level | Justification | Action | Owner]. One row per requirement. Leave Compliance Status, Risk Level, Justification, Action, and Owner blank — I fill those in. Flag anything that looks off [conflicting page limits, a Section M factor with no matching Section L instruction, a "shall" you couldn't place anywhere].
That output drops straight into the compliance matrix template we hand out in the GovCon series. Same columns, same order.
What went sideways
The first version I ran filled in the Compliance Status column for me. Every row said "Compliant." It had no idea whether we could actually do any of it — it was pattern-matching on what a finished matrix looks like. That's why the prompt now says leave those columns blank. Second thing: it silently merged compound requirements. One "shall" with three clauses came back as one row, so three obligations shared one owner and one status. Now I ask it to split compound requirements into separate rows and I still eyeball the count.