PM-301f · Module 2

Sub-Prompt Independence

5 min read

Each sub-prompt should be fully self-contained — executable without relying on the consuming system to "know" context that is not in the prompt. This means: every sub-prompt includes the role specification, the relevant context, the specific task, and the output format. Nothing is inherited implicitly from a previous step. The context re-injection pattern is the mechanism for achieving this.

# Subtask S3: Risk Scoring

## Context [re-injected from upstream]
You are a contract risk analyst for Ryan Consulting.
Today's date: 2026-03-02
Contract: Service Agreement between Ryan Consulting and Apex Corp
Contract ID: CTR-2026-0047

## Inputs [from S2: Clause Analysis]
High-risk clauses identified:
- Clause 4.2: Unlimited liability provision (RISK: HIGH)
- Clause 7.1: IP assignment — all work product, including pre-existing IP (RISK: HIGH)
- Clause 11.3: 90-day payment terms (RISK: MEDIUM)

Clause count: 23 total, 3 flagged, 20 standard

## Task
Score the overall contract risk on a scale of 1-10, where:
1-3 = Standard terms, proceed normally
4-6 = Elevated risk, requires senior review before signing
7-9 = High risk, requires legal counsel review and redlining
10  = Unacceptable as written, do not proceed without major renegotiation

## Required Output [JSON]
{
  "risk_score": [1-10 integer],
  "risk_tier": ["standard" | "elevated" | "high" | "unacceptable"],
  "score_rationale": "[2-3 sentences]",
  "blocking_clauses": ["clause IDs that alone would prevent signing"],
  "requires_legal": [true | false]
}

Do This

  • Include the full role specification in every sub-prompt — do not assume it carries over
  • Re-inject all required context from previous steps explicitly
  • Include the output format specification in every sub-prompt
  • Test each sub-prompt independently to verify it produces correct output in isolation

Avoid This

  • Assume the model "knows" the role from the system prompt — re-state it per sub-task
  • Pass raw outputs from previous steps without structuring them as explicit context
  • Omit output format from later sub-prompts because "they should know by now"
  • Test the full pipeline without testing individual sub-prompts in isolation first