BXUP Track progress & test yourself — free
Business & Systems Analysis · Playbook · Core · ~5 min read
BUSINESS & SYSTEMS ANALYSIS · PLAYBOOK · CORE

Mine SOPs and Contracts into Candidate Requirements That Cite Their Clauses

A 60-page SOP, two supplier contracts and a policy manual hide dozens of rules your solution must honor — and nobody will reread them for you. This playbook runs long-context extraction over the document pile into a candidate-requirements table where every row links to its source clause, then validates rows before any are promoted.

Workflow area: Elicitation & Discovery · Tier: Core · Hands-on time: ~35 minutes

Interviews tell you what people remember; documents tell you what the organization committed to. The obligations buried in SOPs, contracts, SLAs and policies are the requirements most likely to be missed in elicitation and most expensive to discover in production — a retention period, a notification deadline, an approval threshold that a stakeholder forgot existed. Long-context models read the whole pile in one pass and are genuinely good at extraction, but they also paraphrase clauses into something slightly different and occasionally cite a section that does not say what the row claims. So the rule is the same as for transcripts: every candidate requirement carries a document, clause reference and verbatim excerpt, and stays labeled CANDIDATE until a human verifies the clause and an owner confirms it still applies.

When to use — and when not to

  • Use it at the start of any project touching a regulated or contracted processpayment terms, data handling, audit obligations and service levels live in documents, not in anyone's head.
  • Use it on legacy SOPs before a replacement projectthe current process documentation is a map of rules the new solution inherits or must consciously retire.
  • Use it when documents outnumber your reading hoursfive documents over 40 pages each is exactly the pile long-context extraction exists for.
  • Skip it for documents you cannot legally processcontracts often carry confidentiality clauses restricting third-party disclosure; confirm your AI workspace qualifies as approved processing before anything is uploaded.
  • Skip it as a substitute for legal reviewextraction finds candidate obligations; whether a clause is enforceable, superseded or negotiable is a lawyer's call, not the model's.
  • Skip it when the documents are known to be deadmining a 2019 SOP nobody follows produces confidently sourced requirements for a process that no longer exists. Check currency with the owner first.

The recipe

  1. Assemble and label the corpus. Collect the SOPs, contracts, policies and work instructions in scope. For each, record title, version, effective date, and owner. Discard drafts and superseded versions now — the model cannot tell a dead document from a live one, and mixed versions are how contradictory candidates are born.

  2. Run the extraction with clause discipline. Attach the documents to Claude or Gemini (long context) with this prompt:

    You are a business analyst extracting obligations and rules from
    source documents for a requirements effort.
    Project scope: [ONE LINE — e.g. "replacing the vendor invoicing
    process at a logistics firm"]
    Documents: [LIST with version and date]
    
    Produce a candidate-requirements table with columns:
    ID | Candidate requirement (one testable sentence) | Type
    (obligation / rule / constraint / SLA / definition) | Source doc |
    Clause/section ref | Verbatim excerpt (max 30 words) | In scope?
    (YES / NO / UNCLEAR) | Notes
    
    Rules:
    - Extract ONLY what the documents state. Do not infer unstated
      requirements or merge clauses from different documents into
      one row.
    - The excerpt must be verbatim. If you must shorten, use "..."
      — never rewrite words inside the excerpt.
    - If two documents conflict, create both rows and add a CONFLICT
      note naming the other row.
    - Mark rows UNCLEAR rather than guessing scope.
    - After the table, list sections you could NOT confidently parse.
    
  3. Verify a sample against the source. Good output looks like this:

    CR-012 | Supplier invoices must be paid within 45 calendar days
    of receipt | SLA | MSA-AcmeCorp v3.2 | §7.4 | "payment shall be
    made no later than forty-five (45) days following receipt" |
    YES | CONFLICT: CR-031 (Finance SOP §2.1 says 30 days)
    

    Open the cited clause for every row that is a number, a deadline, or a CONFLICT — plus a random 20% of the rest. You are checking three failures: excerpts that were paraphrased, clause references that are off by a section, and "obligations" lifted from non-binding preamble text. Fix or delete what fails.

  4. Adjudicate conflicts and scope with owners. Take CONFLICT pairs and UNCLEAR rows to the document owners — contract manager, process owner, compliance. Which document wins, which clause is superseded, which rule is honored in the breach? Record the ruling in the Notes column with the person's name and date; those rulings are elicitation findings in their own right.

  5. Promote survivors into the requirements pack. Rows that passed verification and owner review graduate from CANDIDATE to draft requirements — rewritten in your requirements voice, with the source citation traveling along as the rationale. Rows that failed stay in the mining table as an audit trail of what was considered and why it was excluded.

Make it yours

  • Claude Projects for the standing corpus: load the document set once per engagement; later questions ("what does any document say about data retention?") return clause-cited answers without rerunning the full extraction.
  • NotebookLM for grounded interrogation: strong when you want inline source-grounded citations while chasing specific topics across many documents; pair it with the table prompt in Claude for the structured deliverable.
  • Gemini for very large piles: when the corpus exceeds one model's context, batch by document family (all contracts, then all SOPs) and merge tables — never let the model summarize a document it has not fully seen.
  • Chunk-and-merge for the free path: with a smaller context window, run the same prompt per document and concatenate the tables; add a final dedupe pass asking the model to flag near-duplicate rows across batches for you to merge by hand.

Quality check

  • Every row cites document, clause and verbatim excerpta candidate requirement you cannot trace to a clause in ten seconds is not a candidate, it is a guess.
  • Spot-checks passedevery numeric or deadline row and a 20% sample were opened at source; excerpts were verbatim and references correct.
  • Conflicts were adjudicated, not averagedeach CONFLICT pair carries a named owner's ruling, and the losing clause is recorded as superseded.
  • Document currency is confirmedan owner has confirmed each mined document is the live version; superseded sources were excluded before extraction.
  • Nothing was inferredsearch the table for requirements no clause actually states; models complete patterns, and a contract's silence is not a requirement.
  • The unparsed list is empty or ownedsections the model could not read were reviewed by a human or explicitly parked with a reason.
Warning

Contracts and SOPs are frequently confidential and sometimes carry clauses restricting disclosure to third parties — verify your organization's AI tool is approved for this material, strip counterparty pricing where the analysis does not need it, and never upload a client's contract into a personal account.

Key Takeaway:

Document mining beats rereading only when every extracted row is checkable — clause reference plus verbatim excerpt turns the model's reading into evidence, and the owner's ruling on conflicts turns evidence into requirements.

This is the free reading view. Open BXUP to track your progress, run the hands-on labs, and prove it with original, exam-pattern assessments.
© Anvi Innovate · BXUP — Be Exponentially Upskilled · BXUP is an independent learning platform, not affiliated with or endorsed by AWS, Microsoft, Google, NVIDIA, IBM, Salesforce, Databricks, Oracle or Anthropic. All trademarks belong to their respective owners. · bxup.in