Skip to content
ClearedStack

Tools · CLIN 0002 Proposal & capture

Compliance Matrix Generator

Planned

Map Section L instructions and Section M criteria to the proposal sections that answer them.

This tool is planned. There is nothing to open yet. What follows is the plan, and it can change before the tool ships. The guide below covers the same job by hand in the meantime. Jump to the full specification.

What it will do

Start from a numbered list of requirements. The tool lays out a matrix with one row for each, with columns for the source, the exact text, the place in your proposal that answers it, an owner, a status and notes. It also lets you tie each Section M factor to its Section L instruction and its Section C work requirements, and shows where the three do not line up.

You bring

  • A numbered list of requirements
  • Your proposal outline

You get

  • A compliance matrix to fill in and export
  • The factors that have no matching instruction, and the reverse

Built from

Only material the government has officially released to the public. Where the rules live shows how to find and cite each one.

Do it by hand today

  • Answer every requirement · Build the compliance matrixTurn a solicitation into a numbered list of requirements, a compliance matrix, an outline and a page budget, so nothing is missed.

True of every tool

Free and open source.
No paid tier, no ads, and the code is public.
Runs in your browser.
What you type or open is not sent anywhere.
No tracking.
No accounts, cookies or analytics.
Shows its sources.
Each result names the rule it rests on, so you can check it.
Says what it does not do.
It is an aid for your own work, not professional advice.

What happens to what you type shows how to confirm this yourself, and Check a tool’s answer is the method for verifying a result.

Want it sooner?

Requests decide what is built first. Say what you would use it for, and what you do by hand today.

Issues are public. Leave out real contract data, real rates and anything controlled. How to write a useful request.

Specification · draft

How it is meant to work, in detail

The inputs, the logic, the checks the tool has to pass and the worked examples it is tested against. It is a draft, and the tool is built from it, so it can change until the tool ships.

4 min readLast revised November 2026Source of this specification

Overview & Role#

The Compliance Matrix Generator (compliance-matrix-generator) belongs to CLIN 0002 — Proposal & capture in src/data/catalog.ts. It transforms shredded solicitation requirements into a structured compliance matrix that cross-references Section L instructions, Section M evaluation factors, and Section C work requirements against the bidder's proposal outline, owners, and review status.

As described in Answer every requirement, a compliance matrix is built before anyone writes a paragraph: it serves as the proposal plan on day one and the final submission checklist before delivery.

AttributeValue
Tool Slugcompliance-matrix-generator
Catalog CLIN0002 — Proposal & capture
Stack Templatechecklist / validator (local matrix builder in Moldloft)
Runtime100% static browser-side HTML/CSS/JS (zero backend, zero runtime AI)
LicenseMIT

Governing Regulations & Sources#

  • FAR Part 15 & FAR 15.204-1 (Uniform Contract Format): Defines the structural separation between Section L (Instructions, conditions, and notices to offerors), Section M (Evaluation factors for award), and Section C (Description/specifications/statement of work). Where the FAR overhaul or FAR Part 12 commercial formats omit lettered sections, the tool maps Instructions to Offerors, Evaluation / Basis for Award, and SOW / PWS / SOO equivalently.
  • FAR 52.215-1 (Instructions to Offerors—Competitive Acquisition): Governs responsiveness to instructions, amendment acknowledgment, and compliance with solicitation-supplied templates.
  • Solicitation-supplied matrix rule: When a solicitation includes its own compliance matrix template or prescribes specific column headers (e.g., in Section L or a Section J attachment), the solicitation's columns take precedence over default columns.

Inputs, Processing Logic & Outputs#

Inputs

FieldTypeConstraints & Defaults
requirementsJSON/CSV from rfp-requirement-shredder or manual pasteArray of rows containing id, source, text, and optional kind (L, M, C, H, J).
proposalOutlineStructured list of volumes/sectionsEach entry has volume, sectionNumber, heading, and optional pageLimit.
crosswalkLinksArray of { reqId, factorId, sectionId }Links Section M evaluation factors to Section L instructions and Section C tasks.
customColumnsOptional list of column namesSupports overriding default columns to match a government-mandated template.

Deterministic Processing Logic

  1. Requirement ingestion & deduplication: Parses imported CSV/JSON or pasted rows, validates unique requirement IDs (L-001, M-001, C-001), and preserves exact solicitation wording.
  2. Three-way crosswalk validation: Checks alignment across the three requirement types:
    • Flags any Section M evaluation factor with no linked Section L instruction (orphan evaluation factor — candidate for a pre-award question to the contracting officer).
    • Flags any Section L content instruction with no linked Section M factor or Section C requirement.
    • Flags any requirement row whose Proposal location is unassigned or whose Status is not final when running the readiness check.
  3. Outline-driven sorting: Orders matrix rows either by solicitation ID (L → M → C) or by proposal volume/section order so evaluators and red-team reviewers can walk the matrix top-to-bottom.
  4. Status & coverage rollup: Computes deterministic counts by status (Not started, Drafted, Reviewed, Final), by owner, and by volume.

Outputs

  • Interactive Compliance Matrix Table: Default columns per Answer every requirement:
    • ID
    • Source (section, paragraph, page)
    • Requirement (exact text)
    • Linked Factor / Instruction (crosswalk reference)
    • Proposal Location (volume, section, page)
    • Owner
    • Status (Not started | Drafted | Reviewed | Final)
    • Notes (open questions, assumptions, amendment references)
  • Gap & Orphan Report: Lists unmapped requirements, Section L/M mismatches, and incomplete rows.
  • Local Exports: Client-side CSV (RFC 4180 escaped) and JSON exports for spreadsheet or proposal-folder archiving.

Clean-Room & 5-Condition QA Requirements#

  1. Browser-only execution: All matrix assembly, crosswalk validation, and CSV/JSON generation execute locally in browser memory.
  2. Strict Content Security Policy (connect-src 'self'): Enforces default-src 'self'; connect-src 'self'; form-action 'none'. Proprietary proposal outlines, win themes, and capture notes never leave the browser.
  3. Zero tracking or accounts: Zero authentication, telemetry, cookies, or external scripts. Any optional localStorage persistence for work-in-progress matrices is disclosed with a one-click Clear local data control.
  4. Offline execution: Operates completely offline after initial page load, with all validation rules and templates bundled locally.
  5. Worked examples, citations & scope limits: Verified against synthetic test fixtures, cites FAR Part 15 / 15.204-1 / 52.215-1, includes an MIT LICENSE, and states that a compliance matrix verifies structural coverage—not whether the written technical narrative actually persuades an evaluator.

Worked Example & Verification#

Synthetic Input:

  • L-001 (Section L.4.1, p. 12): "The technical volume shall describe the transition-in approach."
  • M-001 (Section M.2.1, p. 20): "Factor 1, Technical Approach, evaluates transition-in readiness."
  • M-002 (Section M.2.2, p. 21): "Factor 2, Past Performance, evaluates recent similar contracts." (No Section L instruction linked)
  • C-001 (Section C.3.1, p. 18): "The contractor shall complete transition-in within 30 days of award."
  • Proposal outline: Vol I, Section 1.1 — Transition-In Approach

Expected Output:

IDSourceLinkedProposal LocationOwnerStatusNotes
L-001L.4.1, p. 12M-001Vol I, Sec 1.1Capture LeadDraftedUses solicitation term "transition-in"
M-001M.2.1, p. 20L-001, C-001Vol I, Sec 1.1Capture LeadDraftedScored under Factor 1
C-001C.3.1, p. 18M-001Vol I, Sec 1.1Tech LeadDrafted30-day schedule milestone
M-002M.2.2, p. 21NoneUnassignedUnassignedNot startedGap: Section M factor without Section L link

Verification assertions:

  • Coverage rollup reports 3 / 4 mapped (75%), 1 unassigned row (M-002), and 1 Section L/M crosswalk gap (M-002).
  • CSV export properly quotes cells containing commas and newlines.